Check whether a document is valid JSON and get the precise location and cause of any error, with a plain-English explanation of how to fix it.
Waiting for input
Paste JSON to check it. Everything runs in your browser — nothing is uploaded.
JSON Validator runs entirely on your device — nothing is uploaded.
You’re on the Free plan. Compare plans
Validating JSON means asking one precise question: would a parser accept this document? The answer is binary, and when it is no, the only thing that matters is where the parser gave up and why.
This validator uses your browser's own JSON parser, so it accepts exactly what your code will accept — no stricter, no looser. When a document fails, you get the line and column the parser stopped at, the reason in plain English, and a note about the most likely cause: a trailing comma, single quotes, an unquoted key, a comment, or a NaN that slipped in from a serialiser.
One thing it deliberately does not do is check the shape of your data. A document with the wrong fields in it is still valid JSON. This tool answers the syntax question; schema validation is a different job.
A document that the JSON grammar accepts: double-quoted keys and strings, no trailing commas, no comments, and no JavaScript-only values such as NaN, Infinity or undefined. Numbers, strings, booleans, null, objects and arrays are the only types available. This tool uses the browser's native parser, so its answer matches what your application will do with the same text.
No. It checks syntax only. A document with missing fields, wrong types or unexpected keys is still valid JSON as long as it parses. Schema validation — JSON Schema, Zod, and so on — is a separate concern and is not part of this tool.
The line and column come from the browser's parser. For some errors it reports a character offset, which is converted into a line and column; for others it reports no position at all. Rather than guess, the tool shows the message and the likely cause without a position — a confidently wrong line number would send you to the wrong part of the document.
No. Validation happens in your browser using its built-in parser. Nothing is sent over the network, which is what makes it safe to check a payload that still contains a token or personal data. You can confirm this in your browser's network inspector while using the tool.
Yes, though above 512 KB automatic checking pauses and a Check now button appears. Parsing is synchronous, so re-parsing a multi-megabyte document on every keystroke would make typing stutter. Pressing the button runs the same check on the whole document.