JWT デコーダー | クレーム・ヘッダー・有効期限

セキュリティブラウザ内で処理(アップロードなし)

JWT(JSON Web Token)をブラウザで即座にデコードして、ヘッダー/ペイロード(claims)を読みやすく表示します。alg、exp、iss、aud、sub、iat、nbf などを確認でき、日時も見やすく変換します。署名検証はサーバー側で行ってください(このツールはデコードのみ)。

Loading…

このツールの使い方

  1. 1

    JWT(header.payload.signature)を貼り付けます。

  2. 2

    ヘッダーとペイロード(claims)が JSON として整形表示されます。

  3. 3

    exp/iat/nbf などの日時を確認します。

  4. 4

    必要に応じてコピーしてバグ報告や実装比較に使います。

このツールを使う場面

認証・認可のデバッグ

ログインや API 認証の不具合時に claims を確認し、issuer/audience/期限の設定ミスを切り分けます。

期限(exp/nbf)トラブルの確認

環境差や時計ズレで exp/nbf が原因になっていないかを確認できます。

鍵ローテーションの影響調査

kid や alg の違いを比較し、鍵ローテーションや設定変更の影響を追えます。

OIDC トークンの理解

access token と id token の内容を比較して、必要な claims がどちらに入っているか確認できます。

よくあるミス

デコード=検証と誤解する

デコードできることと「正しい JWT」であることは別です。署名(JWS)検証ができていない JWT は信用できません。

タイムスタンプの単位を取り違える

exp/iat/nbf は Unix time(秒)です。ミリ秒と混同すると期限判定を誤ります。

トークン種別を混同する

実運用では access token / id token / refresh token の役割が違います。どのトークンを見ているかを確認してください(refresh token は JWT ではない場合もあります)。

ヘッダーとペイロード(claims)を確認する

JWT を貼り付けてヘッダーと claims を確認し、alg や kid、スコープなどの差分を素早く把握します。

入力
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2V4YW1wbGUuY29tLyIsImF1ZCI6ImFwaSIsInN1YiI6InVzZXItMTIzIiwiZXhwIjoxNzc5MjQ5MDAwLCJpYXQiOjE3NzkyNDU0MDB9.signature
出力
ヘッダー/ペイロードが整形表示され、exp/iat が日時として表示されます。

exp/iat/nbf を見て期限関連の問題を切り分ける

期限切れの疑いがあるときに exp を確認し、環境差(時計ズレ)や nbf の影響を切り分けます。

入力
exp, iat, nbf を含む JWT
出力
各フィールドが読みやすい日時で表示され、比較が容易になります。

JWT を読むときの注意

JWT は Base64URL でエンコードされた header と payload、そして signature(JWS)の 3 部構成です。

このツールは Base64URL のデコードと整形表示を行いますが、署名の検証は行いません。

安全な判定は、サーバー側で署名検証を行い、iss/aud/exp/nbf などの claims を検証して決めます。

よくある質問

Q.このツールで JWT の署名検証はできますか?

A. できません。デコードは Base64URL の復号で、署名の正当性は保証しません。正しい検証はサーバー側で署名(JWS)を検証して行ってください。

Q.alg(例: HS256, RS256)は何を意味しますか?

A. alg は署名アルゴリズムです。例えば HS256 は共有秘密(HMAC)、RS256/ES256 は公開鍵暗号の署名です。alg の値だけで信頼性は判断できません。

Q.exp/iat/nbf の単位は秒ですか?ミリ秒ですか?

A. exp/iat/nbf は Unix time(秒)です。ミリ秒ではありません。日時に変換して比較するとミスが減ります。

Q.JWT はアップロードされますか?

A. いいえ。入力した JWT はブラウザ内で処理され、アップロードされません。ただし機密トークンは取り扱いに注意し、共有 PC などでは貼り付けないでください。

Q.JWT は暗号化されていますか?

A. JWT は 3 つの部分(header.payload.signature)からなり、header と payload は Base64URL です。つまり「誰でも読める」ことが前提で、秘匿は暗号化(JWE)で行います。

関連ツール

他の開発者ツールも確認できます

すべてのツールを見る