JSON Error Messages, Decoded
By Santhi · Messages captured October 9, 2026 · How we test
The same broken JSON gets a different error message in every browser and language, and most of them never say what is actually wrong. We ran 18 broken inputs through 11 real parsers and wrote down every message. Paste yours below to find out what it means.
Or paste the JSON that failed. It is checked in your browser and not sent anywhere.
Errors explained
- Unexpected token '<': your code got an HTML page, not JSON5 different messages across 11 runtimes, for example:
Unexpected token '<', "<!DOCTYPE "... is not valid JSON - Unexpected end of JSON input: an empty or cut-off body4 different messages across 11 runtimes, for example:
Unexpected end of JSON input - Trailing comma in JSON: "Expected double-quoted property name"7 different messages across 11 runtimes, for example:
Expected double-quoted property name in JSON at position 26 (line 1 column 27) - Single quotes in JSON: "Expected property name or '}'"6 different messages across 11 runtimes, for example:
Expected property name or '}' in JSON at position 1 (line 1 column 2) - "[object Object]" is not valid JSON5 different messages across 11 runtimes, for example:
"[object Object]" is not valid JSON - Extra data: two JSON documents where one was expected6 different messages across 11 runtimes, for example:
Unexpected non-whitespace character after JSON at position 9 (line 2 column 1) - "undefined" is not valid JSON: JSON.parse was given undefined5 different messages across 11 runtimes, for example:
"undefined" is not valid JSON - Unquoted keys in JSON: {name: "Ada"} is JavaScript, not JSON6 different messages across 11 runtimes, for example:
Expected property name or '}' in JSON at position 1 (line 1 column 2)
Runtimes we capture
Every message on these pages was printed by one of these, on October 9, 2026. Nothing is typed by hand.
The method is on How we test, and every message is free to download as JSON or CSV from json-error-messages on GitHub. To fix broken JSON directly, use JSON Repair.
| Runtime | Parser | Version |
|---|---|---|
| Chrome 151 | V8 | 151.0.7922.34 |
| Firefox 153 | SpiderMonkey | 153.0 |
| Safari 26 (WebKit) | JavaScriptCore | 26.5 |
| Node 24 | V8 | 24.21.0 |
| Node 22 | V8 | 22.23.3 |
| Node 20 | V8 | 20.20.2 |
| Node 18 | V8 | 18.20.8 |
| Bun | JavaScriptCore | 1.4.2 |
| Python 3.13 | CPython json | 3.13.16 |
| Python 3.12 | CPython json | 3.12.15 |
| Python 3.10 | CPython json | 3.10.22 |