JWTデコーダー

JWT(JSON Web Token)をデコードして内容を確認します。

使用例

ログイントークンに含まれる情報を確認する

サーバーが発行したJWTアクセストークンにどんなクレーム(ユーザーID、権限など)が入っているか知りたい場合は?貼り付けるとヘッダーとペイロードが読みやすいJSONですぐに表示されます。

トークンの有効期限を確認する

ログインがすぐ切れる問題をデバッグしている場合は?expクレームを人が読める日時で表示し、すでに期限切れかどうかもバッジで教えてくれます。

署名アルゴリズムを確認する

トークンがHS256なのかRS256なのか分からない場合は?ヘッダーのalg値をサマリー欄にすぐ表示します。

デコード結果をそのままチームメンバーに共有する

同僚に「このトークン見て」と伝えたい場合は?「共有リンクをコピー」を押すと、今入力しているトークンを含むリンクがコピーされ、開いた人には同じトークンがすぐデコードされた画面が表示されます。

よくある質問

このツールは署名を検証しますか?

いいえ。署名を検証するには発行者だけが知る秘密鍵(または公開鍵)が必要で、それをどこかのサイトに入力すること自体がセキュリティ上のリスクです。このツールはヘッダーとペイロードをデコードして表示するだけで、署名が有効かどうかは確認しません。

共有リンクにはトークンがどう含まれますか?

「共有リンクをコピー」を押すと、アドレスの末尾に?jwt=トークン値が付いたリンクがコピーされます。つまりトークン自体がURLにそのまま露出します。そのリンクを開くと、保存されていた値の代わりにこのトークンがすぐデコードされて表示され、ローカルストレージもこの値に更新されます。チャットやメールでリンクを共有すると、その履歴にトークンがそのまま残ることがあるため、実際のサービスで使われている有効なトークンの場合は共有前にもう一度考えることをおすすめします。

貼り付けたトークンはサーバーに送信されますか?

いいえ。すべてのデコードはブラウザ内でのみ行われ、サーバーには送信されません。次回訪問時に続きから見られるよう、入力したトークンはブラウザのローカルストレージ(localStorage)にのみ保存され、他の端末やブラウザとは共有されません。入力欄をクリアすると保存内容も削除されます。ただし、実際のサービスで使われているトークンをむやみに他のサイトに貼り付けるのは避けるべきです。

exp、iat、nbfとは何ですか?

JWTでよく使われる標準クレームです。iatは発行時刻、expは有効期限、nbf(not before)はその時刻より前は使用できないという有効開始時刻を意味します。いずれも1970年1月1日からの経過秒数(Unixタイムスタンプ)として保存されており、このツールが人が読みやすい日時に変換して表示します。

形式が正しくないというエラーが出ます。

JWTはピリオド(.)で区切られた3つの部分(ヘッダー.ペイロード.署名)である必要があります。余分な空白が混ざっていないか、トークンが途中で切れてコピーされていないか確認してください。