JSON to TypeScript

Generate TypeScript interfaces from any JSON object automatically. Handles nested objects and arrays. Free, no signup.

Preparing private browser tool…

Your file will stay on this device.

Frequently asked questions

Arrays of objects?
Merges keys from all elements into a single interface, emitted as ItemName[]. Mixed primitives become union types.
Optional fields?
Not detected. Current version assumes all keys required. Mark optional manually after generation.
Nested interfaces?
Yes. Each nested object becomes its own exported interface.
Can I rename the generated interfaces?
The root name is yours to set. Nested interfaces are named from their key in PascalCase, singularised for arrays so items becomes Item, with a numeric suffix if two names collide.
What happens to keys that are not valid identifiers?
A key with a dash, a space, or a leading digit is emitted as a quoted property so the interface still compiles.