JWTデコーダー

JWTトークンをデコードして中身を確認

JWTトークンを貼り付けてください...

JWT の構造とデコードのしかた

JWT(JSON Web Token)は、ドット(.)で区切られた3つの部分——ヘッダー・ペイロード・署名——からなるトークンです。ヘッダーには署名アルゴリズム(alg)とトークン種別(typ)が入り、ペイロードにはユーザー ID や権限、発行時刻(iat)、有効期限(exp)といったクレームが入ります。前2つは Base64URL でエンコードされているだけなので、鍵がなくても中身を読めます。

このツールにトークンを貼り付けると、ヘッダーとペイロードが整形された JSON として表示され、署名部分もそのまま確認できます。ペイロードに exp が含まれている場合は、その時刻を読み取って「有効」か「期限切れ」かを判定して表示します。API が 401 を返すときに、トークンが失効しているのか、そもそもクレームが想定と違うのかを切り分けるのに役立ちます。

ここで行うのはデコードだけで、署名の検証は行いません。署名の正当性を確かめるには秘密鍵または公開鍵が必要で、それはサーバー側の責務だからです。逆に言えば、ペイロードが読めること自体は JWT の仕様どおりであり、機密情報を JWT に入れてはいけない理由でもあります。デコードはブラウザ内で完結し、貼り付けたトークンは送信されません。

よくある質問

JWT は暗号化されていますか?
標準的な JWT のヘッダーとペイロードは Base64URL エンコードされているだけで、暗号化されていません。誰でも中身を読めるため、パスワードなどの機密情報を入れてはいけません。
署名の検証もできますか?
このツールはデコード専用です。署名の検証には鍵が必要で、サーバー側で行うべき処理のため対応していません。
有効期限はどう判定していますか?
ペイロードの exp クレーム(UNIX 時刻)を読み取り、現在時刻と比較して「有効」または「期限切れ」を表示します。
貼り付けたトークンは送信されますか?
送信されません。デコードはすべてブラウザ内で行われます。ただし有効なトークンは認証情報そのものなので、共有端末では使用後に画面を閉じてください。

関連ツール