Inference rulesNested objects split into separate types; arrays are typed automatically; optional/nullable fields detected; mixed types form unions; null / empty arrays fall back to sane types; identical shapes are deduped and name clashes disambiguated.Max input size: TBD (placeholder)
Sample JSONJSON
Paste or type JSON
GeneratedTypeScript
Paste or type JSON
JSON → interface · Local · No upload

JSON to TypeScript Interface Generator

Sample JSON → interface · Nested types · Optional fields · Union types

🔒Processed locally in your browser — never uploaded or stored

No upload, no storage

JSON is processed in memory and never sent to a server.

Share via URL fragment

Share links encode data in the # anchor — never sent to a server.

Remember last edit

Optionally keep your last input locally; clear it with one click.

Generate Interfaces from JSON|Nested Types & Optional Fields|Arrays & Union Types|Runs Locally — No Upload

Generate Interfaces

Nested objects split into separate, reusable interfaces.

Optional / Nullable

Missing fields get ?, nullable values fold into | null.

Arrays & Unions

Arrays typed automatically; mixed types become a union (A | B).

Ready for React / Node

Paste export interface straight into React, Node, Angular.

Runs Locally — No Upload

Generation runs in your browser; data is never uploaded.