🎫 JWT デコーダー

JWTトークンをデコードしてヘッダー、ペイロード、署名を確認します。

使い方・活用例

  • APIから受け取ったJWTトークンのペイロード内容を確認
  • 認証トークンの有効期限(exp)やユーザー情報を素早くチェック
  • デバッグ時にJWTの各セクション(ヘッダー/ペイロード/署名)を分離して確認
  • OAuth認証フローで発行されるトークンの中身を検証

JWT デコーダーとは

JWTトークンをデコードして内容を確認するツール。JWT(JSON Web Token)は認証や認可で使われる暗号化トークンで、ヘッダー・ペイロード・署名の3部で構成されます。Base64エンコードされているため直接は読めませんが、このツールでデコードすれば、トークンに格納されたユーザー情報の確認やセキュリティ検証ができます。

使い方ガイド

1. JWTトークンをコピー(認証API、ブラウザDevTools、ログから取得)
2. トークン文字列をテキストボックスに貼り付け
3. 自動的にデコード処理が開始
4. ヘッダー、ペイロード、署名が3つのセクションに分かれて表示
5. ペイロード内の各クレーム(ユーザーID、有効期限など)を確認できます。

活用シーン

・API認証デバッグ:開発中のRestful APIがトークンを正しく発行しているか、ペイロードの user_id や role が期待値で格納されているか確認
・セッション有効期限確認:exp(expiration)クレームから、トークンの有効期限までの残り時間を計算して検証
・サードパーティサービス連携:OAuth 2.0でGoogle/GitHubから取得したトークンが本物か、署名検証前に内容を確認
・セキュリティインシデント対応:不正利用の疑いで、トークンに何が含まれていたか、または有効期限が切れていないか調査

よくある間違いと解決法

・誤り:署名検証なしにトークン内容を信頼する → 解決:デコード後、署名セクションも確認し、正しい秘密鍵で署名されているか検証
・誤り:有効期限切れのトークンに気づかず使用 → 解決:expクレームの値(UNIXタイムスタンプ)を現在時刻と比較
・誤り:トークン内に機密情報(パスワード等)が格納されたまま → 解決:ペイロードは誰でも読めるため、機密情報は含めない設計に変更

知っておきたいポイント

JWTの構造は「ヘッダー.ペイロード.署名」で、各部がドット(.)で区切られています。署名があるから改ざんは防止できますが、ペイロード自体は Base64 エンコード(暗号化ではなく符号化)のため、トークンを見れば誰でも内容が読めます。したがって機密情報はペイロードに入れず、サーバー側で別途管理する必要があります。exp(有効期限)と iat(発行時刻)の2つのタイムスタンプは必ず確認しましょう。

よくある質問

JWTデコーダーの使い方は?

JWTトークンを貼り付けると、ヘッダーとペイロードが自動的にデコードされて表示されます。

トークンの有効期限は確認できますか?

はい。ペイロード内のexp(有効期限)を自動的に人間が読める日時に変換して表示します。

JWTの構造はどうなっていますか?

JWTはヘッダー(アルゴリズム情報)、ペイロード(データ本体)、署名の3つの部分をドット(.)で連結した文字列です。

JWTの有効期限はどこで確認できますか?

ペイロード部分の「exp」フィールドがUnixタイムスタンプで有効期限を示しています。本ツールでデコードすると読みやすい形式で表示されます。

JWTの署名を検証できますか?

はい。HMAC系アルゴリズム(HS256/HS384/HS512)の署名検証に対応しています。秘密鍵を入力すると、Web Crypto APIを使ってブラウザ上で安全に検証します。

クレーム(Claim)の意味は確認できますか?

はい。iss(発行者)、sub(主体)、aud(受信者)、exp(有効期限)、iat(発行日時)など、標準クレームの説明が自動的に表示されます。

署名を検証するにはどうしたらいいですか?

JWTの署名を検証するには、トークンを作成した際の秘密鍵(Secret Key)が必要です。本ツールはデコード機能に特化しているため、署名検証の詳細な機能は限定的ですが、署名がHS256などの対称鍵方式の場合は秘密鍵を入力することで簡易検証できます。

無効なJWTトークンをデコードするとどうなりますか?

形式が正しくないJWTの場合はエラーメッセージが表示されます。ただし、Base64デコード可能な形式であれば、構文は正しくなくても表示される場合があります。署名が無効でも構造上はデコード可能なため、署名検証結果と共に表示されます。

期限切れのトークンはどのように表示されますか?

JWTのペイロードに「exp」(有効期限)クレームが含まれている場合、本ツールは有効期限を抽出して表示します。有効期限が現在時刻より過去の場合は「期限切れ」として明確に表示されるため、トークンの有効性をひと目で判断できます。

異なるアルゴリズム(HS256, RS256等)に対応していますか?

はい、HS256(HMAC)、RS256(RSA)、ES256(楕円曲線)など、主流のJWT署名アルゴリズムに対応しています。トークンのヘッダーに記載されるアルゴリズムが自動的に認識され、対応するアルゴリズムでデコードされます。

秘密鍵をブラウザに入力しても安全ですか?

本ツールはブラウザ上で完全に動作するため、入力した秘密鍵がサーバーに送信されることはありません。秘密鍵はローカルメモリのみで処理されて即座に破棄されるため、セキュリティ上の懸念は最小限です。ただし、借用PCやセキュリティが不確実な環境での使用は避けてください。

ネストされたJWT(JWE)に対応していますか?

本ツールは標準的なJWS(JSON Web Signature)形式のトークンを対象としています。JWE(JSON Web Encryption)などの暗号化されたトークンは、最初の暗号化を解除する必要があるため、本ツールだけでは完全なデコードはできません。その場合は専用のJWEデコーダーを別途使用してください。