JSON to Snake Case Converter
Paste JSON and convert every object key to snake_case recursively. Values stay unchanged, nested objects and arrays are preserved, and the result can be copied or downloaded as JSON.
JSON parsing and key conversion run locally in your browser.
Drop a .json file here or choose one from your device
Files are read only in your browser. Maximum file size: 5 MB.
{
"user_profile": {
"first_name": "Ada",
"created_at": "2026-09-12"
}
}Parsing, file reading, formatting, and key conversion run locally in your browser. JSON input is not sent to a conversion server.
Example
Before
{
"userProfile": {"firstName": "Ada", "lastLoginAt": "2026-09-12"}
}After
{
"user_profile": {"first_name": "Ada", "last_login_at": "2026-09-12"}
}What gets converted
Object keys are converted recursively through nested objects and arrays. String, number, boolean, null, and array values are preserved. If two source keys would become the same key after conversion, the tool stops instead of silently overwriting data.
- camelCase, PascalCase, kebab-case, and mixed key names are tokenized before snake_case formatting.
- Words are lowercased and joined with underscores in the output key.
- Nested object keys and object keys inside arrays are converted recursively.
- Key collisions are detected before output so one converted property cannot silently overwrite another.
Common use cases
Prepare camelCase frontend payloads for Python, SQL, or backend systems that use snake_case fields.
Normalize API request bodies before mapping them to database columns or server-side models.
Convert fixture, mock, or configuration JSON when a downstream tool expects underscore-separated keys.
Test a naming transformation quickly before adding equivalent serialization logic to application code.