Convert a JSON sample into TypeScript interface definitions instantly, entirely in your browser.
Paste any valid JSON into the left panel. TypeScript interfaces are generated immediately in the right panel.
Root).? modifier (e.g. name?: string).interface, named after the parent key in PascalCase.s from the key (e.g. Users → User); if the name has no trailing s, Item is appended (e.g. Root → RootItem).(string | number)[].unknown[].type alias for the root name (e.g. type Users = User[];). When the root is a primitive array, only the type alias is emitted.Root2, Root3, …).Every change is written to the URL as a ?v= parameter. Share or bookmark the URL to restore the full state.