Format, minify, validate, and convert JSON - free, no signup required.
1
Ln: 1Col: 1
1
Ln: 1Col: 1
JSON Full Form
JSON stands for JavaScript Object Notation. It is a lightweight, text-based, language-independent data interchange format derived from JavaScript, used to transmit structured data between servers and web applications.
What this tool does
Format / Beautify - Indent JSON with 2, 3, 4 spaces or tabs for readability.
Minify / Compact - Strip whitespace to reduce payload size.
Validate - Check syntax and pinpoint the offending line on error.
Convert - Transform JSON to XML, CSV, TSV, YAML, or plain text.
Tree View - Explore JSON as a collapsible tree.
When a JSON formatter helps
Most JSON you meet in real work was never meant to be read by a person. An API response copied from the browser's network tab, a webhook body in a log file, or a config value stored in a database usually arrives as one long line. Formatting it with consistent indentation shows the nesting at a glance, so you can find the field you need, spot a missing value, or compare two responses side by side.
How to use it
Paste JSON into the left pane, or use Upload Data for a file, Load URL for a public endpoint, or Sample to try the tool with example data.
Choose the indentation in the dropdown: 2, 3 or 4 spaces, a tab character, or Compact.
Click Format / Beautify to pretty-print, or Minify / Compact to put everything on one line.
Click Validate to check the syntax. On an error the output pane shows the line, the column and the parser message, and clicking that message moves the cursor to the problem.
Switch the output from Code to Tree to browse a large document, or open Convert JSON to for another format, then copy or download the result.
The JSON syntax rules that trip people up
JSON looks like a JavaScript object, but it is stricter. Keys and strings must use double quotes, never single quotes. A comma may not follow the last item of an object or array. Comments are not allowed at all. The only literal values are true, false and null, so undefined, NaN and Infinity are rejected. Numbers cannot have a leading zero (007) or a trailing dot (5.), and special characters inside strings need escapes such as \n, \" or é.
For example, {'name': 'Asha', "age": 31,} fails for two reasons: the single quotes and the trailing comma. The valid version is {"name": "Asha", "age": 31}.
What the converters and helpers produce
CSV and TSV work best on an array of objects. The header row is the union of every key, in the order first seen, and a nested object or array is written into its cell as JSON text.
XML wraps the data in a root element, repeats the parent key name for each array item, and replaces characters that are not allowed in tag names with underscores.
Plain Text prints one line per value with its full path, for example contact.email or features[0].
Sort keys orders object keys alphabetically at every level while leaving the order of array items alone.
Transform runs a JMESPath query with a live preview, for example people[?age > `30`].name to list the names of everyone older than 30.
Limits worth knowing
The tool parses with the browser's own JSON engine, so integers larger than 9,007,199,254,740,991 lose precision when they are formatted, and if an object repeats a key only the last value survives. Keep very large IDs as strings if every digit matters. Load URL asks your browser to fetch the address directly, so it only works for endpoints that allow cross-origin requests.
Privacy
Everything runs locally in your browser. Your JSON, uploaded files, and URL responses are never sent to our servers. When you use Load URL, the request goes from your browser straight to the address you typed.
Frequently Asked Questions
Is my JSON data sent to any server?
No. All formatting, validation, and conversion happens entirely in your browser using JavaScript. Your data never leaves your machine. The only exception is the Load URL feature, which fetches the URL you explicitly provide.
What is the difference between formatting and minifying JSON?
Formatting (pretty-printing) adds indentation and line breaks to make JSON easy to read. Minifying strips all unnecessary whitespace to produce the smallest possible string. Both operations preserve the exact semantic content.
Why is my JSON invalid?
The most common JSON errors are: single quotes instead of double quotes, trailing commas, unquoted keys, JavaScript comments, or undefined/NaN/Infinity values. Click Validate to see the exact line and column of the offending token.
How do I convert JSON to CSV, XML, or YAML?
Paste your JSON into the input pane, then click the Convert JSON to dropdown and pick your target format. The result appears in the output pane, which you can copy or download.
What is JMESPath and when should I use it?
JMESPath is a query language for JSON - think of it as XPath for JSON or jq in the browser. Use the Transform button to filter, sort, or reshape a large document. Visit jmespath.org for the interactive tutorial.
Is there a size limit for JSON I can paste?
There is no hard limit, but browser performance will degrade with very large payloads (several MB or more). For most real-world API responses the tool stays responsive.
By continuing, you agree to our
Terms of Use and
Privacy Policy,
and confirm you are at least 13 years old.
You're offline
Check your connection. This page will reload on its own the moment you're back online.
Trying to reconnect...
Choose an imageUpload a new picture, or pick one you have used before.
Drag a picture hereAdd a photo from your phone
JPG, PNG, WebP or GIF. Big photos are made smaller for you. You can also paste a picture. You can crop it next.
Uploading
That did not upload.
Drop to upload
Your pictures
No picture matches that name.
Crop imageDrag to reposition · zoom to crop, or fit the whole image