Type inference
Guesses string / number / boolean / array / object from values. Nested objects become separate types, reducing any.
Empty arrays, null, and mixed shapes in the same array need a human check.
You can also load data via #data={"name":"Ada"} or #url=... It is cleared from the address bar after it is read.
Paste a sample JSON document, infer the nested structure, and generate types or entity classes for TypeScript, Go, Java, and more. Fits a “API first, models later” flow. Switch languages in the workbench dropdown; the same data is regenerated.
Guesses string / number / boolean / array / object from values. Nested objects become separate types, reducing any.
Empty arrays, null, and mixed shapes in the same array need a human check.
Deep objects usually become separate types instead of collapsing to any. Treat the output as scaffolding, then rename to match team conventions.
Twenty languages cover common backends and clients, so you do not need a different site for each language.
Confirm null and mixed-type arrays in the output. Dates, money, and enums cannot be known precisely from one example.
Generated code is not sent to a server.
{
"id": 1,
"title": "hello",
"tags": ["json", "tools"]
}
interface Root {
id: number
title: string
tags: string[]
}
TypeScript, Java, Go, Python, C#, Rust, Kotlin, Swift, and 20 in total. Switch them in the workbench.
No. Inference and template expansion run in the browser.
Treat it as a draft. You still add validation, serialization annotations, optional fields, and team naming.
Names are converted to identifiers the target language can use. Rename keyword collisions by hand.
The generator does not know “this number is money.” People still add product meaning. Do not treat the draft as a contract.