JWTデコーダー|トークン解析

JWTトークンをデコードしてヘッダー・ペイロードの内容を確認できます。

本番環境の機密トークンは貼り付けないでください。
JWTトークン
JWT Structure
履歴
履歴はまだありません。

JWTデコーダー|トークン解析とは

JWTトークンをブラウザ上でデコードし、ヘッダー・ペイロード・有効期限を即確認できる無料ツールです。JSON Web Tokenのクレーム(sub・iss・exp・iat など)をわかりやすく表示。expクレームを人間が読める日付形式に変換。API認証・OAuth 2.0・OpenID Connectのデバッグに最適。サーバー不要で安全に使用できます。

使い方

  1. 1デコードしたいJWTトークン(eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...の形式)を入力エリアに貼り付けてください。
  2. 2リアルタイムでヘッダーとペイロードがデコードされ、JSON形式で表示されます。
  3. 3expクレームがある場合は有効期限の状態(有効・期限切れ)と人間が読める日時形式に変換されて表示されます。
  4. 4署名部分はデコードされますが、検証は行われません。デバッグ・内容確認の用途にご利用ください。

メリット・特徴

  • JWTのヘッダー・ペイロードをリアルタイムでデコード・表示
  • 有効期限(exp)・発行日時(iat)・有効開始日時(nbf)を人間が読める日時形式に変換
  • 署名検証を行わないため機密情報が外部サーバーに送信されない安全設計
  • JWTの3つのパート(ヘッダー・ペイロード・署名)を分かりやすく分割表示
  • API認証・OAuth 2.0・OpenID Connectのデバッグに最適
  • 登録・インストール不要。ブラウザで即利用できる完全無料ツール
01

JWTの構造と仕組みを理解する

JWT(JSON Web Token)はWebアプリのAPI認証で広く使われるトークン形式です。Base64URLエンコードされた3つのパートから構成されており、デコードすることで内容を確認できます。

JWTの3部構造(ヘッダー・ペイロード・署名)

JWTは「ヘッダー.ペイロード.署名」の3つのパートをドット(.)で連結した文字列です。各パートはBase64URLエンコードされています。ヘッダーにはトークンの種類(typ: JWT)と署名アルゴリズム(alg: HS256, RS256など)が含まれます。ペイロードにはクレームと呼ばれる情報(ユーザーID・有効期限・発行者など)が含まれます。署名はヘッダーとペイロードを秘密鍵(または公開鍵)で署名したもので、トークンの改ざんを検知するために使われます。Base64URLデコードするとJSONとして中身が確認できますが、署名による検証を行うことで初めてトークンの真正性が保証されます。

JWTのクレームの種類と用途

JWTのペイロードには登録済みクレーム・公開クレーム・プライベートクレームの3種類があります。登録済みクレームはRFC 7519で定義された標準クレームで、sub(Subject:トークンの主体、通常はユーザーID)・iss(Issuer:発行者)・exp(Expiration Time:有効期限のUnixタイムスタンプ)・iat(Issued At:発行日時のUnixタイムスタンプ)・nbf(Not Before:有効開始日時)・aud(Audience:受信者)・jti(JWT ID:トークンの一意識別子)が含まれます。expクレームの確認はAPI認証デバッグで最も重要で、本ツールは自動的に人間が読める日時形式に変換して有効期限の状態を表示します。

02

JWTデコーダーの実践的な活用

API認証デバッグやセキュリティ確認など、JWTデコーダーの実務での活用シーンと注意点を解説します。

API認証デバッグでの活用法

REST APIの認証デバッグでJWTデコーダーが役立つ場面は多くあります。①401 Unauthorizedエラーの原因調査:JWTの有効期限(exp)が切れていないか確認。②APIの権限エラーの調査:ペイロードのrole・scopeなどの権限クレームを確認。③認証フローのデバッグ:OAuth 2.0のアクセストークン・IDトークンの中身を確認してissやaudが正しいかチェック。④開発環境でのトークン確認:発行されたJWTに正しいユーザー情報が含まれているかを確認。PostmanやHTTP clientツールで取得したJWTをコピーして本ツールに貼り付けるだけで即確認できます。

JWTのセキュリティ上の注意点

JWTを使った認証実装では、セキュリティ上のいくつかの重要な注意点があります。①JWTはデフォルトでは暗号化されず、誰でもBase64URLデコードすれば中身が読えます。機密情報(パスワード・クレジットカード番号など)はペイロードに含めないでください。②署名検証を必ず実装する:JWTの受け取り側は必ず署名を検証し、改ざんされたトークンを拒否する必要があります。③有効期限を適切に設定する:アクセストークンは短い有効期限(15分〜1時間)が推奨されます。④アルゴリズムをnoneに変更させない:algヘッダーを検証し、noneアルゴリズムを拒否するよう実装してください。本ツールで手軽にJWTの内容を確認しながら、安全な実装の参考にしてください。

よくある質問(FAQ)

署名の検証はされますか?
いいえ、本ツールはBase64URLデコードのみ行います。署名の検証(HMAC・RSA・ECDSAなどの署名アルゴリズムを使った検証)は行いません。JWTの内容確認・デバッグ用途を想定しています。署名検証が必要な場合はjwt.ioやお使いのフレームワークのJWT検証機能をご利用ください。
JWTの機密情報を入力しても安全ですか?
本ツールはブラウザ上のJavaScriptで完全に動作し、入力したJWTはサーバーに送信されません。ただし本番環境の機密JWTは画面を閲覧できる第三者がいる場所での入力を避けてください。開発・テスト環境のJWTで動作確認するのが安全です。
JWTの有効期限(exp)はどのように表示されますか?
expクレームはUnixタイムスタンプ(1970年1月1日からの秒数)のため、本ツールでは「2025/12/31 23:59:59 (有効)」のような人間が読める日時形式に変換して表示します。現在時刻と比較して有効期限内かどうかも判定します。
JWTとは何ですか?
JWT(JSON Web Token)はRFC 7519で定められた、当事者間で安全に情報を転送するためのコンパクトなトークン形式です。ヘッダー・ペイロード・署名の3部分をBase64URLエンコードし、ドット(.)で連結した文字列です。WebアプリのAPI認証(Bearer Token)・OAuth 2.0・OpenID Connectなどで広く使われています。
JWTのペイロードにはどんな情報が含まれますか?
JWTペイロードには「クレーム」と呼ばれる情報が含まれます。標準クレームとしてsub(ユーザーID)・iss(発行者)・exp(有効期限)・iat(発行日時)・nbf(有効開始日時)・aud(受信者)があります。アプリ独自のカスタムクレーム(ロール・権限・メールアドレスなど)も含まれることがあります。
RS256とHS256の違いは何ですか?
ヘッダーのalgクレームに記載される署名アルゴリズムの違いです。HS256(HMAC-SHA256)は共有秘密鍵で署名・検証を行います。RS256(RSA-SHA256)は秘密鍵で署名し、公開鍵で検証する非対称暗号方式です。RS256はサードパーティに検証を委譲できるため、Auth0・Keycloakなどの認証基盤でよく使われます。

不具合や動作がおかしい点を見つけたら教えてください。

不具合報告はこちら →