Monu Tools

JSON to TypeScript

Generate TypeScript interfaces from a JSON sample, with nested types, arrays and optional fields. Runs in your browser.

How to use the JSON to TS

  1. 01

    Paste a JSON object or array.

  2. 02

    Optionally set the root interface name.

  3. 03

    Copy the generated TypeScript interfaces.

What the generator does

This is a JSON to TypeScript generator that infers a set of interfaces from an example JSON object or array, so you can paste an API response and get ready-to-use types instead of writing them by hand.

It is a big time-saver when you are consuming an API or a config file: paste a response, optionally name the root interface, and copy clean TypeScript straight into your code.

Generation runs entirely in your browser, so your data never leaves your device, which matters when the sample contains real values.

How it handles real-world shapes

It handles real-world shapes: nested objects become their own named interfaces referenced from the parent, arrays of objects are merged into one interface, and union types are produced where values vary.

Optional fields across mixed arrays

When the objects in an array do not all have the same keys, the keys missing from some elements are marked optional with a question mark, which matches how the data actually behaves and keeps the types honest.

It infers, it does not enforce a schema

One important point: it infers a shape from the single sample you give it, rather than enforcing a schema. If a field is sometimes null or absent in real data but not in your sample, the generated type will not know that, so use a representative example.

Frequently asked questions

How are nested objects handled?

Each nested object becomes its own named interface, referenced from its parent, so the result is clean and reusable.

What about arrays with different shapes?

Arrays of objects are merged into one interface, and keys missing from some elements are marked optional. Arrays of mixed primitives become a union element type.

Is my JSON uploaded anywhere?

No. The types are generated entirely in your browser, so your data never leaves your device.

Does it enforce a schema or infer one?

It infers the shape from the sample you paste, it does not validate against a schema. Use a representative example so optional or nullable fields are captured.

Which types does it produce?

string, number, boolean and null primitives, nested interfaces for objects, typed arrays, optional properties for keys that are not always present, and unions for mixed values.

Sources

Embed this tool

Add this tool to your own website. Copy the snippet below; it stays up to date automatically.

<iframe src="https://monu.tools/embed/en/json-to-typescript" width="100%" height="640" style="border:1px solid #e5e5e5;border-radius:12px;max-width:680px" loading="lazy" title="Monu Tools"></iframe>

Learn more

Related tools