Format JSON without leaking it
Pretty-print, minify, and get errors with line numbers — all in your tab.
Where do you think that payload goes?
The JSON people paste into formatters is rarely innocent: API responses with customer records, config files with secrets, webhook payloads with tokens. Most online formatters are served by businesses that could log every paste. This one parses with the browser's native JSON engine inside your tab — the honest architecture for a tool whose input is frequently confidential. Errors come back as line and column, and the byte count after minifying tells you what you actually saved.
Related text tools
Frequently asked questions
How do I format messy JSON?
Paste it, click Format — the tool parses it properly (not regex tricks) and pretty-prints with 2-space indentation. Minify does the reverse for payloads headed to production.
What happens when my JSON is invalid?
You get the error with a line and column number, not just "Unexpected token" — the usual suspects are trailing commas, single quotes and unquoted keys, all of which JSON forbids.
Is my JSON sent anywhere?
No — and for JSON that matters more than most formats: pasted payloads are usually API responses full of real user data, tokens and internal structure. Parsing happens in your tab; nothing is transmitted or stored.
Does it handle big files?
Parsing is native JSON.parse, so multi-megabyte payloads format in moments. Truly huge files are limited only by your machine’s memory.
Why did my number change slightly after formatting?
JavaScript numbers are 64-bit floats: integers beyond 2^53 and some decimals can’t round-trip exactly. If you handle IDs that large, keep them as strings in your API — a JSON formatter is where people usually discover this.