コンテンツへスキップ
🚀 10件のツールが公開中、ずっと無料 — ツールボックスは成長を続けます
セキュリティツール

JWT デコーダー

どんな JSON Web Token でも読める無料の JWT デコーダーです。トークンを貼り付けると、ヘッダー・ペイロード・署名、標準クレームごとの解説、そして有効期限が切れているかどうかがわかります。デコードは完全にブラウザー内で行われ、トークンはどこにも送信されません。

JWT デコーダー

下に JSON Web Token を貼り付けてください。入力に合わせてブラウザー内でデコードされ、アップロードも保存もされません。

デコード結果

上にトークンを貼り付けるとデコードします。

トークンの状態

まだ何もデコードしていません。

すべてブラウザー内で動きます。

トークンは JavaScript でローカルにデコードされます。サーバーに送信されることも、記録されることも、保存されることもありません。ブラウザーのストレージにも残りません。

標準クレームの意味

iss
発行者。トークンを作成して署名した主体で、通常は ID プロバイダーの URL です。検証側は、期待する発行者と一致するかを確認する必要があります。
sub
主体。トークンが誰についてのものかを示します。メールアドレスは変わるため、通常は変わらないユーザー ID が使われます。
aud
対象者。トークンが誰向けかを示します。署名が正しくても、対象者が自分でないトークンは API 側で拒否すべきです。
exp
有効期限。秒単位の Unix タイムスタンプです。この時刻を過ぎたトークンは拒否しなければなりません。ほとんどの 401 応答の原因はこのクレームです。
💡 JWT デコーダー

JSON Web Token は、Base64url でエンコードされた 3 つの部分を 1 本の文字列にまとめたものです。署名方法を示すヘッダー、ユーザーとセッションに関するクレームを収めたペイロード、そして署名です。前の 2 つはエンコードされているだけで暗号化はされていないため、トークンを持つ人は誰でも読めます。このデコーダーは、その中身をそのまま見せてくれます。

主なメリット

✓ ヘッダー・ペイロード・署名を分けて表示
✓ 標準クレームをその場で解説
✓ 有効期限を実際の日付とわかりやすい表現で表示
✓ データはブラウザーの外に出ない

よくある用途

• 401 を返すログインや API 呼び出しの調査
• トークンが期限切れとして拒否される理由の確認
• アクセストークン内のスコープやロールの確認
• ヘッダーを読んで、どの鍵で署名されたかを確認

使い方

  1. 1.トークンを貼り付ける。ドット 2 つを含めてトークン全体を貼り付けてください。先頭の Bearerは自動で取り除かれます。
  2. 2.状態パネルを読む。署名アルゴリズム、鍵 ID があればその値、そして期限切れかどうかが表示されます。
  3. 3.クレームを確認する。標準クレームが先に並び、タイムスタンプは実際の日付に変換されます。独自のクレームはその後に続きます。
  4. 4.必要な部分をコピーする。ヘッダーとペイロードにはそれぞれコピーボタンがあり、チケットやテストにそのまま貼れます。

標準クレームの意味

ほとんどのトークンには、登録済みクレームがいくつか入っています。よく見かけるものと、それぞれが実際に何のためにあるのかをまとめました。

iss
発行者。トークンを作成して署名した主体で、通常は ID プロバイダーの URL です。検証側は、期待する発行者と一致するかを確認する必要があります。
sub
主体。トークンが誰についてのものかを示します。メールアドレスは変わるため、通常は変わらないユーザー ID が使われます。
aud
対象者。トークンが誰向けかを示します。署名が正しくても、対象者が自分でないトークンは API 側で拒否すべきです。
exp
有効期限。秒単位の Unix タイムスタンプです。この時刻を過ぎたトークンは拒否しなければなりません。ほとんどの 401 応答の原因はこのクレームです。
nbf
開始時刻。この時刻までトークンは無効です。動作させたい時刻より前に発行するトークンで役立ちます。
iat
発行時刻。トークンが作成された時刻です。古すぎるトークンを拒否するために使うシステムもあります。
jti
トークン ID。このトークン固有の識別子で、使い回しの検出や、特定のトークンだけの失効に使われます。
alg / kid
ペイロードではなくヘッダーに入ります。どのアルゴリズムで署名したか、どの鍵で署名したかを示し、検証側が正しい公開鍵を選べるようにします。

主な機能

  • ヘッダー・ペイロード・署名を個別にデコード
  • exp・nbf・iat を読みやすい日付と相対時間に変換
  • 期限切れのトークン、まだ有効でないトークン、alg: none を警告
  • 登録済みクレームを値のそばで解説
  • デコードしたヘッダーとペイロードのコピーボタン
  • ページ読み込み後はオフラインでも動作
  • アカウント不要、アップロードなし、保存なし

デコードは検証ではありません

これはどの JWT デコーダーについても、そしてこのツールについても、いちばん大事な点です。デコードは Base64url を読み解いて JSON を見せるだけで、そのトークンが本物かどうかは何も証明しません。"role":"admin"と書いたトークンは誰でも作れますし、ここでは問題なくデコードされます。

トークンが本物だと示せるのは、発行者の鍵で署名を検証したときだけで、その処理はブラウザーのタブではなくサーバーで行うものです。ここに表示される内容は、調査用の読み出しであって証拠ではないと考えてください。またペイロードは単にエンコードされているだけなので、秘密の情報を入れてはいけません。JWT は持っている人全員に読めます。さらに詳しく、401 の原因になるクレーム、アルゴリズムの混同、JWT を失効させられない理由までは、JSON Web Token のデコードとデバッグのガイドをご覧ください。

よくある質問

JWT とは何ですか。⌄

JSON Web Token は URL でも安全に扱える短い文字列で、ドットで区切られた Base64url エンコードの 3 つの部分からできています。署名アルゴリズムを記したヘッダー、クレームを収めたペイロード、そして署名です。ログイン後のアクセストークンや ID トークンとして使われることが多いです。

ここで JWT をデコードしても安全ですか。⌄

デコードは JavaScript で完全にブラウザー内で行われます。トークンが当サイトのサーバーに送られることも、記録されることも、ブラウザーのストレージに書き込まれることもありません。ただしトークンは期限が切れるまで有効な資格情報です。貼り付ける場所では常にパスワードと同じように扱ってください。

署名は検証されますか。⌄

いいえ。ブラウザー上のツールが検証すべきでもありません。検証には発行者の秘密鍵または公開鍵が必要で、それはサーバーに置くものです。デコードはトークンの内容を見せるだけで、本物かどうか、改ざんされていないかは判断できません。

トークンが期限切れと表示されるのはなぜですか。⌄

exp クレームは秒単位の Unix タイムスタンプで、その時刻からトークンは無効になります。状態パネルはそれを実際の日付に変換し、どれくらい前に過ぎたかを表示します。思いがけない期限切れの原因としては、サーバーの時刻ずれがよくあります。

秘密鍵がなくてもトークンをデコードできますか。⌄

できます。ヘッダーとペイロードはエンコードされているだけで暗号化されていないため、トークンを持つ人は誰でも読めます。秘密鍵が必要なのは署名の確認だけで、中身を読むためには要りません。だからこそ、ペイロードに機密データを入れてはいけないのです。

📖
詳しいガイド
JWT 解説: JSON Web Token のデコードとデバッグ
ガイド全文を読む →
最終更新日:2026年10月18日
このページを共有