JSON Validator
Validate, format and fix JSON, with errors in plain words, a searchable tree and JSONPath queries. Everything runs in your browser.
Valid JSON
- 16 keys
- 4 array items
- 3 levels
- 318 B 242 B minified
Runs in your browser: nothing you paste is uploaded. Your inputs are kept in a history in this browser only (never backed up or synced); pause or clear it from the status bar.
How this works: Method, 1 source,
How this works
Method
A hand-written scanner accepts exactly what JSON.parse accepts (RFC 8259) and names the first error with its line and column; it also flags integers past 2^53 and duplicate keys, which JSON.parse would silently change. Fix it repairs common breakages (trailing or missing commas, comments, single quotes, unquoted keys, NaN, Python True/False/None) and never guesses a missing bracket.
Sources
- RFC 8259, The JavaScript Object Notation (JSON) Data Interchange Format (IETF)
Privacy
On your device. Nothing you enter or open leaves this browser. About privacy labels
Changes
- The history now keeps your last 200 inputs (up to 100 MB) in this browser, up from 50.
- Rebuilt: errors in plain words with line and column, a one-click fix with a preview, a searchable tree with JSONPath queries, a private local history, and 10–50 MB files.
- Format and minify now keep big integers and duplicate keys exactly as written, with a warning when they appear.
- Added a tree view of the parsed JSON.
- First published.
Frequently Asked Questions
What is JSON and why do I need to validate it?
JSON (JavaScript Object Notation) is a lightweight text format for storing and exchanging data. Validation checks the syntax (quotes, commas, brackets) before you send it to an app or API, so a typo shows up here with its line and column rather than as a failed request.
What does Fix it repair?
The usual ways JSON breaks: trailing commas, missing commas between items, comments, single or curly quotes, unquoted keys, NaN, Infinity and undefined, Python's True, False and None, and JSON that was stored as an escaped string. It shows what it will change before you apply it, and Ctrl+Z undoes it. A missing bracket isn't guessed: the check points at it instead.
Can I format or minify JSON without losing big numbers?
Yes. Format (2 spaces, 4 spaces or tabs), Minify and Sort keys work on your text directly instead of re-parsing it in JavaScript, so integers longer than 15–16 digits keep every digit and duplicate keys stay as written. The tool warns you when it sees either.
How do I find a value or copy its path?
Click a row in the tree to see its path, like $.orders[1].total, and copy the path or the exact value. The search box finds keys and values, and it also takes JSONPath queries such as $..email or $.orders[?(@.total > 20)].id; matches are highlighted in the tree and in the editor.
Is my JSON data private? What does the history keep?
Everything runs in your browser: nothing you paste is sent anywhere. The history keeps your last 200 inputs (up to 100 MB in all) in this browser only, so you can go back to them; it is never backed up or synced. Entries that look like they hold a password, token or API key get a "may contain a secret" badge. You can pause the history, delete entries, or clear it all.
What's the largest file I can validate?
Files of 10–50 MB work: the check, formatting and fixes run in a background worker so typing stays smooth, and the tree only draws the rows on screen. Very large files open in up to a few seconds, depending on your device.