EZ
EZ2Conv

JWTデコーダー

JSON Web Token (JWT)をデコード・分析します。ヘッダー、ペイロードを検査し、クレームや有効期限に関する詳細情報と共にトークンの有効性を確認します。

14px

JWTデコーダーの使用方法

  1. 入力フィールドにJWTトークンを貼り付けてください
  2. トークンは自動的にデコードされるか、'デコード'ボタンをクリックしてください
  3. デコードされたヘッダー、ペイロード、署名のセクションを表示してください
  4. トークンの有効性、有効期限、キークレームを確認してください
  5. 'コピー'ボタンを使用して個別のセクションをコピーしてください

JWT Decoder で JSON Web Token を読み解く

このデコーダーができること

JSON Web Token は、ピリオドでつながれた 3 つの Base64URL エンコード部分、つまり header・payload・signature で構成されます。このデコーダーは文字列をそのピリオドで分割し、header と payload を読める JSON に復元して、signature 部分はそのまま表示します。header の alg フィールドを読み取り、標準の登録済みクレーム(sub・iss・aud・jti)と時刻系クレームを並べて示すので、そのトークンが何を主張しているのかを一目で確認できます。

トークンを貼り付けた時点でデコードが走り、別途送信ボタンを押す必要はありません。デコード結果の構造をとりあえず見てみたいときのために、サンプルトークンも用意されています。

こんなときに使う

認証付きリクエストの挙動がおかしく、トークンが実際に何を運んでいるのかを確かめたいときに役立ちます。よくあるのは原因のわからない 401 です。トークンを貼り付ければ、ステータス表示が有効期限切れなのか、まだ有効になっていないのか、それとも有効期間内なのかをすぐに教えてくれます。

ログインフローを組み立てる際にも便利で、issuer・audience・subject がバックエンドの想定どおりか、サーバー側で追加した独自クレームが本当に payload に入っているかを確認できます。

例:3 つの部分を読む

eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0In0.SflKx... のような形のトークンでは、最初のセグメントは {"alg":"HS256","typ":"JWT"} のような header に、2 番目は {"sub":"1234","iat":1700000000,"exp":1700003600} のような payload にデコードされ、3 番目は不透明な signature のまま残ります。デコーダーは数値の iat と exp をローカル時刻の日付に変換し、トークンがまだ有効なら失効までの残り時間も表示します。

注意点とエッジケース

デコードは検証ではありません。このツールは signature を秘密鍵や公開鍵と照合しないため、デコードできたトークンは「そう主張している」ことを示すだけで、その主張が信頼できることまでは保証しません。トークンをもとに何か処理する前には、必ずサーバー側で適切なライブラリを使って signature を検証してください。payload は Base64URL でエンコードされているだけなので、その中身はトークンを持つ人なら誰でも読めるものとして扱ってください。暗号化されているわけではありません。同じ理由から、自分の管理下にない本番トークンを貼り付けるのは避けましょう。また exp と nbf は秒単位の Unix タイムスタンプであり、だからこそ exp を過ぎた瞬間にトークンは失効として表示されます。

よくある質問

貼り付けた JWT は header・payload・signature・アルゴリズム・失効時刻・発行時刻まですべてデコードされ、有料の壁の向こうに隠された機能はありません。トークン数の制限も、プレミアムプランも、作成するアカウントもありません。
はい。トークンの分割と Base64URL デコードはお使いの端末で直接行われるため、トークンも中のクレームもどこにもアップロードされません。ただしこのデコーダーはトークンを読み取るだけで、その真正性を保証はできないので、自分が管理していない有効な本番トークンの貼り付けは避けてください。
いいえ。トークンを貼り付けるかサンプルを読み込めば、header・payload・signature と有効性ステータスがすぐに表示されます。登録もメール入力もアカウント作成の手順もありません。
いいえ。トークンの中身をデコードして表示しますが、signature を秘密鍵や公開鍵と照合することはないため、そのトークンが本物かどうかは判定できません。実際の検証には署名鍵を使ったサーバー側のライブラリを利用してください。このツールは調査とデバッグのためのものです。
デコーダーは exp(有効期限)と nbf(not-before)のクレームを読み取り、現在時刻と比較します。exp が過去ならトークンは失効済みとして、nbf が未来ならまだ有効でないとして表示され、それ以外は有効期間内です。これらは秒単位の Unix タイムスタンプで、表示の際にお使いのローカル時刻へ変換されます。
header の alg と typ、含まれるすべてのクレームを備えた payload 全体、そして signature の生データを表示します。sub(subject)・iss(issuer)・aud(audience)・jti(JWT ID)といった登録済みクレームは個別に取り出され、iat と exp はトークンのステータスとともに読みやすい日付として示されます。