Format and validate JSON
Paste JSON and get it back indented and syntax-highlighted. If it is invalid, you get the parser's exact complaint and where it happened, which is the part you actually needed.
It tells you where it broke
Most of the time you are not here to make JSON pretty — you are here because something rejected it and you want to know why. So when the input does not parse, this reports the specific error (Syntax error, Control character error, Malformed UTF-8) rather than a generic "invalid JSON", and it does not silently repair anything.
Valid input is re-emitted with two-space indentation, slashes left unescaped and Unicode left as-is, so a URL stays readable and an accented name stays an accented name instead of becoming é.
The usual culprits
If it will not parse, it is almost always one of these — none of which are legal JSON, however normal they look in JavaScript:
- A trailing comma after the last element of an object or array.
- Single quotes around strings or keys. JSON requires double quotes.
- Unquoted keys — legal in a JavaScript object literal, not in JSON.
- Comments. JSON has none, whatever your editor lets you type.
-
NaN,Infinityorundefined— all JavaScript values with no JSON representation.
If the JSON is coming from a spreadsheet
A PasteSheet endpoint serves a Google Sheet as JSON that is valid by construction — you never hand-edit it, so it never develops a trailing comma. Convert a sheet to JSON to see the shape it produces.
Frequently asked questions
Why is my JSON invalid when it looks fine?
Usually a trailing comma, single quotes instead of double quotes, an unquoted key, or a comment. All four are perfectly normal JavaScript and none of them are legal JSON, which is exactly why they are so easy to miss when you are reading the file.
Does it change my data?
No. It re-indents valid JSON and returns it. Nothing is reordered, no keys are renamed, no values are coerced, and nothing is auto-repaired — if the input will not parse, you get the error rather than a guess at what you meant.
Is my JSON stored or logged?
No. It is parsed, formatted and returned. Nothing is written to a database, logged or shared. As with any online formatter, if the payload contains secrets or personal data, do not paste it in the first place.
Sources
Related tools
Free CSV to JSON Converter Online
Paste CSV and get formatted JSON back — one object per row, keyed by the header row. Quoted fields, embedded commas and newlines all handled. Free, no signup.
Free JSON to CSV Converter Online
Paste a JSON array of objects and get CSV back, header row built from the keys. Values holding commas or quotes are escaped properly. Free, no signup.
Free Google Sheets to JSON Converter
Paste a public Google Sheet URL and get clean, formatted JSON instantly. No signup, no API key, and no Google Cloud project. Copy it, download it, or go live.
Turn your sheet into an API in minutes
Paste a Google Sheet URL and get a live REST API and MCP server — no backend, no code, free to start.