JSON Tools

JSON Linter

Paste your JSON below to check syntax and catch structural issues like duplicate keys.

What is a JSON Linter?

A JSON linter checks more than just syntax. In addition to confirming your JSON is well-formed, it flags structural issues that are technically legal but usually unintentional — most importantly, duplicate keys within the same object, which JSON silently resolves by keeping only the last value and discarding the rest.

How to use this JSON linter

  1. Paste your JSON into the left-hand box.
  2. Click Lint JSON.
  3. Review the report — syntax errors, duplicate keys, and max nesting depth.

Frequently asked questions

How is a linter different from a validator?

A validator only checks whether the text is syntactically valid JSON. A linter goes further and flags issues that are syntactically legal but often unintentional — like the same key appearing twice in one object, where JSON silently keeps only the last value.

Why is a duplicate key a problem if JSON allows it?

The JSON spec doesn't forbid duplicate keys, but different parsers handle them inconsistently, and it's almost always a mistake — usually the result of merging objects or a copy-paste error. It silently discards data, which can cause confusing bugs.

What does 'max depth' tell me?

It's how many levels of nested objects/arrays your JSON has. Very deep nesting can be a sign of an overly complex data shape, and some parsers or downstream systems have depth limits that can cause failures.