JSON Tools

Format / Validate / Convert · 14 tools

JSON work is mostly four jobs: making it readable, making it valid, comparing two versions, and converting it into whatever the next system wants. The formatter handles the first two — it parses, reports the syntax error with a position, and re-emits the document with consistent indentation. Minify does the reverse for transport.

The converters cover the awkward edges of real projects: XML from legacy services, CSV for spreadsheets, YAML for configuration, cookie headers and query strings from browser devtools, and type definitions when you need the API response to be checked at compile time.

Which one do I need?

All tools in this category

JSON Formatter / Minifier / ValidatorHOT Beautify or minify JSON; validation errors show the exact position JSON Escape / Unescape Convert text to an escaped form safe to embed in code strings, or revert it JSON Diff Compare two JSON snippets; list added, removed and changed key paths Sort JSON Keys Recursively sort all object key names in alphabetical order JSON ⇄ String Convert between doubly-escaped strings and JSON JSON ⇄ XML Convert a JSON object into structurally equivalent XML XML ⇄ JSON Convert XML to JSON with the browser built-in parser JSON to CSV Export an array of objects to CSV, with a selectable delimiter CSV to JSON Parse CSV into an array of objects, with optional header row JSON ⇄ YAMLNEW Convert JSON to YAML and YAML to JSON; a hand-written parser covers common structures JSON to CodeNEW Generate TS / Go / Java / C# / PHP type definitions from a sample JSON Query Params ⇄ JSON Convert between a URL query string and a JSON object Cookie ⇄ JSON Parse a Cookie string into JSON, or join it back JSON ⇄ Properties Convert between JSON and Java Properties style key-value files

Guides in this category

FAQ

Why does JSON not allow comments or trailing commas?

The specification defines exactly one grammar, and both are outside it. Comments were deliberately excluded so any conforming parser can consume any JSON document. JSON5 and JSONC extend the grammar for configuration files, but a strict parser will reject their output.

Why did my large integer come back wrong?

JavaScript numbers are IEEE-754 doubles, so integers above 2^53 - 1 cannot all be represented. Snowflake IDs, Discord IDs and nanosecond timestamps silently lose their last digits. Keep such values as strings in the JSON, or parse with a big-number-aware library.

Why does JSON to CSV show [object Object]?

CSV has rows and columns, with no way to express nesting. When a value is itself an object or array, the converter falls back to its default string form. Flatten the structure first, or serialize the nested value into its own column as a JSON string.