機能
JSON Web TokenJSON Web TokenA compact, URL-safe token that carries claims (like identity or expiry) between two parties, signed to prevent tampering.Learn more
をデコードし、中身を表示します — すべてローカルのブラウザ内で。JWT を貼り付けると、ヘッダーとペイロードが整形された JSON として並排のペインに開き、その上にalg と typ のチップが付きます。チップの下には最大3つのセキュリティ通知が並びます。alg none — 署名なしトークン(赤、alg: none の場合)、対称 — サーバー側で検証(情報、HS256/HS384/HS512 の場合)、expクレームなし(アクセント、ペイロードに有効期限がない場合)です。時刻クレーム(exp、iat、nbf)は人間が読める形で表示されます — exp は43日後、iat は2時間前 — ペイロードのペインには exp に連動した 有効 または 期限切れ のバッジが付きます。
このツールはデコードのみを行い、署名の検証は決してしません。署名の検証にはシークレットまたは公開鍵が必要で、それはサーバー側にあります。ここで読むすべてのクレームは送信者による主張であり、検証済みの事実ではありません。
使い方
- サンプルチップ — HS256、Expired、alg: none — を選ぶか、自分のトークンを
JWTJWTA compact, URL-safe token that carries claims (like identity or expiry) between two parties, signed to prevent tampering.Learn more
ボックスに貼り付けます。トークンはドットで区切られた3つの部分で構成されます。2部分未満の場合はエラーボックスが表示されます。 - ペインを読みます。左が Header(アルゴリズムのメタデータ)、右が Payload(クレーム)。どちらもJSONとしてコピーできます。
- 通知チップを確認します。未署名トークン、対称アルゴリズム、有効期限の欠落がひと目で分かります。
- Payload の横のバッジを確認します。
expが未来ならvalid、過ぎればexpiredです。 - トークンをURLに含んだ共有リンクをコピーするか、ペインの下に表示される生の署名を読みます。
例
HS256 チップはトークン eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkFkYSBMb3ZlbGFjZSIsImlhdCI6MTcwMDAwMDAwMH0.sig(ダミー署名)を入れます。デコード結果:
| 部分 | デコード |
|---|---|
| Header | { "alg": "HS256", "typ": "JWT" } |
| Payload | { "sub": "1234567890", "name": "Ada Lovelace", "iat": 1700000000 } |
このペイロードには exp がないため、通知は 対称 — サーバー側で検証 と expクレームなし になります。
Expired チップは exp: 1700000000(2023-11-14T22:13:20Z)と1秒前の iat を持ちます。どちらも過去なので、ペイロードのバッジは expired、人間が読めるチップは exp は1015日前 と表示されます(日数は時間とともに増えますが、バッジは戻りません)。
alg: none チップは eyJhbGciOiJub25lIn0.eyJzdWIiOiIxIn0. です — ヘッダー { "alg": "none" }、ペイロード { "sub": "1" }、末尾のドットの後に空の署名。他のトークンと同様にデコードされ、赤い alg none — 署名なしトークン 通知と expクレームなし が表示されます。署名の行には (none) と出ます。
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxIn0 のような2部分のトークン(ヘッダーとペイロード、第3セグメントなし)もデコードされます。欠けた署名は (none) と表示されます。abc のような、ドット区切りで2部分に満たない入力はエラーボックスを表示します。A JWT has 3 dot-separated parts: header.payload.signature。
豆知識
JWTJWTA compact, URL-safe token that carries claims (like identity or expiry) between two parties, signed to prevent tampering.Learn more
はドットで連結された3つの base64url 部分、header.payload.signatureです。base64url は+→-、/→_を置き換え、=のパディングを除去するため、トークンはURLやHTTPヘッダーに置けます — だからJWTJWTA compact, URL-safe token that carries claims (like identity or expiry) between two parties, signed to prevent tampering.Learn more
に+、/、=は決して含まれません。- 署名は
base64url(header) + "." + base64url(payload)を対象に、ヘッダーのアルゴリズムで計算されます — 共有シークレットによるHMACHMACA construction that combines a hash function with a secret key to prove a message is intact and came from someone holding the key.
(HS256)または秘密鍵(RS256)。エンコードされた部分の1バイトでも変えれば一致しなくなります。ヘッダーとペイロードは誰でも自由に書けます。鍵なしで偽造できないのは署名だけです。だからこのツールはデコードはしても検証はしないのです。 - 時刻クレームはUnix秒です。
iat= 発行時刻、nbf= この時刻より前は無効、exp= 有効期限。第3セグメントがない場合は(none)と表示され、2部分トークンもデコードできます。 - プライベート: デコードはブラウザ内でローカルに実行されます。
JWTJWTA compact, URL-safe token that carries claims (like identity or expiry) between two parties, signed to prevent tampering.Learn more
はしばしば生きた資格情報です — このツールは送信しません。(共有リンクにはトークンが含まれます。自分が管理するトークンのみ共有してください。) - 関連ツール:
HMACHMACA construction that combines a hash function with a secret key to prove a message is intact and came from someone holding the key.
ジェネレーター、JSON フォーマッター、Base64Base64An encoding representing binary data as 64 safe ASCII characters, so it survives transport through text-only channels. It encodes — it does not encrypt.
エンコード / デコード。