本文へスキップ

JWTデコーダー

JWT Decoder

ヘッダーとペイロードを復号し、期限のクレームを現地時刻で見せ、渡した鍵で署名も検証します。

JSON Web Tokenを復号し——ヘッダー、ペイロード、署名——標準のクレームがそれぞれ何を意味するのかを説明し、共有の秘密鍵、貼り付けた鍵、あるいは発行者のJWKSで署名を検証できます。すべてタブの中で起きます。トークンそのものは、どこへも送られません。

🔒 ブラウザの中だけで動きますjwttokenauthdecode

トークンはこのタブに留まります。

デコードも署名の検証も、ブラウザの中でWebCryptoを使って行います。何もアップロードせず、このページにサーバー側はありません。唯一出しうるリクエストは、あなたが入力したJWKS URLへのGETひとつだけで、そのリクエストに載るのはそのURLだけです。トークンもシークレットも決して載りません。

トークン

先頭の `Bearer ` は自動で取り除きます。

使い方

  1. トークンを貼り付けます

    先頭の`Bearer `は自動で外します。ヘッダー、ペイロード、署名がすぐに分かれます。押すボタンはありません。

  2. まずステータスの行を見ます

    期限切れか、まだ有効になっていないか、有効期間の中か。手元の時計に対して計算します。ペイロードの表にある時刻のクレームは、ISOの表記、現地時刻、そして生のエポック秒を並べて表示します。

  3. 必要なら署名を検証します

    HS256/384/512には共有の秘密鍵を、非対称のアルゴリズムにはJWKSのURLか貼り付けた鍵を使います。復号は、本物であることを何も証明しません。証明するのは署名の検証だけです。

よくある質問

本番のトークンをここに貼り付けても大丈夫ですか

トークンはブラウザの中で復号され、送信されることはありません。このページにサーバー側はありません。唯一行いうる通信は、入力されたJWKSのURLへのGETで、それが運ぶのはそのURLだけです。とはいえ、ブラウザのタブの中にあるトークンは画面に出ているトークンなので、パスワードと同じように扱ってください。

誰でもペイロードを読めるのですか

読めます。JWTは署名されているのであって、暗号化されてはいません。ペイロードはBase64URLで、それは符号化です。URLに入れたくないものは、JWTにも決して入れないでください。このページが1回の貼り付けで示しているのが、まさにそれです。

署名が検証できました。トークンは大丈夫ということですか

その鍵を持っている誰かが署名し、それ以降改変されていない、という意味です。有効期限についても、対象者についても、発行者についても、失効についても、何も言っていません。有効期限はステータスの行が扱います。残りはアプリケーションの仕事です。

ES256KやEd448のトークンを確認できないのはなぜですか

検証にブラウザのWebCryptoを使っていて、それらの曲線が入っていないからです。ブラウザにできるのは、HS・RS・PS・ESの256/384/512と、Ed25519です。それ以外は、黙って通すのではなく、確認できないものとして報告します。

ここから渡せます

次の一手

このツールが出したものをそのまま受け取れる道具です。