69 chars · 1 line
Needs attention
69 chars · 1 line
Needs attention
JWT payload JSON error
A payload can use perfectly valid Base64URL encoding yet decode to malformed claim text. A trailing comma, missing quote, or broken delimiter makes JSON parsing fail before the decoder can inspect claims such as sub, exp, iss, or aud. This tool is free to use. No account or payment is required.
Last updated
The example below decodes to {"sub":"123",}. The Base64URL layer succeeds, but JSON.parse rejects the comma before the closing brace, so the decoder never reaches exp, iss, aud, or other claim-specific handling.
After syntax is fixed, the top level must still be a JSON object. The decoder also rejects non-finite numbers and unsafe integers rather than silently displaying misleading claim values.
The second segment decodes successfully, but the trailing comma makes the claim object invalid JSON.
{"sub":"123",}{"sub":"123"}Common questions
Base64URL only transports bytes. After decoding, the payload text must independently parse as JSON and produce an object before claims can be inspected.
Not safely. Editing the payload changes the signed bytes, so the issuer should serialize valid JSON and issue a new token.
No. Parsing claims is separate from verifying the signature and enforcing issuer, audience, expiration, or authorization policy.
Debugging a specific JWT issue? Browse JWT troubleshooting.