JSON to TypeScript Converter
Convert JSON to TypeScript interfaces and generate type definitions
JSON Input
TypeScript Output
What Is JSON to TypeScript?
TypeScript adds static types to JavaScript. When you work with JSON from an API or config file, you often want an interface or type that describes the structure. Writing it by hand is tedious. This tool infers TypeScript interfaces from your JSON: it looks at the keys and values and generates the corresponding type definitions.
Paste JSON, get TypeScript. The tool runs in your browser. Nothing is sent to a server. The output follows standard TypeScript syntax.
How to Use This Tool
Paste JSON
Paste your JSON into the left editor or upload a file. Use Sample for example data. The generator infers types from the structure. Use representative data that shows all the fields you care about.
Review the Interfaces
The right panel shows generated interfaces. Nested objects get their own interfaces. Arrays get typed as Type[]. Optional fields may use ? depending on the implementation.
Copy or Download
Use Copy or Download to get the TypeScript. Paste it into your project. You may need to adjust names, add generics, or fix optional fields. For validating the JSON first, use the JSON Validator.
Where JSON to TypeScript Helps
When integrating APIs, you often need types for the response payload. Pasting a sample response here gives you interfaces you can drop into your Angular, React, or Node project. Config files, webhook payloads, and database documents benefit from the same treatment. Manually writing interfaces for complex nested structures is error-prone; this tool infers the structure from your sample. For schema-based generation, use the JSON Schema Generator and tools like quicktype.
JSON to TypeScript Examples
Here is an example of generating TypeScript interfaces from a JSON object.
Example: Subscriber record
JSON input:
Generated TypeScript output:
Limitations
The generator infers from the sample. If a field can be string | number but your sample only has strings, the type will be string. If arrays can be empty, the element type might be unknown. Review and edit the output. For schema-based generation, use the JSON Schema Generator and a tool like quicktype.
Frequently Asked Questions
Are optional fields marked?
It depends on the implementation. Some generators mark all fields as required; others infer from the sample. Check the output and add ? where needed.
What about union types?
If the same key has different types in different objects, the generator might use string | number or a similar union. Or it might pick one type. Review the output.
Is my data sent anywhere?
No. Generation runs in your browser.
Can I generate types for other languages?
This tool outputs TypeScript only. The site has converters for C#, Java, Python, and others.
What about enums?
If a field has a fixed set of string values, the generator might produce a union type like "a" | "b" | "c". For explicit enums, edit the output.
Related Tools
For TypeScript, see typescriptlang.org and TypeScript objects. For JSON, see json.org and MDN JSON. For schema-to-code generation, see quicktype. For RFC 8259 (JSON spec).