JSON Lint & Validator
Which tool?Format make it readableMinify smallest sizeLint syntax check, strict rules and duplicate keys
Overview
Catch the problems a parser stays quiet about
List every strictness problem at once — duplicate keys, trailing commas, comments, single quotes, and unquoted keys — each with its line and column.
Guide
How to use
- 1 Paste your JSON
Type, paste, or use the Paste button to pull JSON from your clipboard. The Sample button loads a small example to try.
- 2 Read the issue list
Every problem is listed with its line and column. Errors stop the JSON from parsing; warnings parse but usually hide a bug.
- 3 Fix from the top
Work down the list — the results update as you type until the page says No issues found.
- 4 Copy the list
Use Copy to put the full issue list on your clipboard, for a ticket or a code review.
Reference
What JSON Lint checks
| Issue | What it means |
|---|---|
| Duplicate key | Two properties in one object share a key — parsers keep only one value. |
| Trailing comma | A comma before a closing bracket or brace — not allowed in strict JSON. |
| Comment | // or /* */ comments — valid in JSON5/JSONC but rejected by JSON. |
| Single-quoted string | Strings or keys in single quotes — JSON requires double quotes. |
| Unquoted key | An object key without quotes — JSON requires every key to be double-quoted. |
| Byte-order mark | A hidden BOM character at the start of the input that can confuse parsers. |
Pitfalls
Common JSON mistakes
-
Trailing commas
A comma after the last item in an array or object is fine in JavaScript but invalid in JSON. Remove the comma before the closing bracket or brace.
-
Single quotes
JSON requires double quotes for every string and key. Single quotes are a JavaScript habit — Lint flags each one so you can swap them.
-
Unquoted keys
JavaScript object literals allow bare keys like {name: "x"}, but JSON needs {"name": "x"}. Every key must be wrapped in double quotes.
-
Comments
JSON has no comment syntax. // and /* */ comments are valid in JSON5 and JSONC but a standard parser will reject them — strip them before parsing.