{ }JSONKit.tools

JWT デコーダー(オンライン)

JSON Web Token を貼り付けて、実際に何が入っているかを読み取ります。ヘッダーとペイロードは整形済みの JSON で、有効期限と有効開始時刻は平易な表現に置き換えて表示します。

トークン

デコード結果

入力を待っています…

このツールについて

JWT はドットでつながれた 3 つの Base64url セグメント — ヘッダー、ペイロード、署名 — でできています。最初の 2 つは符号化された JSON にすぎないため、鍵がなくてもどのトークンも読めます。それがこのページの目的であり、同時にトークンに秘密を入れてはいけない理由でもあります。署名は表示しますが検証はしません。検証には鍵が必要で、鍵はブラウザのタブに置くものではないからです。ここへ来る理由はたいてい時刻の claim なので、exp と nbf はお使いの時計と比較し、生の epoch 値ではなく「3 日後に失効します」のような形で表示します。

使い方

  1. 1トークンを左のパネルに貼り付けます。Bearer 接頭辞は付いていても取り除かれます。
  2. 2右側でデコードされたヘッダーとペイロードを読みます。有効期限はステータスバーに出ます。
  3. 3ペイロードが大きく一部をたたみたいときは、ツリー表示に切り替えます。

よくある質問

›署名は検証されますか?

いいえ。そしてブラウザ上のツールに検証はできません。検証には秘密鍵か公開鍵が必要で、秘密を Web ページに貼り付けるのはまさにやってはいけないことです。ここではトークンをデコードして主張内容を読めるようにします。検証は鍵を持つサーバー側で行ってください。

›JWT は暗号化されていますか?

いいえ。ヘッダーとペイロードは Base64url であり、暗号化ではなく符号化です。トークンを持つ人は誰でもすべての claim を読めます。だからこそ JWT にパスワードやカード番号などの秘密を載せてはいけません。

›iat、exp、nbf は何を意味しますか?

発行時刻、有効期限、有効開始時刻で、いずれも Unix epoch からの秒数です。このページはお使いの時計を使って exp と nbf を平易な表現に変換します(「3 日後に失効します」「2 時間前に失効しました」)。

›トークンがデコードできないのはなぜですか?

たいていはコピーが途中で切れています。JWT にはドットで区切られた 3 つの部分がちょうど必要です。先頭に残った「Bearer 」でも壊れますし、途中で URL エンコードされたトークンでも同様です。

›トークンはどこかに送られますか?

いいえ。デコードは完全にブラウザ内で行われ、アップロードも記録も保存もされません。有効なトークンは資格情報そのものなので、他の多くのページ以上に重要です。