Paste messy API responses, config dumps, or hand-written JSON and get readable, validated output instantly. This formatter pretty-prints with consistent two-space indentation, minifies for transport, and surfaces syntax errors with the exact line and column so you can fix them without hunting through a wall of text. Everything runs locally in your browser — your payload never hits a server.
Drop any JSON string into the input panel — pretty, minified, or broken. You can also start from the sample payload to explore the controls.
Click Format to pretty-print with two-space indentation, or Minify to collapse whitespace for smaller payloads and network traces.
Valid JSON shows a cyan status with byte and key counts. Invalid JSON shows a red message with the approximate line and column of the first parse error.
Use Copy to put the formatted or minified output on your clipboard. Clear resets both panels when you are done.
Paste a one-line response from curl, Postman, or browser DevTools and format it so nested objects and arrays are scannable.
Normalize package.json snippets, VS Code settings, or Terraform JSON so diffs stay readable and consistent across the team.
Minify pretty-printed fixtures before pasting into environment variables, query strings, or size-sensitive log fields.
When a deploy fails on “Unexpected token,” paste the file here to get a line/column instead of guessing which brace is wrong.
No. Parsing, formatting, and validation all happen in your browser with the native JSON.parse / JSON.stringify APIs. Nothing is uploaded, logged, or stored remotely.
Common culprits are trailing commas, single-quoted strings, unquoted keys, comments (// or /* */), and NaN/Infinity — none of which are valid in strict JSON. The error line/column points at the first character the parser rejected.
Yes. Native JSON handles unicode escapes and code points correctly. Very large integers may lose precision in JavaScript Number (IEEE-754), same as any browser console — if exact integer fidelity matters, keep those values as strings.
Format inserts newlines and two-space indentation so humans can read nested structures. Minify removes insignificant whitespace so the same document is smaller for APIs, logs, or embedding in another string.
JSON.parse keeps the last value for duplicate keys and does not throw. This tool reports structural parse errors; it does not flag duplicate keys as invalid, matching how most runtimes behave.
{
"name": "Prism",
"version": 1,
"features": [
"format",
"minify",
"validate"
],
"meta": {
"private": true,
"runtime": "browser"
}
}