ブラウザ内で完結する開発者ツール
JWT デコーダー
JSON Web Token をすぐにデコードして中身を確認します。ヘッダー、ペイロード、claims、有効期限を、トークンを外部 API に送らずに読めます。
100% ブラウザ内処理。 JWT はこのブラウザタブ内でデコードされ、デコード API へ送信されたり、このツールに保存されたりしません。
ブラウザ内処理
デコードは現在のブラウザタブ内で実行します。
秘密鍵は不要
署名付き JWT のヘッダーとペイロードは検証鍵なしで読めます。
時間 claims を確認
exp、iat、nbf を読みやすい日時に変換します。
デコード ≠ 検証
読めたことを署名の真正性とは扱いません。
JWT デコーダーとは?
JWT デコーダーは、Base64URL でエンコードされたヘッダーとペイロードを読みやすい JSON に戻すツールです。一般的な署名付き JWT は header.payload.signature の 3 セグメントで構成されます。
認証の不具合を調べるときは、alg、kid、iss、aud、scope、role、exp などを最初に確認します。通常の署名付き JWT は暗号化ではなくエンコードなので、claims を読むためだけなら署名シークレットは必要ありません。
ただし、読めることと信用できることは別です。受け入れる前に、信頼できる鍵で署名を検証し、アプリが要求する issuer、audience、時間条件を検証します。
JWT claims の見方
payload に含まれる値のうち、認証・認可でよく見る登録済み claim を先に確認すると、原因を絞り込みやすくなります。
issIssuer
JWT を発行した主体を示します。
subSubject
トークンが表す主体を示します。
audAudience
JWT の対象となる受信者を示します。
expExpiration
この時刻以降は受け入れないことを示します。
nbfNot Before
この時刻より前は受け入れないことを示します。
iatIssued At
トークンが発行された時刻です。
デコード・validation・署名検証は別の作業です
デコード
Base64URL のヘッダーとペイロードを JSON として読みます。
高度な JWT / Identity ツール
Security policy、token 比較、OIDC Discovery、JWK inspection までデコードの先を確認します。
JWT セキュリティアナライザー
alg=none、想定外 alg、token 指定 key URL、不審な kid、時間 claims、issuer/audience mismatch を確認します。
JWT Diff
2 つの JWT を比較し、refresh・login・環境変更・key rotation 前後の header/payload 差分を確認します。
OIDC Discovery Checker
Issuer URL から OIDC/OAuth metadata を取得し、issuer 完全一致、JWKS、endpoint を確認します。
JWK Inspector
単一 JWK を確認し、秘密鍵材料を検出して RFC 7638 SHA-256 thumbprint を計算します。
JWT コード例
JavaScript、Node.js、Python、Java、C#、Go、PHP で Base64URL と UTF-8 を正しく扱い JWT header/payload をデコードする例です。
JWT Claims リファレンス
48 個の JWT・OpenID Connect・OAuth claims を、値型・仕様出典・validation note とともに確認できる実用リファレンスです。
おすすめ JWT デコードガイド
中身を読んだあと、もう一段深く確認するときに使うガイドです。
JWT デコーダー FAQ
秘密鍵なしで JWT をデコードできますか?
できます。通常の JWT/JWS の header と payload は Base64URL エンコードなので読めます。秘密鍵や公開鍵が必要なのは署名を検証するときです。
デコードできれば JWT は有効ですか?
いいえ。JSON として読めても真正性は証明できません。署名と exp、nbf、iss、aud などを別に確認します。
JWT を検証貼り付けた JWT はサーバーへ送信されますか?
デコーダーはブラウザ側で動作し、トークン本文をデコード API に送信したり localStorage、Cookie、URL に意図的に保存したりしません。
exp、iat、nbf は何ですか?
exp は有効期限、iat は発行時刻、nbf は利用開始時刻です。NumericDate を読みやすい時刻に変換して確認できます。
有効期限を確認読める JWT でも 401 になるのはなぜですか?
期限切れ、まだ有効でない、署名鍵違い、issuer/audience 不一致、必要な scope/role 不足などが考えられます。
JWT をデバッグセキュリティ上、再現にテスト用または伏せ字のトークンで足りるなら、本番の access token を貼り付けないでください。ブラウザ内処理でも、端末上の拡張機能やマルウェアまでは防げません。