How to use
- Paste a JSON object into the left panel.
- Set the root interface name and choose interface or type alias.
- Toggle readonly or null-to-optional as needed.
- Copy the generated TypeScript definitions from the right panel — conversion runs entirely in your browser.
Examples
- Pasting {"id":1,"tags":["dev"],"address":{"city":"Seoul"}} with root name Root produces a Root interface with nested Address interface inferred automatically.
- Enabling "null → optional" changes fields whose value is null from `field: null` to `field?: unknown`.