Free Online JSON to TypeScript Generator
Stop hand-writing interfaces for API responses. Paste JSON and get TypeScript interfaces with nested objects split into separate types and array element shapes inferred automatically.
Name your root interface, copy the output into your project, and use it with fetch or your HTTP client for full type safety. Everything runs client-side in your browser.
Frequently Asked Questions
What TypeScript types are generated?
Primitive JSON values map to string, number, boolean, and null. Arrays become Type[] with the element type inferred from the first item. Objects become interfaces with named properties. Nested objects generate separate interface definitions.
How are optional fields handled?
Properties present in the sample JSON are included as required fields. If you need optional fields, add them to your sample JSON with null values, or manually add ? to the generated interface properties.
Can I name the root interface?
Yes. Set a custom root interface name before generating. Nested interfaces are named automatically based on property names (e.g., Address for an address object).
Does this handle union types?
The generator infers types from a single sample. If a field can be string or number, provide samples that include both variants, or manually adjust the generated type to a union (string | number).
Is the output compatible with strict TypeScript?
Yes. Generated interfaces use standard TypeScript syntax compatible with strict mode. Review nullable fields - JSON null maps to null in the type, not undefined. Adjust to field?: Type | null if needed.