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
GeneratedPython
Paste or type JSON
JSON → dataclass · Local · No upload

JSON to Python Dataclass Generator

Sample JSON → dataclass · Type hints · snake_case · Optional fields

🔒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.

Dataclass / Pydantic / TypedDict|Type Hints & snake_case|Runs Locally

Generate Dataclasses

Nested objects split into separate dataclasses.

Type Hints

Full str/int/float/bool/List/Optional annotations.

snake_case Naming

Field names converted to idiomatic snake_case.

Optional defaults None

Optional/nullable fields use Optional[...] = None.

Runs Locally — No Upload

Generation runs in your browser; data is never uploaded.