JWTデコーダー
JWT(JSON Web Token)を貼り付けると、デコードされたヘッダー、ペイロード、生の署名をブラウザ内で瞬時に確認できます。
🔒 お使いのブラウザ内でローカル処理されます
Loading…
使い方
- ドットで区切られた3つのbase64url部分からなる完全なJWTを、上の入力欄に貼り付けます。
- 貼り付けると同時に、ヘッダーとペイロードが即座にデコードされ、整形されたJSONとして下に表示されます。ボタンを押す必要はありません。
- 生の署名部分は参考として表示されるだけで、検証されることはありません。
- 各パネルの横にある「コピー」ボタンで、ヘッダー、ペイロード、署名をそれぞれ個別にコピーできます。
特徴
- ヘッダーとペイロードの両方を整形された読みやすいJSONとして瞬時にデコード
- パディングが省略されている場合も含め、base64url エンコーディングを正しく処理
- 生の署名部分を参考表示するが、検証は一切試みない
- 不正なトークンに対してもクラッシュや空白画面ではなく、分かりやすいエラーメッセージを表示
- 完全にブラウザ内で処理 — トークンが外部に送信されることはありません
よくある質問
このツールはJWTの署名を検証しますか?
いいえ。このツールはヘッダーとペイロードを読みやすくデコードするだけで、署名の検証は一切行いません。署名の検証にはシークレット(HMACアルゴリズムの場合)または公開鍵(RSA/ECDSAアルゴリズムの場合)が必要ですが、このツールはそのどちらの入力も求めません。トークンが正常にデコードされたということは、形式が正しいというだけであり、本物であることや改ざんされていないことを意味するわけではありません。
私のトークンはどこかにアップロードされますか?
いいえ。すべての処理はJavaScript標準のbase64・JSON APIを使い、ブラウザ内だけで完結します。JWTには機密性の高いクレームが含まれることが多いため、トークンがサーバーに送信されないことは重要なポイントです。
デコード時に「有効なJSONではありません」というエラーが出るのはなぜですか?
これは、そのトークンが標準的なJWTではない場合に発生します。たとえばトークンが途中で切れていたり、手動で編集されていたり、そもそもJWTではない場合です。暗号化トークン(JWE)も、ペイロードが暗号文でありJSONではないため、この方法ではデコードできません。
base64とbase64urlの違いは何ですか?
JWTはbase64urlエンコーディングを使用します。これはURLセーフなbase64の変種で、「+」を「-」に、「/」を「_」に置き換え、末尾の「=」パディングを省略するのが一般的です。このツールはデコード前にbase64urlを標準のbase64に変換するため、パディングが欠けていても正しく処理できます。
期限切れや使用済みのトークンもデコードできますか?
はい。デコードはトークンにすでに含まれているクレームを読み取るだけの処理です。期限切れ、失効、有効なトークンのいずれであっても、それらの状態はチェックされないため、結果は同じです。