Skip to content

JSON Lint

In-browser only RFC 8259 JSON parser
The result appears here once you enter JSON.
Runs entirely in your browser with the built-in JSON parser.

Overview

Format, validate, minify, and lint JSON in your browser

Catch the JSON problems a parser stays quiet about — duplicate keys, trailing commas, comments, single quotes, and unquoted keys.

Guide

How to use

  1. 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. 2
    Choose an action

    Switch between Format, Validate, Minify, and Lint using the tabs. The same input is reused — no need to paste again.

  3. 3
    Read the result

    Formatted and minified output appears in the result pane; validation shows a clear verdict; lint lists every issue with its location.

  4. 4
    Copy or download

    Use Copy to send the result to your clipboard. On the Format and Minify tabs you can also Download the result as a .json file.

Reference

What JSON Lint checks

What JSON Lint checks
IssueWhat it means
Duplicate keyTwo properties in one object share a key — parsers keep only one value.
Trailing commaA 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 stringStrings or keys in single quotes — JSON requires double quotes.
Unquoted keyAn object key without quotes — JSON requires every key to be double-quoted.
Byte-order markA 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 — the Lint tab 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.

Frequently asked questions

What does JSON Lint check?
Duplicate keys, trailing commas, line comments (//), block comments (/* */), single-quoted strings, unquoted keys, and a leading byte-order mark (BOM). These are the issues most likely to break a strict JSON parser or hide a bug.
Why are duplicate keys a problem?
When an object has two properties with the same key, JSON parsers silently keep just one — usually the last. The other value is lost without warning, which often masks a copy-paste bug in an API payload or config file.
Are trailing commas and comments allowed in JSON?
No. Strict JSON does not allow trailing commas or comments. They are valid in JSON5 and JSONC (used by some editors) but a standard JSON parser will reject them.
My JSON parses fine — why does Lint still flag it?
Some issues, like duplicate keys, produce valid-but-lossy JSON: the parser accepts it but quietly drops data. Lint surfaces these so you can fix the source rather than ship a hidden bug.