JWTデコーダー
JWTを貼り付けてヘッダーとペイロードをデコードし、いつ失効するかを確認し、標準クレームをチェックできます。デコードは完全にブラウザ内で行われるため、本番のアクセストークンがあなたの端末から出ることは一切ありません。
- ファイルは端末の外に出ません
- 無料、登録不要
- 透かしなし
- 一度読み込めばオフラインでも動作します
JWTデコーダーの使い方
- 1
トークンを貼り付け
両方のピリオドを含む完全なJWTを貼り付けます。入力中にデコードされます。
- 2
クレームを読む
ヘッダーとペイロードが整形され、失効時刻と発行日は読みやすい日付として表示されます。
- 3
必要なものをコピー
デコードされたペイロードをJSONとしてコピーして他の場所で使えます。
JWTの3つの部分が実際に何であるか
JSON Web Tokenは、ピリオドで結合された3つのBase64URLエンコードされたセグメントです: 署名アルゴリズムとトークンの種類を記述するヘッダー、実際のクレーム — トークンが誰を識別するか、いつ失効するか、どんな権限を与えるか — を含むペイロード、そして秘密鍵または秘密鍵を使って最初の2つのセグメントに対して計算された署名です。デコード — このツールが行うこと — とは、最初の2つのセグメントをBase64URLデコードして読みやすいJSONに戻すことを意味します。3番目のセグメントについては、生の符号化された値を露出させる以上のことは何も語りません。その署名を検証するには本物の署名の秘密鍵が必要であり、ブラウザベースのツールがそれを貼り付けるよう求めることは決してあってはならないからです。
この区別 — デコードと検証 — は、JWTデバッグツールについて理解すべき最も重要な単一のことです。デコードはトークンが*主張していること*を教えてくれます。検証はそれらの主張が*信頼できるか*を教えてくれます。期待される発行者によって署名が生成されたことを確認するためにです。トークンは完璧にデコードされ、管理者アクセスを主張するペイロードを表示することができますが、実際の署名鍵に対して署名を確認する何かが決してなければ、それは完全に偽造されている可能性があります。
JWTが機密データにとって安全な場所ではない理由
ヘッダーとペイロードは暗号化ではなくエンコードされています — Base64URLは秘密が関与しない可逆な変換であるため、ネットワークトラフィックを傍受するか、ブラウザストレージを読むか、直接受け取るかにかかわらず、トークンを入手した誰でも、鍵を一切必要とせずにペイロードをデコードして中のすべてのクレームを読むことができます。まさにこれが、JWTペイロードを識別子と非機密のクレーム — ユーザーID、ロール、失効時刻 — に限定し、パスワード、クレジットカード番号、その他の機密データをトークンの中に直接置かないという標準的な助言の理由です。トークンの形式それ自体は何の機密性も提供しないためです。
自分で計算せずにexp、iat、nbfを読む
標準のタイムスタンプクレームはUnix時間 — 1970年1月1日からの秒数を数える単純な整数 — として保存されており、これは機械が比較するには効率的ですが、目視でトークンをデバッグする人には一目では読めません。`1735689600`を「2025年1月1日 00:00:00 UTC」に手で変換するのは、時間に追われた状況で、特にタイムゾーンをまたぐと間違いやすい、小さくエラーの起きやすい計算そのものです。この3つのクレームを実際のローカル日付としてレンダリングし、トークンが現在失効しているか、有効か、まだアクティブでないかを直接示すことで、そうでなければ二次的な計算を伴うデバッグセッションが、即座で読みやすい答えに変わります。
よくある質問
本番トークンをここに貼り付けても安全ですか?
サーバーベースのどんなデコーダーよりも安全です: トークンはブラウザ内で分割・Base64デコードされ、ネットワークリクエストは一切関与しません。インターネットから切断して確認することもできます — ツールは動作し続けます。とはいえ、どこかに貼り付けたトークンはローテーションすべきものとして扱ってください。
これは署名を検証しますか?
いいえ、意図的にです。検証には署名の秘密鍵または公開鍵が必要であり、署名の秘密鍵を貼り付けるよう求めるブラウザツールは悪い習慣を助長します。検証はWebページではなく、あなたのバックエンドに属します。
JWTは暗号化されていますか?
いいえ。ヘッダーとペイロードはBase64URLでエンコードされています — これは暗号化ではなくエンコーディングであり、トークンを持つ誰でもすべてのクレームを読めます。パスワード、カード番号、個人データをJWTのペイロードに決して入れないでください。
exp、iat、nbfは何を意味しますか?
秒単位のUnixタイムスタンプです。`exp`はトークンがいつ失効するか、`iat`はいつ発行されたか、`nbf`は受け入れられる最も早い時刻です。このツールはこの3つをすべてローカルの日付としてレンダリングし、トークンが現在有効かどうかを教えてくれます。
なぜトークンのデコードに失敗するのですか?
JWTはピリオドで区切られた正確に3つの部分を持つ必要があります。よくある原因は、コピーが途中で切れている、"Bearer "の接頭辞がそのまま残っている、JSONレスポンスからの引用符が囲んでいる、などです。