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