メインコンテンツへスキップ

~/tools / jwt-decoder

JWT デコード・検証

JWTを貼り付けるだけでヘッダー・ペイロードを展開し、exp(有効期限)を日本時間で判定。HS256/HS384/HS512の署名検証にも対応。処理はすべてブラウザ内で完結し、トークンもシークレットも送信・保存しません。それでも本番の生トークンではなく、検証用トークンでの利用を推奨します。

JWT を貼り付け

※ トークン・シークレットとも外部送信なし・localStorage等への保存もなし(ページを閉じると消えます)。JWTはそれ自体が認証情報なので、可能な限り検証用トークンでお試しください。

使い方

  1. JWT(xxxxx.yyyyy.zzzzz のようにピリオド2つで3分割された文字列)を入力欄に貼り付けると、即座にヘッダーとペイロードがデコードされます。
  2. ペイロードに exp(有効期限)があれば日本時間に変換し、「期限切れ」か「あと何分有効」かを自動判定します。isssubaud などの標準クレームも日本語の解説つきで一覧表示します。
  3. HS256/HS384/HS512で署名されたトークンなら、シークレット(共有鍵)を入力して「署名を検証」を押すと、トークンが改ざんされていないかを確認できます。
  4. 注意: デコードできること自体は「正しいトークン」の証明にはなりません。署名を検証するまでは、中身は誰でも作れる・読めるただのBase64URL文字列です。このツールは検証前の状態を「署名は未検証」と常に明示します。

デコードしたペイロードをさらに整形・変換したいときは JSON整形・検証ツール を、その他のツールは ツール一覧 をどうぞ。

よくある質問

JWTをオンラインツールに貼っても安全ですか?

このツールのデコード・署名検証はすべてブラウザ内のJavaScriptで実行され、トークンやシークレットが外部に送信されることはありません(localStorageへの保存もしません)。ただし一般論として、JWTは「それ自体がログイン状態の証明」になる認証情報です。どんなツールであっても本番環境の生きたトークンを貼るのは避け、開発・検証用に発行したトークンや期限切れのトークンで確認することを推奨します。

デコードできた=正しいトークン、ということですか?

いいえ。JWTのヘッダーとペイロードは暗号化ではなくBase64URLエンコードされているだけなので、誰でも中身を読めますし、誰でも自由に作れます。トークンが本物か(改ざんされていないか)を確かめるには署名検証が必須です。このツールでは検証していない状態を「署名は未検証」と明示しています。

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

現在の署名検証はHMAC系(HS256/HS384/HS512)のみ対応です。RS256などの公開鍵系アルゴリズムのトークンもデコードとクレーム確認は可能ですが、署名検証は未対応のため「未検証」表示のままになります。

exp(有効期限)の時刻は何を基準に表示していますか?

exp・iat・nbfはUNIX時間(1970年1月1日UTCからの経過秒数)で格納されています。このツールでは日本時間(JST)に変換して表示し、現在時刻(お使いの端末の時計)と比較して期限切れかどうかを判定します。端末の時計がずれていると判定もずれる点に注意してください。