JWT を貼り付け
ヘッダー(Header)
ペイロード(Payload)
署名(Signature) · 未検証
署名はそのまま表示するだけで検証はしません(検証には秘密鍵/公開鍵が必要です)。
API のデバッグや認証まわりの調査で出てくる JWT(JSON Web Token)を、貼り付けるだけで中身を読めるようにするツールです。`header.payload.signature` の3つの base64url 部分を分解し、ヘッダーとペイロードをインデント付きの JSON に整形して表示します。`alg`(HS256 / RS256 など)や `typ` はヘッダー欄の見出しに表示し、ペイロードの `exp`(有効期限)・`iat`(発行時刻)・`nbf`(有効開始)・`auth_time` といった Unix 秒のクレームは、あなたのタイムゾーンの読みやすい日時へ自動変換します。`exp` が過去なら「期限切れ」、`nbf` が未来なら「まだ有効ではありません」とその場でバッジ表示するので、トークンが切れているかどうかをひと目で確認できます。先頭の `Bearer ` は自動で取り除くので、ヘッダーからコピーした値をそのまま貼り付けられます。JWT はアクセストークンやセッション、個人情報(メールアドレス・ユーザー ID など)を含むことが多いため、本ツールは復号のすべてをあなたのブラウザの中だけで実行し、トークンをサーバーへアップロード・保存・送信しません。なお、本ツールは**署名の検証は行いません**。署名検証には発行側の秘密鍵(HS256)または公開鍵(RS256/ES256)が必要で、それらを Web ページで扱うのは安全でないためです。デコードはトークンの中身を確認する用途に、検証はサーバー側のライブラリでお使いください。
使い方
- 左の入力欄に JWT を貼り付けます(「サンプル」で例を入れて試せます)。先頭に `Bearer ` が付いていてもそのままで大丈夫です。
- 右にヘッダーとペイロードが整形 JSON で即時表示され、exp・iat・nbf などの時刻は読みやすい日時に展開されます。
- 期限切れ/有効開始前のトークンはバッジで分かります。各欄の「コピー」で JSON をコピー。トークンはどこにも送信されません。
よくある質問
貼り付けた JWT はアップロードされますか?
いいえ。デコードはすべてあなたのブラウザ内(JavaScript)で実行され、トークンはサーバーへアップロード・保存・送信されません。アクセストークンやセッションなど機微な値を含む JWT も、端末の中だけで処理されます。
署名は検証されますか?
いいえ。本ツールはヘッダーとペイロードの**復号(表示)のみ**を行い、署名は検証しません。検証には発行側の秘密鍵(HS256)または公開鍵(RS256/ES256)が必要で、それらをブラウザのページに入力するのは安全でないためです。中身の確認に本ツールを、検証はサーバー側のライブラリでお使いください。
exp や iat の数字が日時で表示されるのはなぜ?
JWT の exp(有効期限)・iat(発行時刻)・nbf(有効開始)・auth_time は Unix 秒(1970年からの経過秒)で格納されます。本ツールはこれらを自動で検出し、あなたのタイムゾーンの読みやすい日時に変換して並べます。exp が過去なら「期限切れ」、nbf が未来なら「まだ有効ではありません」と表示します。
「Not a JWT」「デコードできません」と出ます。
JWT は `header.payload.signature` のようにドットで区切られた base64url の文字列です。ドットが無い・部分が欠けている・base64url として壊れている場合はデコードできません。トークン全体を過不足なくコピーできているか、改行や余分な空白が混ざっていないかを確認してください。
暗号化されたトークン(JWE)も読めますか?
いいえ。本ツールは署名付きトークン(JWS、いわゆる通常の JWT)のヘッダー/ペイロードを base64url から復号して表示します。ペイロードが暗号化された JWE は鍵が無いと中身を読めないため対象外です。