オンラインJWTデコーダー
JWTのヘッダーとペイロードをブラウザ内でデコードし、JSONとして表示します。署名検証は行いません. 処理はブラウザ内でローカルに行われます。
使ってみる
JWTデコーダーの機能と使いどころ
JWTは認証情報やクレームを含むことが多く、デバッグや学習の際に中身を確認したいことがあります。このツールは、JWTのヘッダーとペイロードをデコードしてJSONとして表示します。
具体的な使用例
例えば、次のようなJWTを入力したとします(実際のトークンはもっと長いですが、例として短くしています)。
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
デコードすると、ヘッダーは次のように表示されます。
{
"alg": "HS256",
"typ": "JWT"
}ペイロードは次のように表示されます。
{
"sub": "1234567890",
"name": "John Doe",
"iat": 1516239022
}署名セグメントは SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c のまま表示されます。
処理の詳細
このツールは、JWTのヘッダーとペイロードをBase64URLデコードし、UTF-8として解釈してJSONオブジェクトに変換します。入力は最大500,000文字です。以下の場合はエラーになります。
- セグメントが3つに分かれていない
- Base64URLが不正
- UTF-8として無効
- JSONとして解析できない
- ヘッダーまたはペイロードがJSONオブジェクトでない
タイムスタンプの扱い
ペイロードに exp、nbf、iat などのタイムスタンプが含まれていても、このツールは値を表示するだけで、トークンが現在有効かどうかの判定は行いません。
セキュリティ上の注意
このツールは署名の検証を行いません。また、許可されたアルゴリズム、発行者、オーディエンス、鍵、失効状態、アプリケーションの認可ルールも検証しません。表示されるクレームは信頼できないものとして扱ってください。処理はブラウザ内で完結しますが、JWTには個人データや資格情報が含まれる可能性があります。共有デバイスや監視されたデバイスで本番トークンを貼り付けるのは避けてください。
よくある質問
Q1: このツールはJWTの署名を検証しますか?
いいえ、このツールは署名の検証を行いません。ヘッダーとペイロードのデコードと表示のみを行います。署名の検証が必要な場合は、専用のライブラリやツールを使用してください。
Q2: 入力できるJWTの長さに制限はありますか?
はい、入力は最大500,000文字です。これを超えるとエラーになります。
Q3: ペイロードにexpやiatなどのタイムスタンプがある場合、有効期限を判定してくれますか?
いいえ、このツールはタイムスタンプの値を表示するだけで、トークンが現在有効かどうかの判定は行いません。
処理はブラウザ内でローカルに行われます。