JWTデコーダー
署名を検証することなく、JSON Web Token (JWT) をデコードしてヘッダーとペイロードのクレームを表示します。トークン構造の可視化、クレームの分析、有効期限の確認、認証トラブルのデバッグを簡単に行えます。プライバシー保護のため、100%クライアントサイドで処理されます。
🚀 サンプルのJWTを試す:
広告ブロッカーにより広告が表示できません
MiniWebtool は広告収益で無料提供しています。このツールが役に立ったら、Premium(広告なし+高速)をご利用いただくか、MiniWebtool.com を許可リストに追加して再読み込みしてください。
- または Premium(広告なし)にアップグレード
- MiniWebtool.com の広告を許可してから再読み込みしてください
JWTデコーダー
JWTデコーダーへようこそ。これは、開発者がJSON Web Token (JWT) を即座にデコードして検査するための強力なオンラインツールです。認証の問題のデバッグ、トークンクレームの検証、JWT構造の学習など、外部サーバーにデータを送信することなく、すべてのトークンコンポーネントを色分けして分かりやすく視覚化します。
JSON Web Token (JWT) とは何ですか?
JSON Web Token (JWT) は、当事者間で情報をJSONオブジェクトとして安全に送信するためのコンパクトで自己完結的な方法を定義するオープン標準 (RFC 7519) です。JWTは以下のような用途で広く使用されています:
- 認証 (Authentication): ユーザーがログインした後、それ以降の各リクエストにはJWTが含まれ、そのトークンで許可されているルート、サービス、リソースへのアクセスが可能になります。
- 情報交換 (Information Exchange): JWTは秘密鍵 (HMAC) または公開鍵/秘密鍵のペア (RSA, ECDSA) を使用して署名できるため、当事者間で情報を安全に送信できます。
- 認可 (Authorization): サーバーはトークンのクレームを検証することで、リクエストごとにデータベースに問い合わせることなく、ユーザーの権限を判断できます。
JWTの構造解説
JWTは、ドット (.) で区切られた3つの部分で構成されています:
1. ヘッダー (赤)
ヘッダーには通常、次の2つの情報が含まれています:
alg: 使用される署名アルゴリズム (例: HS256, RS256, ES256)typ: トークンのタイプ。常に "JWT" です。
2. ペイロード (紫)
ペイロードにはクレーム(ユーザーに関する記述や追加のメタデータ)が含まれます。クレームには3つのタイプがあります:
- 登録済みクレーム (Registered claims):
iss(発行者),exp(有効期限),sub(件名),aud(対象者) など、事前に定義されたクレーム - 公開クレーム (Public claims): IANA JSON Web Token レジストリに登録されているか、URIとして定義されているカスタムクレーム
- プライベートクレーム (Private claims): 当事者間で合意されたカスタムクレーム (例:
user_id,role)
3. 署名 (青)
署名は、エンコードされたヘッダー、エンコードされたペイロード、秘密鍵、およびヘッダーで指定されたアルゴリズムを組み合わせて作成されます。これにより、トークンが改ざんされていないことが保証されます。
一般的なJWTクレームのリファレンス
| クレーム | 名称 | 説明 |
|---|---|---|
iss |
発行者 (Issuer) | JWTを発行した主体を識別します(例:認証サーバーのURL) |
sub |
件名 (Subject) | JWTの対象を識別します(通常はユーザーIDまたはメールアドレス) |
aud |
対象者 (Audience) | JWTが意図されている受信者を識別します |
exp |
有効期限 (Expiration Time) | JWTが無効になるUnixタイムスタンプ |
nbf |
開始時刻 (Not Before) | JWTが有効になる前のUnixタイムスタンプ |
iat |
発行時刻 (Issued At) | JWTが発行されたUnixタイムスタンプ |
jti |
JWT ID | JWTの一意の識別子(リプレイアタックの防止に有効) |
JWT署名アルゴリズム
対称アルゴリズム (HMAC)
HS256: SHA-256を使用したHMAC - 署名と検証に同じ秘密鍵を使用HS384: SHA-384を使用したHMACHS512: SHA-512を使用したHMAC
非対称アルゴリズム (RSA/ECDSA)
RS256: SHA-256を使用したRSA署名 - 秘密鍵で署名し、公開鍵で検証RS384: SHA-384を使用したRSA署名RS512: SHA-512を使用したRSA署名ES256: P-256曲線とSHA-256を使用したECDSAES384: P-384曲線とSHA-384を使用したECDSAES512: P-521曲線とSHA-512を使用したECDSA
セキュリティに関する考慮事項
デコード vs 検証
重要: このツールはJWTを「デコード」しますが、「検証」は行いません。デコードは単にBase64URLでエンコードされた内容を表示するだけですが、検証には署名を検証するための秘密鍵が必要です。サーバー側の署名検証なしに、デコードされたデータを決して信頼しないでください。
ベストプラクティス
- クレームを信頼する前に、必ずサーバー側で署名を検証してください。
- 有効期限 (exp) を短く設定してください(通常、アクセストークンの場合は15分〜1時間)。
- ペイロードに機密データを保存しないでください。データはエンコードされているだけで、暗号化されていません。
- 通信中のトークンの傍受を防ぐために HTTPS を使用してください。
- トークンの不正使用を防ぐために aud(対象者)クレームを検証してください。
- 複数のサービスがトークンを検証する必要がある分散システムでは、非対称アルゴリズム (RS256, ES256) を使用してください。
プライバシーとセキュリティ
このJWTデコーダーは完全にブラウザ内で動作します:
- サーバー送信なし: JWTがサーバーに送信されることはありません。
- クライアント側処理: すべてのデコードはブラウザ内のJavaScriptで行われます。
- データ保存なし: トークンの保存、ログ記録、追跡は一切行いません。
- オープンソースロジック: ブラウザの開発者ツールでデコードロジックを確認できます。
よくある質問
JWT (JSON Web Token) とは何ですか?
JSON Web Token (JWT) は、当事者間で情報をJSONオブジェクトとして安全に送信するためのオープン標準 (RFC 7519) です。JWTは一般的に、Webアプリケーションの認証や認可に使用されます。JWTは、ヘッダー(アルゴリズムとトークンタイプ)、ペイロード(クレーム/データ)、署名(検証)の3つの部分で構成されています。
ブラウザでJWTをデコードしても安全ですか?
はい、ブラウザでのJWTデコードは安全です。ヘッダーとペイロードは単にBase64URLでエンコードされているだけで、暗号化されていないからです。ただし、デコードはトークンの署名を検証するものではないことに注意してください。サーバー側で適切な署名検証を行わずに、デコードされたデータを信頼しないでください。このツールはブラウザ内のみでデコードを行い、データがサーバーに送信されることはありません。
JWTの各部分にはどのような意味がありますか?
JWTにはドットで区切られた3つの部分があります。1) ヘッダー:署名のためのアルゴリズム (alg) とトークンタイプ (typ)(通常はHS256またはRS256)を含みます。2) ペイロード:ユーザーに関する記述や、有効期限 (exp)、発行時刻 (iat)、件名 (sub) などの追加データである「クレーム」を含みます。3) 署名:ヘッダーとペイロードを秘密鍵で署名して作成され、トークンが改ざんされていないことを確認するために使用されます。
なぜこのツールで署名を検証できないのですか?
署名の検証には、秘密鍵(HS256のような対称アルゴリズムの場合)または公開鍵(RS256のような非対称アルゴリズムの場合)が必要です。このツールはプライバシー保護のため完全にブラウザ上で動作するため、サーバーの秘密鍵にアクセスすることはできません。署名を検証するには、jsonwebtoken (Node.js)、PyJWT (Python)、jwt-go (Go) などのサーバー側ライブラリを使用してください。
一般的なJWTクレームにはどのようなものがありますか?
一般的な登録済みクレームには、iss(発行者)、sub(件名)、aud(対象者)、exp(有効期限)、nbf(開始時刻)、iat(発行時刻)、jti(JWT ID)などがあります。カスタムクレームには、user_id、email、roles、permissions、またはアプリケーション固有のデータを含めることができます。時間ベースのクレーム (exp, nbf, iat) はUnixタイムスタンプです。
その他のリソース
このコンテンツ、ページ、またはツールを引用する場合は、次のようにしてください:
"JWTデコーダー"(https://MiniWebtool.com/ja//) MiniWebtool からの引用、https://MiniWebtool.com/
by miniwebtool チーム. 更新日: 2026年2月3日