JSON Validator
Check whether JSON is valid. If it isn’t, you get the line, the column and a plain-English reason.
Input JSON
Formatted
How to use it
- 1Paste the JSON you want to check, or open a file.
- 2Read the status under the box: "Valid JSON" or the error with its position.
- 3Fix the error and the check runs again as you type.
Private by design
Everything runs in this browser tab. Your input is never uploaded, logged or saved on a server, and there are no public "recent" pages. Close the tab and it's gone.
How we keep it privateExamples
Input
{"items": [1, 2, 3,]}Output
Line 1, column 19: Trailing comma before "]" is not allowed in JSON
Input
{"enabled": True}Output
Line 1, column 13: "True" is not valid JSON; use true, false or null
What the validator checks
It follows the JSON standard (RFC 8259) strictly: one value per document, double-quoted strings and keys, no comments, no trailing commas, no leading zeros in numbers, escaped control characters.
Error messages are the same in every browser, because the parser is part of this page instead of the browser’s built-in JSON.parse.
Frequently asked questions
Is my JSON sent to a server?
No. Parsing and formatting run in your browser (large inputs in a background Web Worker). Nothing is uploaded, logged or stored, so API responses with tokens or customer data stay on your machine.
Why do my big numbers stay exact here?
Many formatters use JSON.parse, which turns 12345678901234567890 into 12345678901234567000. This tool keeps every number exactly as written, so 64-bit IDs and prices with trailing zeros are not changed.
How large a file can I format?
Up to 10 MB of text works well in a modern browser. The work runs off the main thread, so the page stays responsive.