Skip to content
jsonbeautifiers
English
V8 Verified by running the parser on Node v24.15.0, V8 13.6.233.17.

Expected ',' or '}' after property value in JSON at position N (line L column C)

The parser finished reading a value inside an object and expected the member list to continue with a comma or to end with a brace. It found something else. This message is V8s catch-all for the middle of an object, so it covers several different mistakes.

Paste your JSON and see exactly where it breaks

Input

Nothing you paste leaves your browser. The connect-src allowlist makes that a browser guarantee rather than a promise. Check it yourself

What actually causes it

Ranked by how often each one turns out to be the answer.

  1. 01 A missing comma between properties

    The commonest cause, and usually the result of hand-editing.

    Breaks

    { "a": 1 "b": 2 }

    Works

    { "a": 1, "b": 2 }
  2. 02 The file is truncated

    If the position is at the very end of the input, nothing followed the value at all. That is a cut-off document rather than a syntax mistake. Our validator distinguishes the two and lists which brackets were left open.

    Breaks

    { "a": 1

    Works

    { "a": 1 }
  3. 03 A comment after a value

    JSON has no comments, so // note after a value produces this.

  4. 04 A hexadecimal or otherwise non-JSON number

    The parser reads 0 as a complete number and then finds x, which is neither a comma nor a brace. JSON has no hex literals.

    Breaks

    { "mask": 0x1F }

    Works

    { "mask": 31 }

The same mistake in other runtimes

The underlying problem is identical; only the wording differs. If a colleague reports one of these, they are looking at the same thing you are.

Python Expecting ',' delimiter: line 1 column 10 (char 9)
V8, inside an array Expected ',' or ']' after array element in JSON at position N

Questions

How do I tell a missing comma from a truncated file?
Compare the reported position with the length of your input. If they are the same, the document ended early. Our validator says which it is, and for a truncated document it names every unclosed bracket and the line it was opened on.

Fix it now

Paste the payload into the tool above, or go straight to the one built for this job.

Locate it exactly