JWT デコーダー

JWT トークン

JWT トークンを貼り付けてすぐにデコード。

JWT トークンを貼り付けてすぐにデコード。

このツールについて

JWT(JSON Web Token)のデコードは、認証問題のデバッグ、API トークンの検査、SSO 統合のトラブルシューティングを行う際にほぼ毎日行っていることです。ユーザーが「アクセス拒否」エラーを報告した場合、最初に行うのは JWT をデコードして有効期限、ロール、クレームを確認することです。このツールは、トークンをサーバーに送信することなく JWT を即座にデコードします。本番アクセストークンや顧客の資格情報を扱う際に重要です。トークンを 3 つの部分(ヘッダー、ペイロード、署名)に分割し、最初の 2 つを Base64 デコードし、JSON コンテンツを読みやすい形式で表示します。署名は表示されますが検証されません。これは検査ツールであり、検証ツールではありません。OAuth2 の統合、Auth0/Cognito トークンのデバッグ、JWT ベースの認証の仕組みを理解する開発者に最適です。 ### JWT 構造 JWT にはドット (.) で区切られた 3 つの部分があります:

  • **ヘッダー** - トークンタイプと署名アルゴリズム(例:HS256、RS256)を含む
  • **ペイロード(クレーム)** - 実際のデータとクレームを含む
  • **署名** - トークンが改ざんされていないことを検証

デコーダーは、開発者がデバッグのためにペイロードの内容をすばやく表示するのに役立ちます。ロール/権限の表示、トークンの有効期限の確認、発行者情報の検証、API スコープの確認、認証実装時のトークン構造の検証などに使用します。 ### 使用例 **1. 認証プロバイダーからのトークンのデバッグ**

  • Firebase Auth
  • Auth0
  • AWS Cognito
  • Supabase
  • Keycloak

**2. フロントエンド開発** 確認:

  • claim role=admin は存在しますか?
  • ユーザーが苦情を言うときにトークンは期限切れですか?
  • トークンの構造は正しいですか?

**3. バックエンド開発** バックエンドで検証を記述する前にペイロードを検証します。 **4. QA / テスト** API テスト中に API トークンを確認します。 **5. セキュリティレビュー(クイック検査)** 署名アルゴリズム (alg) のセキュリティを確認:

  • HS256、RS256、ES256 → ✓ 安全
  • NONE → ⚠️ 安全でない

**6. OAuth 2.0 / OpenID Connect のデバッグ** 表示:

  • `iss` - 発行者
  • `aud` - オーディエンス
  • `exp` - 有効期限
  • `nonce` - リプレイ攻撃防止
  • `azp` - 承認された当事者

使い方

JWT トークン(形式:xxxxx.yyyyy.zzzzz)を入力フィールドに貼り付けます。ツールは自動的にヘッダー、ペイロード、署名セクションに分割します。ヘッダーはアルゴリズム(HS256、RS256 など)とトークンタイプを表示します。ペイロードには、ユーザー ID (sub)、有効期限 (exp)、発行時刻 (iat)、発行者 (iss)、およびアプリが追加したカスタムクレームなどのクレームが表示されます。有効期限は Unix タイムスタンプです。ツールはこれを読みやすい日付に変換できます。API が 401 エラーを返したときにトークンが期限切れかどうかを確認したり、認証のデバッグ時にロール/権限クレームが存在することを確認したり、JWT 構造を学習するときに使用します。 ### 使用方法 1. JWT トークンをコピー 2. 入力フィールドに貼り付け 3. ツールが自動的にヘッダー、ペイロード、署名を分離 4. デコード結果を表示:JSON + クレームの内訳 5. 必要に応じてコピー/エクスポートボタンを使用

制限事項と重要な注意

⚠️ **重要**:このツールはトークンをデコードするだけで、署名を検証しません! このツールは JWT をデコードするだけで、署名を検証したりトークンを検証したりしません。デコードされたトークンが有効なクレームを表示していても、トークンが本物であることを意味しません。攻撃者は偽のクレームを含むトークンを作成できます。常に秘密鍵または公開鍵(RS256 の場合)を使用してサーバー側で署名を検証してください。このツールは標準の JWT 形式(Base64URL エンコードの header.payload.signature)で動作します。暗号化された JWT (JWE) やネストされたトークンは処理しません。トークンにバイナリデータや非標準エンコーディングが含まれている場合、デコードが失敗する可能性があります。コード内の自動トークン検証には、jsonwebtoken (Node.js)、PyJWT (Python)、jose4j (Java) などの適切な JWT ライブラリを使用してください。セキュリティ上の注意:信頼できないオンラインツールに機密性の高い本番トークンを貼り付けないでください。このツールはクライアント側で実行されますが、DevTools のネットワークタブで何もアップロードされていないことを常に確認してください。

Technical Details

Edge Cases & Tricky Inputs

  • Expired tokens are still decoded — expiration is shown but does not prevent viewing claims.
  • Tokens with non-standard claims are displayed as-is without validation.
  • Nested JWTs (JWT within a claim) are not recursively decoded.

Performance & Processing

  • Decoding is instant since JWT headers and payloads are just Base64URL-encoded JSON.
  • Signature verification requires providing the secret/public key.

Developer Notes

  • Supports HS256, HS384, HS512, RS256, RS384, RS512, ES256, ES384, ES512 algorithms.
  • Standard claims (iss, sub, aud, exp, nbf, iat, jti) are highlighted and explained.

Known Limitations

  • RSA/EC signature verification requires pasting the public key manually.
  • JWE (encrypted tokens) are not supported — only JWS (signed tokens).