JWTデコーダー(中身と有効期限の確認)

チートシートPDF

JWT を貼り付けると、中身(ヘッダー・ペイロード)と有効期限を表示します。「Bearer 」付きのままでも読めます。

JWT

状態-
アルゴリズム-
有効期限(日本時間)-

ヘッダー

ペイロード

サンプルの秘密鍵は your-256-bit-secret

入力したデータは送信も保存もしません。悪用することも一切ありません。くわしく

JWT(JSON Web Token)とは

JWT は、ログインした人の情報や権限を、改ざんできない形で受け渡すためのトークンです。 OAuth 2.0 / OpenID Connect の ID トークンやアクセストークン、API の認証(Authorization: Bearer ...)などで広く使われています。 見た目は長い英数字の文字列ですが、ヘッダー.ペイロード.署名 の3つをドット(.)でつないだもので、 ヘッダーとペイロードは JSON を Base64URL で符号化しただけなので、デコードすれば中身を読めます。

「API が 401 を返す」「ログインがすぐ切れる」といったトラブルのときは、まずトークンの中身を見て、有効期限(exp)が切れていないか、 受け取り手(aud)や発行者(iss)が想定どおりかを確認するのが近道です。

よく出てくるクレーム(項目)

クレーム意味
iss発行者(issuer)
sub対象のユーザーなど(subject)
aud受け取り手(audience)
exp有効期限(expiration)
nbfこの日時より前は無効(not before)
iat発行日時(issued at)
jtiトークンのID(JWT ID)

exp・nbf・iat は UNIX 時間(1970年1月1日からの秒数)で書かれています。このツールでは日本時間に直して表示し、 今の時刻と比べて「期限切れ」「あと◯時間」を表示します。サーバーとクライアントの時計が数分ずれていると、期限ぎりぎりのトークンが弾かれることもあります。

アルゴリズム(alg)の違い

alg方式検証に使う鍵
HS256HMAC + SHA-256(共通鍵)発行側と同じ秘密鍵
RS256RSA 署名 + SHA-256公開鍵(JWKS で配布されることが多い)
ES256楕円曲線 ECDSA + SHA-256公開鍵
none署名なし—(受け付けてはいけない)

Base64 そのものを変換したいときはBase64変換、UNIX 時間を変換したいときはUNIX時間変換をどうぞ。

よくある質問

トークンを貼り付けても安全ですか?

このツールはトークンをブラウザの中だけでデコードし、どこにも送信・保存しません。とはいえ、本番環境の有効なトークンはパスワードと同じくらい大切な情報です。確認が終わったら入力欄を消し、チャットやチケットに貼らないようにしましょう。

署名の検証はできますか?

HS256・HS384・HS512(共通鍵)の場合は、秘密鍵(シークレット)を入れると署名が正しいかを確かめられます。RS256・ES256 など公開鍵の方式は検証に対応しておらず、中身の表示だけです。

JWT の中身は暗号化されていますか?

いいえ。一般的な JWT(JWS)のヘッダーとペイロードは Base64URL で符号化されているだけで、誰でも読めます。改ざんを防ぐのは署名の役目です。そのため、パスワードや個人情報など秘密にすべき情報をペイロードに入れてはいけません。

変換・計算の結果は正確さに努めていますが、すべての入力での動作を保証するものではありません。 業務で使う場合は、重要なデータは結果を確認してからご利用ください。詳しくは免責事項をご覧ください。