JWT とは?
JWT デコーダーは、JSON Web Token の中身をどこにも送信せずに表示します。トークンを貼り付けると、3つの部分に分割し、ヘッダーとペイロードを Base64URL からデコードして、両方を整形済みの JSON として表示します。標準の時刻クレーム(発行日時 iat、有効開始 nbf、有効期限 exp)を自動的に読みやすい日付として解釈し、トークンが期限切れの場合は明確に警告します。JWT のペイロードは符号化されているだけで暗号化されていないため、誰でも読めることに注意してください。本ツールは署名を検証せず、完全にブラウザ内で動作するため、トークンは端末内に留まります。
JSON Web Token(JWT)は、2者間でクレームを表現するためのコンパクトで URL 安全な文字列です。ドットで区切られた3つの Base64URL エンコードセクションで構成されます:Header(アルゴリズムとトークンタイプ)、Payload(ユーザー ID・有効期限・ロールなどのクレーム)、Signature(改ざん検出用)。JWT は現代の Web API や SPA で最も一般的な認証トークン形式です。
使い方
- 入力欄に JWT(header.payload.signature)を貼り付けます。
- デコードされたヘッダーとペイロードを JSON 形式で確認します。
- 有効期限の状態と、読みやすい iat/nbf/exp の日付を確認します。
使用例
- サーバーなしに、トークンが持つクレーム(ユーザー ID・メール・有効期限・ロール)を調べる。
- トークンが期限切れか、間違ったクレームを持っていないか確認して認証問題をデバッグする。
- ヘッダーのアルゴリズム(HS256、RS256 など)を確認してトークンの署名方法を把握する。
- 開発者やセキュリティエンジニアとして JWT の構造の仕組みを学ぶ。
JWT デコードの仕組み
JWT のデコードは簡単です。ツールはトークンをドットで分割し、3つの各パートを Base64URL デコードして JSON を解析します。Base64URL は + を -、/ を _ に置き換え、= パディングを省略した Base64 の変形です。
デコードと検証は別物です。このツールは署名キーなしでどの JWT のクレームも読み取れます。署名検証はサーバー側で行う必要があります。
メリット
- 認証のデバッグ時に、トークンのクレームと有効期限をすばやく確認できます。
- アプリがトークンにどんなデータを保存しているかを正確に把握できます。
- ブラウザ内でローカルにデコードし、トークンがサーバーに送信されることはありません。
トークンのデコード、送信なし
JWT トークンは、ブラウザ内で動作する JavaScript ライブラリによってデコードされます。入力したトークンのデータはお使いのマシン上でローカルに処理され、当社のサーバーにも他のどこにも送信されません。