How it works
How to use the JSON to Python
Paste JSON
Paste a JSON object or array — for example an API response — or open a file.
Tune the output
Set the root type name and language-specific options. Nested objects get their own types named after their keys.
Use the Python code
Load with json.loads() and pass the dict to the model, e.g. Order(**data) or Order.model_validate(data) with Pydantic.
How the Python code is generated
The JSON is analysed value by value. Objects inside the same array are merged, so a property that appears only in some items becomes optional, values that are sometimes null become nullable, and identical nested shapes share a single type. Names are converted to Python conventions, with serialization annotations wherever the original key differs.
Usage: Load with json.loads() and pass the dict to the model, e.g. Order(**data) or Order.model_validate(data) with Pydantic.
Built for developers
Why developers use it
Private by design
Runs 100% in your browser. Nothing you paste is uploaded, logged or stored on a server.
Instant results
Output updates as you type, with precise error locations when something is wrong.
Works offline
Once loaded, the tool keeps working without a connection. Install it as an app if you like.
Free, no sign-up
No accounts, no limits, no watermarks.
FAQ
Frequently asked questions
How are optional and nullable fields detected?
A property that is missing from some objects in an array is optional; a property that is null in the sample is nullable. The more representative your sample, the more accurate the types.
What happens with mixed types?
Values with different types in different samples become a union where Python supports it, or the language's generic "any JSON value" type otherwise.
Is my data uploaded anywhere?
No. Everything runs locally in your browser — nothing you paste or open is sent to a server, logged or stored. The tool keeps working offline once the page has loaded.
Keep going
Related tools
- JSON ↔ TypeScriptGenerate TypeScript interfaces from JSON (and back)
- JSON Schema GeneratorInfer a JSON Schema from sample JSON
- JSON to GoGenerate Go classes from JSON
- JSON ↔ JavaGenerate Java POJOs, Lombok classes or records from JSON
- JSON ↔ C#Generate C# classes or records from JSON (and back)
- JSON to RustGenerate Rust classes from JSON
- JSON FormatterFormat, validate and explore JSON
- JSON ValidatorFind and fix JSON syntax errors