アップロードなし, 100%ローカル, アカウントなし

JWT デコーダー

JWTを貼り付けてヘッダー、ペイロード、有効期限を確認します。トークンはどこにも送信されません。署名は検証されません, 確認用途のみに使用してください。

JWT デコーダーの仕組み

JWTデコーダーはJSON Webトークンをヘッダー、ペイロード、シグネチャの3つの部分に分割し、ヘッダーとペイロードをフォーマットされたJSONとして表示します。デコードは各部分をbase64urlデコードすることでブラウザのローカルで行われます。トークンはサーバーに送信されることはありません。ツールはシグネチャ検証を行いません。トークンのクレーム内に何があるかのみを表示します。

この区別はセキュリティ上重要です。デコードされたJWTを見るとそれが含むクレーム(ユーザーID、有効期限、ロール、スコープ)がわかりますが、トークンが正当な機関によって発行されたか、改ざんされていないかは確認されません。シグネチャ検証には発行者の公開鍵または共有シークレットが必要ですが、これを公開ツールに貼り付けるべきではありません。このデコーダーは検査とデバッグのみに使用してください。

JWT デコーダーの使い方をステップごとに解説

  1. 完全なJWT文字列(ドットで区切られた3つのbase64urlセグメント)を入力フィールドに貼り付けます。
  2. ヘッダーとペイロードセクションがフォーマットされたJSONとしてすぐに表示されます。
  3. ペイロードの「exp」フィールドで有効期限タイムスタンプ(Unixエポック秒)を確認します。
  4. シグネチャセグメントはそのまま表示されます。このツールはシグネチャを検証しません。

よくある使用例

  • 認証問題をデバッグする開発者がJWT内のクレームを読んで正しいスコープとロールが存在することを確認する必要がある場合。
  • QAエンジニアがアクセストークンの「exp」フィールドを確認して有効期限が期待される期間に設定されていることを確認する場合。
  • セキュリティレビュアーがサードパーティサービスからのJWTを検査して、受け入れる前にどのユーザーデータをエンコードしているかを理解する場合。
  • バックエンドエンジニアがトークンの「aud」(オーディエンス)クレームが期待するAPI識別子と一致しているかどうかを確認して401エラーをトラブルシュートする場合。

よくある質問

このツールはJWTシグネチャを検証しますか?

いいえ。ツールはヘッダーとペイロードセグメントをbase64urlデコードしてその内容をJSONとして表示するだけです。シグネチャ検証には発行者の秘密鍵または公開鍵が必要ですが、これをここに貼り付けるべきではありません。有効に見えるデコードされたペイロードでも無効なシグネチャを持つ可能性があります。信頼できるJWTライブラリを使用してサーバーサイドでシグネチャを常に検証してください。

ここに貼り付けたJWTトークンはサーバーに送信されますか?

いいえ。デコードはブラウザのJavaScriptエンジン内で完全に実行されるatob(またはRawバイトのTextDecoder)への3回の呼び出しです。ここに貼り付けたものはブラウザタブの外に出ることはありません。プライベートなユーザークレームを含むJWTを検査する唯一の安全な方法です。完全にローカルで、ネットワークリクエストはありません。

ヘッダー、ペイロード、シグネチャセグメントの違いは何ですか?

JWTにはドットで区切られた3つのbase64urlエンコードされたセグメントがあります。ヘッダーはトークンに署名するために使用されたアルゴリズム(例:HS256またはRS256)を識別します。ペイロードにはクレームが含まれます。サブジェクトに関する事実と追加のメタデータ(有効期限、発行者、オーディエンス、カスタムクレーム)です。シグネチャは発行者のキーを使用してヘッダーとペイロードから計算された暗号値です。受信者がトークンが改ざんされていないことを確認するために使用します。

ペイロードの「exp」とは何を意味しますか?

「exp」クレームはトークンの有効期限時間で、Unixタイムスタンプ(1970年1月1日UTCからの整数秒)として表されます。現在時刻が「exp」より大きい場合、トークンは期限切れであり、検証するサーバーによって拒否されるべきです。このツールは生の数値を表示します。このサイトのタイムスタンプツールで変換できます。「期限切れ」または「有効」のバッジは、その数値をあなたのデバイスの時計と比較して判定します。そのため時計が狂っている端末では、判定も誤ります。これはあくまで目安であり、実際に署名を検証するサーバーの代わりにはなりません。

このツールで不透明またはリファレンストークンをデコードできますか?

いいえ。不透明トークン(リファレンストークンとも呼ばれる)はユーザーデータ自体を持たないランダム文字列です。関連するクレームを取得するには発行者のイントロスペクションエンドポイントに送信する必要があります。このツールは標準的な3部構成のフォーマットの自己完結型JWTとのみ機能します。