JSON Formatter and Validator
Paste JSON, get it pretty-printed or minified. Validates syntax, highlights errors, works entirely in your browser.
Privacy: Everything runs in your browser. Your JSON is never uploaded or logged.
Nothing about your JSON leaves your browser. Bookmarkable link updates as you type (input truncated in URL over 2 KB).
What it does
Takes a blob of JSON — minified, messy, or perfectly formatted — and hands it back the way you want it. Pretty-print with 2- or 4-space indent, or minify to a single line. Invalid JSON is flagged with the parser’s own error message so you can see exactly which character tripped it up.
How it works
The tool parses your input with the browser’s native
JSON.parse
and re-serializes with
JSON.stringify.
Both are part of the ECMAScript specification and follow
RFC 8259. No network round
trip, no server involved.
Your input is echoed into the URL query string (up to 2 KB) so you can bookmark or share the current state. If you paste larger inputs, the URL truncates and only the local textarea retains the full content.
When to reach for it
- You have a minified API response and you want to eyeball the structure.
- You are pasting a config into a template and need consistent indentation.
- Your log line is a JSON string and you want to see the shape of the object before writing a parser.
- You suspect a JSON payload is malformed and you want the exact position of the error.
Related tools
- YAML ↔ JSON converter when the config is on the other side.
- Base64 encoder/decoder when the JSON is wrapped inside a Base64 blob.
- URL encoder/decoder when the JSON is stuffed in a query string.
Read the paired guide: The YAML + JSON reference for people who read config files all day.
Frequently asked questions
Does my JSON leave my browser?+
JSON.parse and JSON.stringify. Nothing is sent to a server. Your input is echoed only to the URL query string (up to 2 KB) so you can bookmark or share your work.Why is my output missing keys or in a different order?+
Which JSON dialect does this accept?+
Can I paste a very large file?+
How do I minify a file for a production build?+
JSON.stringify(obj) in a Node.js script — it produces byte-identical output.Related tools
YAML ↔ JSON Converter
Convert YAML to JSON and back in your browser. Resolves anchors and merge keys, handles multi-document files, and lets you pick the output indent.
Base64 Encoder/Decoder
Encode and decode Base64 in your browser, with correct UTF-8 handling, a URL-safe alphabet toggle, and file mode for binary payloads.
URL Encoder/Decoder
Percent-encode and decode URLs with the right rules: component, full-URI, or form encoding, plus a query string parser and builder.
→ Read the full guide:How this tool actually works