Format, minify and read JSON that arrived as one long line.
Paste JSON above and it is checked as you type.
Your JSON is parsed in this tab and never sent anywhere.
The JSON Formatter takes JSON that arrived as one unreadable line — an API response, a log entry, a config blob — and lays it out with consistent indentation so you can actually read it. The same tool minifies in the other direction.
It parses as you type, so the moment the document becomes valid you see the formatted version, and while it is broken you get the line and column of the problem rather than the word “invalid”.
Everything happens in this browser tab. That matters more here than on most tools: the JSON developers need to read is very often a production payload with real customer data or a token in it, and pasting that into someone else's server is a habit worth not having.
Responses come back minified. Formatting one is usually the fastest way to see the shape of the data and find the field you were actually looking for.
A missing comma or one trailing comma too many will fail a deploy with an unhelpful message. Paste the file here and the exact line and column comes back, usually with the cause.
Minifying strips every byte of whitespace, which matters for request bodies, embedded config, and anything that has to fit inside a size limit.
Formatting both with the same indent first makes a diff meaningful — otherwise you get one enormous changed line and no information.
Drop it into the left pane. It is parsed as you type — there is no button to press to start.
Valid documents appear formatted on the right. Broken ones get the line, the column, the surrounding text, and a likely cause where there is one.
Two spaces, four spaces or tabs. Switch to Minify to strip whitespace instead.
Copy puts the result on your clipboard; download saves it as a .json file. Your indent and style choice are remembered.
No. The parsing and formatting happen in this browser tab using the browser's own JSON parser. Nothing is transmitted, which is why the tool keeps working with the network off.
The three usual culprits are a trailing comma before a closing bracket, single quotes instead of double quotes, and unquoted property names. All three are legal in JavaScript and illegal in JSON, which is why they are easy to miss. The error message names them where it can tell.
No. Only whitespace changes. One thing worth knowing: keys keep their original order, but very large integers beyond JavaScript's safe range can lose precision on the way through any JSON parser, including this one.
Comfortably into the megabytes. Because the work is on your own device there is no upload limit, though a very large document will feel slower on an older phone.
Formatting has to parse the document, so it validates on the way past — if it formats, it is valid. The JSON Validator is the same engine pointed at explaining failures rather than producing output.
No. Comments and trailing commas are not part of the JSON specification, so a document containing them is reported as an error rather than quietly accepted.