JSON to Java record
Paste JSON and get a Java 16+ record — immutable, concise, with accessors auto-generated by the compiler. Nested objects become their own records.
JSON in, Java record out
Paste a typical JSON payload and the tool emits idiomatic Java record types — nested objects each become their own type.
{
"id": 1,
"name": "Alice",
"isActive": true
}Generated Java record appears here.
What you'll use this for
Skip the boilerplate. Whenever you have an example JSON payload and need typed code on the other side, paste and generate.
API client models
Generate DTOs for a third-party REST API from a sample response.
Database row types
Model JSON columns or document-store records as native Java record types.
Mobile + backend parity
Keep client and server types in sync — both generated from the same JSON.
Fixtures and tests
Turn fixture JSON into typed code for unit tests and integration mocks.
How to convert JSON to Java record
Paste your JSON
Drop a valid JSON object into the left editor. Arrays at the root work too — the first element is sampled.
Pick a class name
Default is Root. Use anything PascalCase that fits your domain.
Click Generate
Or leave auto-generate on for live updates as you edit JSON. Runs entirely in your browser.
Copy or download
Copy to clipboard or save as a .java file ready to drop into your project.
Frequently asked questions
Records are a standard feature since Java 16 (preview in 14/15). Use this for modern codebases.
Yes. Records are inherently immutable — all components are final and accessors are auto-generated.
Yes. Each nested JSON object becomes its own record with PascalCase naming.
Yes. Completely free, no signup, no limits. Runs entirely in your browser.
About JSON to Java record
This tool converts a sample JSON payload into idiomatic Java record code. Every nested object is recursively turned into its own type with PascalCase naming, while keys are converted to the conventional case for the language.
Type inference
- Strings stay strings.
- Integers use the language's widest safe integer type (e.g.
long,Int,i64). - Decimals become double-precision floats.
- Arrays become a generic list keyed off the first element's type.
- Booleans map to the native boolean type.
- Nested objects recurse into their own type definitions.
Privacy
- All conversion happens locally in your browser.
- No JSON ever leaves your device.
- No signup, no tracking of payloads.