JWT デコーダーの使い方
- 左側に JWT を貼り付けます(先頭の「Bearer 」付きでも OK)。「サンプル」も使えます。
- 右側にアルゴリズム、有効期限の状態、Header と Payload の JSON が表示されます。
- 「登録済みクレーム」で発行者、主体、有効期限を確認します。
- 「コピー」で整形済みの payload JSON をコピーできます。
使用例
HS256 のトークンを解析
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0IiwibmFtZSI6Ik90YWt1IiwiaWF0IjoxNzU5NDYwMDAwfQ.sig
Header: {"alg": "HS256", "typ": "JWT"}
Payload: {"sub": "1234", "name": "Otaku", "iat": 1759460000}
JWT の構造
JWT はドットで区切られた 3 つの Base64URL 文字列でできています。Header は署名アルゴリズム(HS256、RS256 など)、Payload はユーザー情報とクレーム、Signature はサーバーが秘密鍵で前の 2 つから生成した署名です。
Payload はエンコードされているだけで暗号化はされていません。トークンを持っていれば誰でも中身を読めるため、パスワードや機密性の高い個人情報を JWT に入れてはいけません。
仕様とポイント
| 準拠規格 | RFC 7519(JWT)、RFC 7515(JWS) |
|---|---|
| 解析内容 | Header、Payload、登録済みクレーム(iss、sub、aud、exp、nbf、iat、jti) |
| 時刻表示 | exp / iat / nbf をローカル時刻と相対時間で表示 |
| 署名検証 | 行いません(鍵が必要なためサーバー側で検証してください) |
| 処理場所 | ブラウザ内(トークンはアップロードされません) |
| 料金 | 無料・登録不要 |
よくある質問
本番環境の JWT を貼り付けても安全ですか?
デコードはすべてブラウザ内で行われ、トークンが送信・保存されることはありません。ただし JWT はログイン情報に相当するため、信頼できる端末でのみ操作し、使用後はクリアしてください。
なぜ署名を検証しないのですか?
HS256 の検証には共有の秘密鍵、RS256 には公開鍵が必要です。秘密鍵を Web ページに貼り付けると漏えいのリスクがあるため、検証はバックエンドで行うべきです。
exp の時刻はどのタイムゾーンですか?
exp・iat・nbf は UTC の UNIX 秒です。ツールはブラウザのタイムゾーン(日本なら JST)に変換して表示します。
「暗号化された JWE のようです」と表示されるのは?
5 つの部分からなるトークンは JWE(暗号化された JWT)です。payload が暗号化されているため、復号鍵がないと読めません。