LLM JSON repairer
Paste model output that is almost JSON and get back a document that parses, with every character that changed listed line by line. Nothing is repaired quietly.
Your input is processed in this browser. It is not uploaded. A file or pasted rows go nowhere. A URL is fetched by your browser directly from the address you give it. Sharing creates a link containing the data you choose to include.
This link will contain
Anyone with the link can read this. Compression is not encryption.
What it does
A model asked for JSON returns something close to it: a code fence around the answer, a sentence before the brace, a trailing comma, single quotes, a comment, a Python literal, or a file that simply stops. This page makes it parse and then tells you exactly what it did, line by line, because the account is the part you need in order to decide whether the repair is safe to use.
The repairs that cost you something
Most of the list is punctuation and costs nothing. Two are different. A key that appears twice loses a value, and nothing in the output would tell you it was ever there, so this page names the key and shows the value it dropped. NaN, Infinity and -Infinity have no JSON form at all and become null, which means all three end up looking the same, so the note names the exact token that was replaced.
When the file stops in the middle
A truncated document is closed so that it parses, and every character added to close it is named as one this page wrote rather than one the model produced. Anything that was cut off mid-value is dropped and shown to you as it arrived, never completed. Completing it would mean inventing the half that was never written.
What it does not do
It does not tell you the data is correct. It repairs syntax, and a document that parses can still say the wrong thing. It also repairs one document per paste: if you paste JSON Lines it will repair the first and tell you how many it left alone, because joining them would change what the file is.