What is the JSON Validator?
The JSON Validator checks that your JSON follows the official standard (RFC 8259) and explains any mistake in plain English, with the line, the column and a pointer to the exact character. Paste an API response, a config file or a request body before you ship it.
It also warns about valid-but-risky JSON that most validators accept silently: keys that appear twice in the same object (most programs keep only the last one) and integers too large for JavaScript to store exactly, which get rounded without any error.
How to use it
- Paste your JSON, upload a .json file, or click Example.
- The result appears instantly: valid, valid with warnings, or invalid.
- For an error, read the message and the highlighted line, or click Show me to jump to it.
- Fix the problem and the check runs again as you type.
Example
{
"name": "Nova",
"tags": ["json" "tools"]
}Invalid JSON
Line 3, column 19
Expected “,” or “]”, found “"”
2 | "name": "Nova",
3 | "tags": ["json" "tools"]
| ^Features
- Exact location. Line, column and a pointer under the character where parsing stopped.
- Plain-English messages. Explains common mistakes: trailing commas, single quotes, comments, missing commas and unclosed strings.
- Duplicate key warnings. Finds keys repeated in the same object, which silently overwrite each other.
- Big number warnings. Flags integers above 9,007,199,254,740,991 that JavaScript would round.
- Comments option. Validate JSONC config files such as tsconfig.json that allow comments.
- Private. Your JSON never leaves your browser.
Frequently asked questions
What makes JSON invalid?
The most common causes are a trailing comma after the last item, single quotes instead of double quotes, keys without quotes, comments, a missing comma between items, and unescaped line breaks inside strings.
Why does it warn about duplicate keys if the JSON is valid?
The JSON standard says keys should be unique but does not forbid duplicates, so most validators accept them. In practice JavaScript, Python and most other languages keep only the last value, so a duplicate usually means data is being lost by mistake.
Why is a big number a problem?
JavaScript stores numbers as 64-bit floating point, which can only represent integers exactly up to 9,007,199,254,740,991. Larger IDs (common with Twitter/X, Discord and database keys) are silently rounded. Send them as strings instead.
Which JSON standard does it follow?
RFC 8259 / ECMA-404, the same rules JSON.parse uses. Turn on Allow comments to also accept comments and trailing commas (JSONC).
Is my JSON uploaded?
No. Validation runs entirely in your browser.
Last updated · Free, no sign-up, runs in your browser.