A minified API response is 40,000 characters on one line and your editor just froze. JsonShift formats, minifies, and validates JSON in the browser so the payload never uploads to a 'beautifier' that keeps a copy. Use it to inspect a webhook, to tidy a config before commit, to see why a parser spat unexpected token. Do not use it as a JSON database, a schema migrator, or a place to paste production secrets 'just to pretty-print.' Invalid JSON fails loudly. That is the feature. Trailing commas from a JS file are not JSON. The tool will not pretend they are.
Paste or drop a .json file. Pretty-print with indentation you can actually read. Minify when a config must be one line. Validation reports the parse error position, which is more useful than a red box. Duplicate keys: JSON.parse keeps one of them; do not expect a linter-grade duplicate warning unless the UI adds one. Comments are not legal JSON; JSONC belongs in another tool.
When not to use it: 200 MB GeoJSON (the tab will die), streaming NDJSON logs (this is one document), and YAML that you hoped was JSON (YamlShift). Also skip production access tokens; pretty-print a redacted sample. Large numbers beyond JS safe integers will round if the implementation uses JSON.parse. IDs that look like numbers should stay strings in the source of truth.
Privacy is local. A webhook with PII does not need to visit a public beautifier. After you format, copy back to the editor. DiffShift is next if you needed to compare two payloads. JwtShift if the 'JSON' was three base64 segments. Large integer IDs should stay strings in the source of truth if they exceed JS safe integers.
A Stripe-like webhook dump, minified, 18 KB. JsonShift pretty-prints. You see customer.email on line 47 and a nested items array of three. A trailing comma from a hand-edited fixture fails parse at position 1203; you remove the comma. You do not paste a live secret key into the box. The payload never left the machine. A trailing comma at position 1203 is a fixture bug, not a reason to upload a webhook to a beautifier.
JsonShift parses in the browser. Payloads stay on the device. That only helps if you do not then paste production secrets into a ticket. Redact, format, close the tab. Pretty-print a redacted sample; production secrets do not become safer when they are indented.
Full policy: Shift Privacy Policy. Questions: [email protected].
JSON numbers become IEEE floats in typical JS parsers. Keep IDs as strings if they exceed a safe integer. The tool is showing you the language's honesty. IEEE floats in typical JS parsers will round big IDs; that honesty is the bug report, not a silent corruption.
Not as strict JSON. Strip comments or use a JSONC-aware editor. JsonShift's job is RFC 8259-ish JSON. Strip comments or use a JSONC editor; this booth will not pretend a comment is legal JSON.
Pick one style and enforce it in CI. Pretty-print for humans. Minify only when a size cap or a single-line env var demands it. Pick pretty or minify and enforce it in CI so git diffs stop being whitespace wars.
For configs humans edit, sometimes. Convert with YamlShift. Do not mix the two in one file and hope. Convert with YamlShift when humans edit YAML; do not mix the two syntaxes in one file and hope.
Related tools: YamlShift · JwtShift · DiffShift
Guides · All Shift tools · About · Contact