JWTデコーダー:JWTトークンを無料でデコード | オンラインツール
123 回使用JWTデコーダーのヒント
JWTを即座にデコード
JWTトークンを貼り付けるとヘッダーとペイロードがフォーマットされたJSONで表示されます。
トークンの有効期限を確認
発行時刻と有効期限を自動検出し、有効性ステータスを表示します。
全クレームを確認
標準クレームとカスタムクレームを見やすく表示します。
ブラウザ内のみ
JWTのデコードはすべてブラウザ内で行われます。
よくある質問
デコード後にペイロードを変更してもJWTは有効ですか?
ペイロードを変更すると署名が壊れます。署名はエンコードされたヘッダーとペイロードを秘密鍵と組み合わせた暗号化ハッシュです。ペイロードの1文字でも変えると署名が一致しなくなります。これがJWTの本質です — 改ざん検出です。封蝋で密封された封筒を想像してください。このツールは中身を表示しますが、変更するとトークンは完全に無効になります。
JWTの'iat'が未来の日付になるのはなぜですか?
'iat'(発行時刻)クレームはUnixタイムスタンプ(秒単位)です。システムクロックが数分以上ずれていると、未来の日付が表示されます。多くのサーバーは30〜60秒の誤差を許容します。まずデバイスの時刻同期を確認してください — それが一般的な原因です。このツールはタイムスタンプを人が読める日付に変換するので、不一致をすぐに見つけられます。
このJWTデコーダーは、特殊文字や不正な構造を含むトークン形式でも動作しますか?
標準的なJWTは問題なく処理できます。しかし、ドットが欠けていたり、Base64パディングが無効だったり、余計な文字が混ざったトークンは、明確なパースエラーを表示します。どこで問題が起きたか正確に分かります。たとえば、ペイロードに余分な「=」がある場合、ツールがその不一致を強調表示します。サードパーティAPIの不正なトークンをデバッグするのに便利です。誤った警告を避けるため、最初は適切にエンコードされたトークンを使ってください。
JWTを取得されたらセッションを乗っ取られますか?
はい、その通りです。JWTはデジタル鍵のようなもので、誰でも保持者になりすましてアクセスできます。本番環境のトークンを不審なサイトに貼らないでください。このツールはブラウザ内で完結するので、トークンが外部に漏れることはありません。HTTPSを使い、有効期限は15分以内に設定し、サーバー側でトークンを無効化しましょう。24時間有効なJWTが流出すると大きなリスクです。
JWTの'nbf'が未来の日時を示すのはなぜですか?
'nbf'(not before)クレームは、そのタイムスタンプまでトークンが無効であることを意味します。システム間の時計のずれが原因で、サーバーは早期の使用を拒否します。発行元のシステム時刻がNTPで同期されているか確認してください。このツールはUnixタイムスタンプをあなたのローカル時間に変換します。'nbf'が30秒先なら、テスト前に少し待ちましょう。
コンソールに誤ってログを残さずにJWTをデコードするには?
テキストエリアにトークンを貼り付けて「デコード」を押すだけで、結果は右側のパネルに表示され、ブラウザのコンソールには一切出力されません。ネットワークリクエストも発生しないため、DevToolsのNetworkタブにも表示されません。注意点が1つ:URLバーからトークンをコピーする場合、署名が切れてしまう可能性があるので、完全な文字列を取得してください。共有マシンを使っているなら、その後クリップボードもクリアしておきましょう。
JWTの署名が一致しない場合はどうなりますか?
結果パネルの上部に明確な警告バナーが表示され、署名セクションには赤い不一致インジケーターが出ます。ヘッダーとペイロードは引き続きデコードされますが、それらのクレームは一切信頼しないでください。API応答でこの状態になった場合、トークンが転送中に改変されたか、異なる秘密鍵で署名された可能性が高いです。当ツールは署名を暗号学的に検証しないため、不一致の理由は推測しません。署名キーと貼り付けたトークン文字列を確認してください。余分なスペースや文字欠落がよくある原因です。
見た目が同じJWTなのに、デコード結果のクレームが違うのはなぜ?
実際は同じではない可能性が高いです。末尾のスペースやBase64URLのパディングが微妙に違うだけで、署名部分の1文字の違いが出力を変えます。ただし、ヘッダーとペイロードは独立してデコードされるので、そこが一致すればクレームも同じになります。一方、別々のログインイベント由来なら、'iat'や'jti'はほぼ確実に異なります。当ツールでは各デコード済みセクションの下に文字数を表示しているので、差分にすぐ気づけます。まずは貼り付けた生の文字列を比較してみてください。
デコードされたトークンの中で、有効期限はどこを見れば分かりますか?
トークンを貼り付けた後、ペイロード部分にある 'exp' というクレームを確認してください。このUnixタイムスタンプはセッションが切れる正確な秒数(例: 1715000000)を示しています。当ツールはその数値を自動で現地の時刻に変換するため、自分で計算する必要はありません。この時間が過ぎている場合、APIは401エラーを返します。突然のログインエラー時はまずここを見てください。
このツールは認証トークンを保存したり盗み見したりしますか?
トークンを貼り付けても、データがブラウザの外に出ることはありません。デコーダーはJavaScriptを使い完全にクライアント側で動作するため、外部サーバーへの送信は一切ありません。デコード中にブラウザの開発者ツールからネットワークタブを確認すればそれが分かります。本番環境の機密トークンを扱うバックエンド開発者も安心してテストできますよ。
JWTデコーダーの使い方
- JWTトークンを貼り付け
- ヘッダー、ペイロード、署名が自動デコード
- メタデータとクレームを確認
- 必要なセクションをコピー