JSON to TypeScript
Generate strongly typed TypeScript interfaces and type aliases from sample JSON documents instantly. · Updated
Generating TypeScript interfaces from JSON samples speeds API client work without sending production payloads to a remote codegen service.
Common errors and fixes
Unexpected token
Input must be valid JSON. Format and fix syntax errors first.
Cannot infer interface from primitive
Paste an object or array of objects, not a bare string or number.
Mixed array types
Heterogeneous arrays become unions; normalize samples for cleaner interfaces.
Empty object
Provide sample fields so property types can be inferred.
Options
| Option | Description |
|---|---|
| Root Type Name | The name assigned to the top-level TypeScript interface or type alias. |
| Declaration Style | Choose whether to declare TypeScript types as `interface` or `type` aliases. |
| Make all fields optional (?) | Appends `?` to all property keys to model partial API responses. |
FAQ
How does JSON to TypeScript handle nested objects?
Nested objects are extracted into separate, strongly typed child interfaces with clean PascalCase naming.
Can I generate `type` aliases instead of `interface` declarations?
Yes. Switch the Declaration Style option to 'type Root = {...}' in the options panel.
How are JSON arrays typed?
Array element types are inferred. If an array contains multiple primitive types, union types (e.g. `(string | number)[]`) are generated.
Can I make all generated fields optional?
Yes. Check 'Make all fields optional (?)' in the options panel to append `?` modifiers.