JWT デコーダー
JWTをオンラインでデコード: header、payload、読みやすいexp/iatタイムスタンプ — トークンはブラウザから出ません。
このツールについて
JSON Web Tokenを貼り付けると、headerとpayloadをシンタックスハイライト付きで表示し、exp/iat/nbfクレームを相対時間付きの読みやすい日付に変換します。トークン単体だけでなく、'Bearer eyJ…'、authorizationヘッダー1行、curl -H フラグなど、トークンを含む任意のテキストを貼り付けても自動的に抽出します。
デコードはすべてブラウザ内で行われます。JWTの最初の2セグメントはBase64URLエンコードされたJSONにすぎないため、読むのに秘密鍵は不要です。署名は表示のみで検証はしません。
よくある質問
本物のトークンを貼り付けても安全ですか?+
トークンはブラウザから出ず、デコードはローカルで行われ何も送信されません。ただしトークン自体は資格情報です。デコード結果をSlackやドキュメントにスクリーンショットで貼ると、画像内のトークン文字列を誰でもコピーしてそのまま使えます。共有が必要なら期限切れのトークンでキャプチャし、有効なトークンを露出させたらすぐに無効化(セッション破棄など)してください。
なぜ署名を検証しないのですか?+
検証にはシークレット(HS256)または公開鍵(RS256/ES256)が必要ですが、シークレットをツールに貼り付けるのは避けるべきです。デコードはトークンが「主張する内容」を示すだけで真正性は証明しません。サーバーは必ず署名を検証する必要があります。
誰でもデコードできるなら、JWTは暗号化されているのですか?+
いいえ。標準的なJWSトークンは暗号化ではなく署名されているだけです。トークンを持つ者は誰でもpayloadを読め、署名は改ざんを防ぐだけです。クレームに秘密情報を入れず、機密性が必要ならJWEを使ってください。
exp、iat、nbfは何を意味しますか?+
Unixタイムスタンプのクレームです。iat = 発行時刻、nbf = この時刻より前は無効、exp = 有効期限。サーバーは通常、適用時に数秒から数分のクロックスキューを許容します。