JWT デコーダー
JWTトークンのHeader・Payload・Signatureをブラウザ上でデコード。exp/iat/nbfの日時変換・期限切れ判定も自動表示。サーバー送信なしの無料オンラインツール。
JWTトークンのHeader・Payload・Signatureをデコードし、日時変換・期限切れ判定も表示するツールです。
// 詳細
JWTとは
JWT(JSON Web Token)は、RFC 7519で定義されたコンパクトなトークン形式です。ヘッダー・ペイロード・署名の3パートをドット(.)で連結した文字列で、Base64URLエンコードされています。OAuth 2.0やOpenID Connectなどの認証・認可プロトコルで広く使われています。
JWTの構造
JWTは「xxxxx.yyyyy.zzzzz」の形式で、最初のパート(Header)はアルゴリズムとトークンタイプ、2番目(Payload)はクレーム(ユーザー情報や有効期限など)、3番目(Signature)は改ざん検知用の署名です。HeaderとPayloadはBase64URLエンコードされたJSONで、デコードすることで内容を確認できます。
署名アルゴリズムの種類
JWTの署名には主にHS256(HMAC-SHA256)、RS256(RSA-SHA256)、ES256(ECDSA-SHA256)が使われます。HS256は共通鍵方式で実装が簡単、RS256/ES256は公開鍵方式でトークン検証に秘密鍵が不要という特徴があります。
セキュリティ上の注意点
JWTのPayloadはBase64URLエンコードされているだけで暗号化されていないため、機密情報(パスワードや個人情報など)をPayloadに含めないでください。また、algをnoneに設定するアルゴリズムなし攻撃にも注意が必要です。本番環境では必ず署名を検証してください。
// FAQ
- JWTデコーダーとは何ですか?
- JWTデコーダーは、JWT(JSON Web Token)の内容を人間が読める形式に変換するツールです。Base64URLエンコードされたHeader(ヘッダー)とPayload(ペイロード)をデコードしてJSON形式で表示します。
- JWTの署名検証はできますか?
- 本ツールでは署名の検証は行いません。署名検証には秘密鍵または公開鍵が必要であり、ブラウザ上で安全に扱うことが難しいためです。署名検証が必要な場合はサーバーサイドで行ってください。
- JWTのPayloadに機密情報を入れても安全ですか?
- いいえ、安全ではありません。JWTのPayloadはBase64URLエンコードされているだけで暗号化されていないため、誰でもデコードして内容を読むことができます。パスワードや個人情報などの機密データはPayloadに含めないでください。
- expクレームの期限切れ警告はどのように判定していますか?
- expクレームのUnixタイムスタンプと現在時刻を比較し、現在時刻がexpの値を超えている場合に期限切れ警告を表示します。タイムゾーンはブラウザのローカル設定に基づきます。
// 使い方
-
JWTトークンを入力
上部の入力欄にデコードしたいJWTトークン文字列を貼り付けます。
-
デコード結果を確認
Header・Payload・Signatureの3パートがリアルタイムでデコード表示されます。タイムスタンプクレームは日時形式に自動変換されます。
-
結果をコピー
各セクションのCOPYボタンでデコード結果をクリップボードにコピーできます。