Recover broken JSON — repaired, explained, and never uploaded.

LLM output cut off mid-stream. A webhook payload with single quotes and trailing commas. An NDJSON export where forty lines out of ten thousand are destroyed. Paste it here: every fix is listed, every change is deterministic, and your payload never leaves your browser.

JSON Repair — with a report of every fix

Processed in your browser (in a background worker, so big pastes don't freeze the page). Nothing is uploaded — check your browser's network tab if you'd like to verify.

The four tools

JSON Repair

Repair broken JSON and get a report of every change — location, rule, before and after.

NDJSON Salvage

Line-by-line salvage: valid lines pass through, broken lines are repaired, hopeless lines are quarantined with their line numbers.

Fix Truncated JSON

Recover the largest complete prefix of a cut-off document — honestly closed, with nothing invented.

MCP server.json Validator

Validate and generate server.json against the official MCP schema (version 2025-12-11), plus a pre-publish checklist.

Why "explained" matters

A silent fix is a liability: when a tool quietly changes your data, the bug moves downstream and gets weirder. JSONSalvage shows its work. The Repair Report lists every change with its line, column, JSON path, the plain-language rule that was applied, and a before/after snippet — and it is downloadable, so the report can travel with the fixed file into a ticket, a pull request, or an incident log. When a deterministic repair is impossible, the tool fails honestly and says why, instead of guessing.

Two protections are built in: duplicate keys are preserved and flagged, never silently dropped; and numbers keep their exact source text, so a 30-digit ID is never rounded by a round-trip through a floating-point double.

Guides for the errors you actually hit

"Unexpected end of JSON input"

What it means, why it happens, and the fix — with the working tool on the same page.

"Unexpected token" is not valid JSON

What it means, why it happens, and the fix — with the working tool on the same page.

Why LLM JSON breaks

What it means, why it happens, and the fix — with the working tool on the same page.

Fix JSON from ChatGPT

What it means, why it happens, and the fix — with the working tool on the same page.

Trailing commas & single quotes

What it means, why it happens, and the fix — with the working tool on the same page.

NDJSON vs JSONL — and salvaging broken lines

What it means, why it happens, and the fix — with the working tool on the same page.

JSON parse errors in n8n / Make

What it means, why it happens, and the fix — with the working tool on the same page.

JSON file too large to open

What it means, why it happens, and the fix — with the working tool on the same page.

server.json vs mcp.json

What it means, why it happens, and the fix — with the working tool on the same page.

How deterministic repair works

What it means, why it happens, and the fix — with the working tool on the same page.

Frequently asked questions

Is my JSON uploaded to a server?

No. Every tool on this site runs entirely in your browser — the repair work happens in a background worker on your own device. You can verify it: open your browser's network tab, paste the most sensitive payload you have, and watch nothing leave. There is no account, no credits, and no per-run charge.

How is this different from a JSON formatter?

Formatters assume your JSON is almost fine and tidy it silently. This site is for JSON that is actually broken — truncated LLM output, single quotes, trailing commas, prose wrapped around the payload, files with some lines destroyed. Every fix is listed in a Repair Report with its location and the rule applied, so you can see exactly what changed and why.

What is the file size limit?

There is no artificial cap and no paywall tier. Processing runs on your device, so the practical limit is your device's memory — the tools are designed for pastes up to roughly 10 MB and files up to roughly 25 MB on ordinary hardware. If a worker run ever runs out of memory, the tool tells you and suggests splitting the input or using the line-by-line NDJSON tool instead of failing silently.

Does the repair use AI?

No — and that is deliberate. The engine is a deterministic rule pipeline: the same input always produces the same output and the same report. Nothing is sent to a model, nothing is guessed probabilistically, and when a repair cannot be made deterministically the tool says so instead of inventing data.