JWT Encoder & Decoder

Decode any JWT and inspect its header, payload, and signature. Encode new tokens with HS256, RS256, and more.

PayloadExpires in 2283366h
sub
1234567890
name
Jane Doe
iat
1700000000 — Tue, 14 Nov 2023 22:13:20 GMT
exp
9999999999 — Sat, 20 Nov 2286 17:46:39 GMT

01 — Overview

How it works

Paste a JWT to see its three parts broken out with claim explanations and expiry status, or build a new token by filling in the header and payload. Supports HS256, HS384, HS512, RS256, RS384, and RS512. Runs entirely in your browser — nothing is sent to a server.

02 — Use cases

When to use it

  1. 01

    Debug a 401 by inspecting the token your client is sending

  2. 02

    Verify that 'exp' is set correctly before shipping a login flow

  3. 03

    Generate a test token with a known secret for local development

  4. 04

    Quickly check whether a payload contains the claims you expect

03 — Examples

Real input, real output

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkphbmUgRG9lIiwiaWF0IjoxNzAwMDAwMDAwfQ.signature

ex 01

{ alg: HS256, sub: 1234567890, name: Jane Doe, iat: 1700000000 }

Decoded header and payload. The signature is shown but not verified without a secret.

Build a token with sub=alex, exp=+1h, secret=supersecret

ex 02

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Signed with HS256 using the provided secret.

04 — FAQ

Frequently asked

All decoding happens in your browser using the jose library — your token never reaches our servers. That said, a JWT can be replayed if it's still valid, so don't paste production tokens into any random site (including this one) without rotating them afterwards.

05 — More

Tools that pair well