JWTデコーダー
JWTの3セグメントを分け、HeaderとPayloadを整形JSONへデコードします。alg / typ / kidやiss / aud / subを確認でき、exp / nbf / iatは値とUTC・JST日時を表示しますが、期限判定と署名検証は行いません。
ページ更新日:
issuer・audience・subject などのclaimを先に見たいケースに向いています。期限(exp)だけを素早く確認したい場合はJWT期限チェッカーを使うと切り分けが速くなります。
使いどころ
- API認証エラー時に、claimの値が想定どおりかを確認したい。
- 受け取ったJWTの`iss` / `aud` / `sub`を目視で切り分けたい。
- expだけでなく、iat / nbf を含めた時刻クレーム全体を見たい。
ツール本体
入力・操作・結果
上から入力し、必要な操作を行って、表示された結果と次の操作を確認してください。
HeaderとPayloadを可読化するツールです。署名の真正性、発行元の信頼性、認可可否は検証しません。
入力データは原則ブラウザ内で処理し、URLやアクセス解析へ保存しません。ページを更新すると入力は失われます。機密情報は入力しないでください。
使い方
- JWT文字列(Bearer付きでも可)を入力します。
- 「構造をデコード」を押して Header / Payload / Signature を確認します。
- 代表claimと整形JSONを確認し、期限の状態判定が必要ならJWT期限チェッカーへ進みます。
判断基準
まず `alg` と `typ` を確認し、次に `iss` / `aud` / `sub` の整合、最後に `exp` / `nbf` / `iat` の時刻を確認する順に見ると、 認可エラーの切り分けが速くなります。
よくある失敗
- アクセストークンとIDトークンを取り違えて、`aud` 不一致を見落とす。
- ミリ秒と秒を混同して `exp` の有効期限を誤判定する。
- 署名検証済みと勘違いし、デコード結果だけで安全性判断をする。
境界条件
- JWE(暗号化JWT)の復号には対応していません。
- 一般的には時刻判定はサーバー時刻との差分(clock skew)を考慮します。
- 署名妥当性は認証基盤側または専用検証ロジックで確認してください。
具体例
- 入力: `Bearer eyJ...` のJWT。出力: Header/Payloadが展開され、`sub` と `role` を目視確認できます。
- 入力: `exp` を含むJWT。出力: 元の数値とUTC・JST日時を表示し、期限状態は断定しません。
注意点
- このツールは構造とclaimの読解に特化し、期限切れ判定と署名検証は行いません。
- 機密トークン・個人情報を含むJWTは入力しないでください。
- exp / iat / nbf は数値のUnix秒クレームのみ日時表示します。
このツールを使う場面
- 確認できること
- JWTのHeaderとPayloadを展開し、代表claim、セグメント長、exp・nbf・iatの値と日時を読解できます。
- 使う前に見るポイント
- 確認してよい検証用トークンかを判断し、Bearer付きの場合もそのまま入力できます。
- 結果を見たあとにやること
- 「構造をデコード」でclaimの値を確認し、期限が気になる場合はJWT期限チェッカーでexpを見ます。
このツールを含む進め方
作業全体に戻る場合は、近い課題別ページを開いてください。
開発でID・エンコード・ハッシュを扱う前の確認手順
ID、エンコード済み文字列、ハッシュ値は見た目が似ていても役割が違います。作るのか、戻すのか、照合するのかを先に決めます。
失敗しやすい確認例
署名検証済みと誤解する
本ツールはデコードのみで署名の正当性は確認しません。
例: 判断ポイント: 本番認可判断は検証ライブラリで実施
IDトークンとアクセストークンを混同する
用途が異なるためaudやclaim解釈がずれます。
例: 入力例: id_tokenをAPI認可用途で確認してしまう
境界値・例外ケース
exp/nbf/iatの単位差
秒とミリ秒を混同すると有効期限判定が大きくずれます。
例: 判断ポイント: JWT標準は秒前提で確認する
Bearerプレフィックス付き入力
前置詞を含む文字列でも分離して解析します。
例: 入力例: Bearer eyJ... / 出力: token部分を解析
よくあるミス
alg=none等のヘッダー異常を見落とす
ヘッダー確認を飛ばすと脆弱な設定を見逃します。
例: 運用例: 先にalg/typを必ず確認する
時刻判定時にタイムゾーンを固定しない
運用ログと比較するときに解釈差が出ます。
例: 判断ポイント: UTC基準で比較後にJSTへ換算する
FAQ
署名の正しさまで確認できますか?
できません。表示はHeader・Payloadのデコード結果であり、署名検証は別途実施が必要です。
Bearer付き文字列をそのまま貼り付けられますか?
はい。先頭のBearer前置詞は自動で除去して処理します。
期限切れ判定だけを先に確認したいです。
期限確認中心ならJWT期限チェッカーを使うと、exp・nbf・残り時間を確認できます。
exp / iat / nbf が表示されない場合はありますか?
あります。数値でない値や不正な値は日時表示せず、そのままPayloadを確認してください。
基本FAQ
入力データは外部へ送信されますか?
原則として送信されません。入力内容はブラウザ内で処理し、URLやアクセス解析へ保存しません。例外がある場合は各ツールページ内に明記しています。
入力内容は自動保存されますか?
原則として自動保存しません。ページを更新すると入力は失われます。コピーやダウンロードで保存する場合は、ご利用端末内に保存されます。
同じ目的のJWT確認ツール
JWTのpayload確認とexpの期限確認を、貼り付けた文字列だけで確認できます。
関連ツール
同じ作業の前後で使うことがあるツールです。