JWT オンライン解析 / 生成 / 検証ツール
1ページで Token のデコード、署名生成、検証を実行。HS/RS/PS/ES の4系列、計12種類のアルゴリズムに対応
JWT オンライン解析 / 生成 / 検証ツール
JWT(JSON Web Token)は Header、Payload、Signature の3部分を2つのドットで区切った形式で、API 認証、シングルサインオン、ステートレスセッションなどで広く使われています。このツールでは解析、生成、検証を同じページにまとめ、3つのタブで切り替えます。解析には鍵は不要で、生成と検証には Secret または鍵が必要です。
Token の解析
Token を貼り付けると3つの部分に自動分割されます。Header と Payload は Base64URL デコード後に JSON として整形され、Signature はそのまま保持されます。3つの部分はそれぞれ個別にコピーできます。alg、typ、kid などのヘッダーフィールドも読み取り、iss、sub、aud、jti などの標準クレームを認識し、iat、nbf、exp のタイムスタンプをローカル時刻へ変換します。
Token の状態と時刻情報
時刻クレームに基づいて Token 全体の状態を自動判定します。状態は有効、まもなく期限切れ、期限切れ、まだ有効ではない、または時刻クレームなしです。期限までの残り時間も表示します。ログイン状態の異常を調査するときに、Token の期限切れ、まだ有効になっていない状態、署名そのものの問題をすぐに切り分けられます。カスタムクレームは Payload JSON から直接確認できます。
Token の生成
生成タブでは Header と Payload の JSON を直接編集でき、整形と圧縮のボタンを利用できます。よく使うクレームもワンクリックで挿入でき、exp はデフォルトで現在時刻から1時間後に設定されます。アルゴリズムを選択して対応する鍵を入力すると Token を生成できます。HMAC 系では Secret を使用し、UTF-8 テキストとして扱うほか、0x で始まる場合は16進数として解析できます。RSA と EC 系では PEM 秘密鍵または JWK を貼り付けられます。JSON に誤りがある場合はすぐに通知されます。
対応アルゴリズム
12種類のアルゴリズムに対応しています。HS256、HS384、HS512、RS256、RS384、RS512、PS256、PS384、PS512、ES256、ES384、ES512 です。HS 系は HMAC 署名、RS と PS 系は RSA ベース、ES 系は ECDSA ベースです。安全なコンテキストが必要なアルゴリズムには明示的な表示があります。
Token の検証
検証には署名に対応する公開鍵が必要です。RSA では SPKI または PKCS#1 の公開鍵 PEM または JWK、EC では SPKI 公開鍵 PEM または JWK に対応しています。検証結果では署名が有効か、期限切れか、すでに有効な状態かを項目ごとに表示し、失敗時には具体的な理由を示します。秘密鍵を貼り付けた場合は、対応する公開鍵を使用するよう案内します。
エラー処理とセキュリティ制約
- Token の分割数不足、Base64URL の不正、内部 JSON の破損をそれぞれ個別に通知します。
- セキュリティ上の理由により、alg=none の未署名 Token は検証を常に拒否します。
- Token が宣言するアルゴリズムと現在選択しているアルゴリズムが一致しない場合、両者の違いを明示します。
- ECDSA 署名の長さが不正な場合、JWS では固定長の raw R と S を連結すること、openssl の DER 署名は先に変換する必要があることを説明します。
- 鍵が空、形式不正、パスフレーズで暗号化されている場合は、それぞれ対応方法を案内します。
実行環境
RS、PS、ES 系はブラウザの WebCrypto API に依存します。この API は安全なコンテキストでのみ利用できるため、HTTPS 環境が必要です。HS 系にはこの制約がなく、HTTP でも生成と検証を実行できます。
利用シーン
- API 認証のデバッグ:バックエンドが発行した Token の内容と有効期限が正しいか確認する。
- 401 エラーの調査:Token の期限切れ、未有効、署名不一致を切り分ける。
- ローカルでテスト Token を発行し、異なるロールや権限クレームを再現する。
- 鍵が正しく対応しているか、署名アルゴリズムの選択が一致しているか確認する。
プライバシーとデータセキュリティ
Token、Secret、秘密鍵、公開鍵はすべてブラウザ内で処理されます。サーバー側の計算 API はなく、入力内容がアップロードまたは保存されることもありません。JWT の Payload は暗号化ではなく Base64URL エンコードであるため、Token を取得した人は内容を読むことができます。Payload に機密情報を入れないでください。
JWT Token をオンラインで解析・生成・検証
- Token を自動的に3部分へ分割し、Base64URL デコードと JSON 整形を行い、それぞれ個別にコピー可能
- 標準クレーム iss、sub、aud、jti、iat、nbf、exp を読み取り、タイムスタンプをローカル時刻へ変換して残り時間を表示
- Token の状態を有効、まもなく期限切れ、期限切れ、まだ有効ではない、時刻クレームなしに自動判定
- Header と Payload JSON を編集して Token を生成し、整形、圧縮、よく使うクレームのワンクリック挿入に対応
- HS256/384/512、RS256/384/512、PS256/384/512、ES256/384/512 の計12アルゴリズムに対応
- Secret はテキストまたは16進数として解析でき、RSA と EC の鍵は PEM と JWK に対応。検証時に秘密鍵を検出すると公開鍵の使用を案内
- alg=none を拒否し、アルゴリズム不一致や署名長の不正などに具体的な理由を表示