JWTのヘッダーとペイロードをブラウザ内で読みやすく表示します。
入力
結果
使い方とAIO呼び出し
- JWTを貼り付けると、ヘッダーとペイロードをJSONとして整形表示します。
- URLクエリ例(サンプル/非機密JWTのみ):
jwt_decoder.html?input=eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJzdWIiOiJzYW1wbGUifQ.&format=json format=jsonは機械可読JSON、format=rawは整形テキストのみを表示します。
このツールは署名の正当性を検証しません。認証・認可の判断には使わず、内容確認の補助としてご利用ください。
JWT簡易デコードは、header.payload.signature の3つのセグメントからなるJWT(JSON Web Token)文字列を貼り付けるだけで、ヘッダーとペイロードの中身をJSON形式で読みやすく表示するツールです。発行日時(iat)・有効期限(exp)・有効開始日時(nbf)などの日時クレームはUTCの日時表記に変換して表示します。重要な注意点として、このツールは署名の検証は一切行わず、あくまでトークンの中身を確認するための簡易ビューアです。バックエンド・フロントエンドエンジニアが認証トークンの中身をデバッグしたい場合や、サポート担当者が問い合わせ対応でトークンのクレーム内容を確認したい場合に向いています。入力したトークンはブラウザ内のみで処理され、外部のサーバーへ送信されることは一切ありません。
使い方・サンプル・結果例・注意点
使い方
JWT文字列(header.payload.signatureの3セグメント、Bearerプレフィックス付きでも可)を入力欄に貼り付けて「デコード」を押すと、Header・Payload・Signatureの内容がそれぞれ表示されます。
サンプル入力
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNzAwMDAwMDAwLCJleHAiOjE3MzE1MzYwMDB9.dummysignature
結果例
Headerには {"alg":"HS256","typ":"JWT"} が表示され、Payloadには {"sub":"1234567890","name":"John Doe","iat":1700000000,"exp":1731536000} が表示されます。さらにiatとexpはUNIX秒からISO形式のUTC日時(例: 2023-11-15T00:00:00.000Z など)に変換されたクレーム時刻として併記され、Signature欄には署名の先頭部分の一部と署名検証は未実施である旨が表示されます。
注意点
このツールは署名の検証を一切行いません。改ざんされたトークンや期限切れのトークンであっても、形式さえ正しければ中身が表示されます。認証・認可の正当性確認には使用せず、内容確認の補助としてのみ利用してください。また、本番環境で発行された実際のトークンや秘密情報を含むJWTは、URLクエリやサンプルとして外部に共有しないことを強く推奨します。入力は文字数制限(12,000文字)があり、Bearer プレフィックスは自動的に取り除かれます。
こんなときに使えます
- バックエンドエンジニアがログインAPIから返却されたJWTのペイロード(ユーザーIDや権限情報)を確認し、認可ロジックのデバッグを行う
- フロントエンドエンジニアがlocalStorageに保存されているアクセストークンの有効期限(exp)をUTC日時で確認し、トークンリフレッシュ処理のタイミングを検証する
- サポート担当者が問い合わせ対応で、ユーザーから提供されたサンプルトークン(機密情報を除いたもの)のクレーム内容を確認する
- QAエンジニアがテスト環境で発行されたJWTのヘッダーのアルゴリズム(alg)やペイロードのスコープ情報が想定通りか確認する
よくある質問
署名が正しいかどうかを検証できますか?
できません。このツールはBase64URLでエンコードされたヘッダーとペイロードをデコードして表示するだけで、署名(signature)の正当性検証は行いません。署名検証が必要な場合は、サーバーサイドのライブラリや専用のJWT検証ツールを利用してください。
Bearer トークンをそのまま貼り付けても大丈夫ですか?
問題ありません。先頭に "Bearer " が付いている場合は自動的に取り除いてから解析されます。ただし、警告として「Bearer プレフィックスを取り除いて解析しました」と表示されます。
本番環境の実際のトークンを貼り付けても安全ですか?
処理自体はブラウザ内で完結しサーバーへは送信されませんが、JWTのペイロードには個人情報や権限情報が平文(Base64エンコードのみ)で含まれていることが多いため、本番トークンの取り扱いには注意し、可能であればテスト用・サンプル用のトークンを使用してください。
iatやexpの数字をそのまま見ても日時がわかりません。
iat(発行日時)、nbf(有効開始日時)、exp(有効期限)がUNIX秒(数値)の場合、それぞれをUTCのISO形式の日時に変換した「Claim times」として併せて表示します。ローカル時刻に変換したい場合は、Unix 時間・日付変換ツールをご利用ください。
デコードに失敗してエラーが表示されます。
JWTは header.payload.signature のように3つのセグメントがピリオドで区切られている必要があります。セグメント数が3つでない、Base64URLとしてデコードできない、あるいはデコード結果がJSONとして解析できない場合にエラーが表示されます。コピー時に文字が欠けていないか確認してください。
