JWT デコーダー

JSON Web Token のヘッダーとペイロードをデコードして検査します。

ツールを読み込み中…

JWT デコーダーJWT を貼り付けると、デコードされたヘッダーとペイロードを即座に確認できます。iat・nbf・exp の時刻クレームは読みやすい日付で表示され、期限切れ/有効のバッジがリアルタイムで更新されます。デコードはすべてブラウザ内で行われ、トークンはどこにも送信されません。ただし署名は検証しないため、サーバー側で検証するまでペイロードを信頼しないでください。

JWT デコーダーとは?

JWT Decoder は、JSON Web Token(JWT)をデコードして中身を確認できる無料のオンラインツールです。開発者は、アクセストークン・IDトークン・ベアラートークンの内容を推測することなく読み取れます。標準の header.payload.signature 形式のトークンを貼り付けると、header と payload を base64url デコードし、両方を整形済みの JSON として見やすく表示。さらに iat・nbf・exp の時刻クレームを人間が読める日時に変換し、有効/失効をリアルタイムで示すバッジも表示します。認証フローや OAuth/OIDC セッション、トークンの有効期限の問題をデバッグするバックエンド/フロントエンドエンジニア、QA テスター、API インテグレーター向けに作られています。なお、これはデコーダーであって検証ツールではありません。署名はチェックしないため、あくまで内容確認専用です。

JWT デコーダーの使い方

  1. アプリ、ブラウザの開発者ツール、または Authorization: Bearer ヘッダーから JWT(header.payload.signature)をコピーします。
  2. それを「JWT token」テキストエリアに貼り付けます。
  3. 入力欄の下にある Header と Payload セクションで、デコードされ整形された JSON を確認します。
  4. payload に iat・nbf・exp が含まれている場合は、Issued (iat)・Not before (nbf)・Expires (exp) のステータスカードと有効/失効バッジを確認し、トークンの有効期間を把握します。
  5. Header または Payload の「コピー」ボタンで整形済み JSON をコピーするか、「クリア」をクリックして入力をリセットします。

使用例

JWT ヘッダーをデコードする

入力

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0In0.sig

出力

{
  "alg": "HS256",
  "typ": "JWT"
}

Header セクションには、最初のセグメントをデコードして整形した JSON が表示されます。

有効期限クレームを読む

payload に exp/iat/nbf を含むトークンを貼り付けます。ツールは各エポック秒のクレームを読みやすいローカル日時に変換し、Expires (exp) の値の横に緑の「有効」または赤の「失効」バッジを表示し、毎秒更新します。

不正な形式のトークン

入力

not-a-jwt

出力

Malformed token — expected header.payload.signature

少なくとも header と payload のセグメント(ドット区切り)を持たない文字列は、デコードされる代わりにこのエラーが発生します。

よくある質問

このツールは JWT の署名を検証しますか?
いいえ。header と payload をデコードして表示するだけで、署名の検証は行いません。署名がサーバー側で検証されるまでは、デコードした payload を決して信用しないでください。出力はあくまで内容確認のためのものとして扱ってください。
どのようなトークン形式を想定していますか?
少なくとも header.payload の部分を持つ標準的な JWT(header.payload.signature)です。ドットで分割し、最初の2つのセグメントを base64url デコードするため、署名部分はデコード時には無視されます。
どの時刻クレームが表示されますか?
標準的な数値のエポック秒クレームである iat(発行日時)、nbf(有効開始日時)、exp(有効期限)を表示し、それぞれを読みやすいローカル日時に整形します。失効したトークンにはフラグを付け、nbf が未来でトークンがまだ有効でない場合は警告します。ステータスカードは、これらのクレームが少なくとも1つ存在する場合にのみ表示されます。
私のトークンはどこかにアップロードや送信されますか?
いいえ。すべての処理は、ブラウザに組み込まれた base64 と JSON のデコードを使い、完全にクライアント側で実行されます。トークンがサーバーにアップロードされることは一切ないため、機密性の高いアクセストークンも安全に確認できます。
一見正しそうなトークンでエラーが出るのはなぜですか?
入力のセグメントが2つ未満、または header/payload が空の場合は「Malformed token」というメッセージが表示され、セグメントが有効な base64url エンコードの JSON でない場合は「invalid」エラーが表示されます。余分な空白や前後の引用符を含めず、トークン全体を貼り付けたか確認してください。

関連ツール