JSON tools
JSON Formatter
Paste minified or messy JSON and get clean, indented output. Validation runs as you type. Save the result to a sharable URL with one click — free and entirely in your browser.
{
"hello": "world",
"items": [
1,
2,
3
]
}How it works
The formatter parses your input with the standard JavaScript JSON parser, which checks syntax exactly per the JSON specification (RFC 8259). If the parser is happy, the value is re-serialised with two-space indentation. If it isn't, you'll see exactly which character it choked on.
Everything happens locally — your JSON does not touch our server unless you click Save & share, which intentionally creates a stored blob you can hand to a teammate.
Frequently asked questions
- Is the JSON formatter free?
- Yes. The tool runs entirely in your browser. No sign-up, no fee, no rate limit on formatting.
- Does it send my JSON to a server?
- No. Formatting happens locally in your browser. Your JSON only leaves the page if you click "Save & share" to store it as a public blob.
- What indent style does it use?
- Two-space indentation, the most widely-used JSON convention (used by npm, GitHub, and most public APIs). The output preserves key order and exact value types.
- Why does it say my JSON is invalid?
- The most common causes are trailing commas (not allowed in standard JSON), single quotes around strings or keys (use double quotes), and unquoted keys. The error message points at the position in the input.
- Can I save the formatted JSON to share with someone?
- Yes. Click "Save & share" and the JSON is stored at a public URL on superjsonblob with version history. Anyone with the URL can read it; only you (signed in) can edit it.
- How big can the JSON be?
- The formatter handles input up to several megabytes comfortably. For very large payloads (>10 MB), open the JSON in our full editor instead, which uses Monaco for performance.
Related tools
- JSON Validator — verify syntax with detailed errors.
- JSON Minifier — strip whitespace for transport.
- JSON Diff — compare two JSON values semantically.
Need to keep multiple revisions of the same JSON? superjsonblob stores every PUT as a new version, with diff between any two — jsonblob with version history.