JWT Decoder
まず中身だけを安全に読みたいときのデコード専用ページです。署名前の一次確認として、時刻クレームと業務クレームの矛盾を素早く見つけます。
exp(有効期限)
iat(発行時刻)
nbf(有効開始)
状態
ブラウザ内で処理します。入力はサーバーへ送信しません。まずはここで一次切り分けしてください。
使い方
JWTを貼り付けて「デコード」。まずalg/kidを確認し、次にpayloadクレームとexp/iat/nbf時刻を確認します。
注意(このツール)
- 署名検証は行いません。真正性確認は JWT Verifier またはサーバー実装で実施してください。
- 表示できてもトークンが正当とは限りません。権限判定には検証済みトークンのみを使ってください。
このページについて
何をするツール?
JWTを貼り付けてheader/payloadを整形表示し、exp/iat/nbfなどの時刻クレームを読みやすくします。
このページは「デコード専用」です。署名の検証は行いません。
デバッグやトラブルシュート(トークンの中身確認、期限切れの判定、クレームの確認)に向いたツールです。
初心者向け(最短1分)
- JWTを貼り付けて header/payload が読めるか確認する
- exp/nbf/iat の日時表示で期限状態を確認する
- 検証が必要なら JWT Verifier へ進む
実務向け(運用パターン)
- 障害チケットに貼る前に claims を確認し、不要情報をマスクする
- iss/aud/sub を期待値と突き合わせて一次判定する
- 時刻系の不一致は TTL/Clock Skew 系ツールで深掘りする
運用トラブル時の確認
- 401になる: まずexp切れとnbf未到達を確認する
- payloadは正しいのに失敗: 署名未検証のまま判断していないか確認する
- 同じJWTで環境差: サーバー時刻ズレとaud/iss設定差分を確認する
使いどころ
- ログに出たJWTのpayload(sub/aud/issなど)を確認したい
- exp/iat/nbfをUTCとローカル時刻で見たい
- BearerトークンがJWT形式かどうかを素早く判定したい
切り分け手順(おすすめ)
- まずheaderのalg/kidを確認する
- payloadでiss/aud/sub/exp/nbf/iatを確認する
- 期限や時刻ズレが疑わしい場合はJWT TTL/Clock Skew系へ進む
- 正当性確認が必要ならJWT Verifierで署名検証する
推奨(実務)
- デコード結果を信用せず、必ず署名検証結果と組み合わせる
- aud/issの期待値を実装側で固定して照合する
- トークン共有時はpayload中の個人情報をマスクして扱う
このツールでできること
- header / payload のJSONを整形表示
- exp(有効期限)の日時表示
- iat / nbf も同様に表示
- Base64urlのデコード
よくある失敗
- alg=none など危険な設定を見落とす
- expの単位(秒/ミリ秒)を取り違える
- payloadが読めるだけで安全だと誤解する
時刻クレーム(exp / iat / nbf)
exp/iat/nbfは通常「Unix time(秒)」で入ります。表示では日時(ISO文字列)とローカル時刻の両方を出します。
- exp: expiration time(有効期限)
- iat: issued at(発行時刻)
- nbf: not before(有効開始)
注意(運用)
- 判定結果だけで信頼判定はできません。署名検証とissuer確認を必ず実施してください。
- 時刻ずれや環境設定差で再現性が変わるため、検証時刻と設定を記録してください。
参照仕様
- RFC 7519(JWT)
- RFC 8725(JWT Best Current Practices)
- Base64url(RFC 7515 / RFC 4648)
FAQ
署名は検証されますか?
いいえ。署名検証は行いません。検証が必要な場合はサーバー側で行ってください。
expが無い場合は?
expが無いJWTもあります。その場合は日時表示を空欄にします。
header/payloadを見れば安全ですか?
署名検証をしていないため、表示できても正当性は保証されません。権限判断などは必ず検証済みトークンで行ってください。
注意(セキュリティ)
- このページは「表示用」です。署名検証/改ざん検知は行いません。
- 機密情報を含むトークンは取り扱いに注意してください(画面共有/ログ貼り付け等)。
参考リンク
症状別ケーススタディ(このページ向け)
JWTの中身確認を最短で行うページです。署名検証前の一次確認に限定して使います。
- exp/nbf/iat の時刻解釈(秒・タイムゾーン)を確認する
- iss/aud/sub が期待値と一致するか確認する
- alg と kid を確認して検証系ツールに引き継ぐ
実装時チェックリスト(このページ向け)
- デコード結果のみで認可判定しない
- ログ共有時は個人情報クレームをマスクする
- 時刻系不具合はサーバー時刻同期も同時確認する
- 検証は必ず JWT Verifier 側で実施する
次に見る(診断順)
site_map ルールに基づいて、次に確認すべきページを表示しています。
- JWT Verifier — JWT署名(HS/RS/ES)を検証
- JWT TTL Check — exp/iat/nbf から有効期間と残TTLを算出
- JWT Claim Audit — JWTの必須/推奨クレーム不足を監査
- JWT 401/403 切り分け手順 — Authorization / WWW-Authenticate / claims / 署名検証を連携して 401 と 403 を分離する
- JWT Decoder と Verifier の違い・使い分け — 「JWTは読めるが401/403になる」時に、デコード確認と署名検証のどちらを見るべきかを最短で判定
- JWT 401/403 Troubleshooting — 401/403の認証失敗をヘッダーとJWTクレームから症状別に切り分け
- OAuth Bearer Diagnostic — Bearer と WWW-Authenticate の整合を診断
- JWT Clock Skew Check — iat/nbf/exp の時刻ズレを検出
同テーマの導線
認証
Bearer・WWW-Authenticate・JWT を横断して認証失敗を切り分け
- OAuth Bearer Diagnostic — Bearer と WWW-Authenticate の整合を診断
- JWT 401/403 Troubleshooting — 401/403の認証失敗をヘッダーとJWTクレームから症状別に切り分け
- JWT Claim Audit — JWTの必須/推奨クレーム不足を監査
- JWT TTL Check — exp/iat/nbf から有効期間と残TTLを算出
- JWT Clock Skew Check — iat/nbf/exp の時刻ズレを検出
- Authorization Inspect — Authorization ヘッダー形式を解析
- WWW-Authenticate Inspect — WWW-Authenticate challenge を解析
- JWT Verifier — JWT署名(HS/RS/ES)を検証
Example
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmJmIjoxNTE2MjM5MDIyfQ.signature