JWTトークンのデコード方法(Header, Payload, Signature)

公開日 April 18, 2026

クイック概要

JWT(JSON Web Token)のデコード方法を解説します。header.payload.signatureの3つの構造、iat/nbf/expクレームの意味、デコードと署名検証の重要な違い、Base64URLを安全にデコードする手順を紹介する開発者向けガイドです。

トピック: 開発者ツール

JWT(JSON Web Token)は、header.payload.signatureの3部分をドットで区切ったコンパクトなトークン形式です。各部分はBase64URLエンコードされており、デコードすることでヘッダー(アルゴリズム)とペイロード(クレーム)を確認できます。デコードと署名検証は別物であり、デコードだけではトークンの真正性を証明できません。

NeatForge JWTデコーダー は、トークンを貼り付けるだけでヘッダーとペイロードをJSONとして表示し、iat/nbf/expクレームのステータスを色分けで示します。

Base64URLの仕組みについては、Base64 エンコード・デコードガイドも参照してください。

JWTとは?

JWTは認証や情報交換に使われるオープン標準(RFC 7519)です。次の特徴を持ちます:

  • 自己完結型:トークン自体にクレーム(ユーザーID、ロール、有効期限)を含む。
  • 署名付き:HMACやRSAで署名され、改ざんを検出可能。
  • コンパクト:URL、HTTPヘッダー、JSON内で送信できる。

JWTの3つの部分とは?

JWTは xxxxx.yyyyy.zzzzz の形式で、3つのBase64URLエンコード部分から成ります:

  • Header:トークンタイプ(JWT)と署名アルゴリズム(HS256など)。
  • Payload:クレームのセット。subiatexpなど。
  • Signature:エンコード済みheaderとpayloadを秘密鍵で署名した値。

HeaderとPayloadはBase64URLでエンコードされているだけで暗号化されていないため、誰でもデコードして読めます。署名は改ざん検出用であり、機密性の保証ではありません。

iat、nbf、expクレームの意味

  • iat(issued at):トークンが発行された時刻。Unixタイムスタンプ(秒)。
  • nbf(not before):トークンが有効になる最も早い時刻。
  • exp(expiration):トークンが無効になる時刻。

これらはすべて秒単位のUnixタイムスタンプです。expを過ぎたトークンはサーバーで拒否されるべきです。

デコードと検証の違い(重要)

  • デコード:Base64URLをデコードしてJSONを読むだけ。誰でも可能。
  • 検証:署名を秘密鍵または公開鍵で確認し、トークンが信頼できる発行者由来であることを証明する。

デコード結果を信用してはいけません。攻撃者は任意のクレームを持つトークンを簡単に作成できるため、本番環境では必ず署名検証を行ってください。

安全なデコード方法

  1. JWTデコーダー を開きます。
  2. JWTを入力ボックスに貼り付けます。
  3. デコードされたヘッダーとペイロードがJSONで即座に表示されます。
  4. iat/nbf/expのステータスを色で確認します。
  5. 必要に応じてJSONをコピーします。

プライバシーについて

すべてのデコードはブラウザ内でローカルに行われます。トークンはサーバーへ送信・保存されません。ただし、本番トークンを信頼できないサイトに貼り付けないでください。スクリーンショットやサポートチケットでのJWT共有も避けましょう。

FAQ

Q. デコードすればJWTの内容は誰でも読めますか? はい。HeaderとPayloadは暗号化されておらず、Base64URLエンコードのみです。機密情報をPayloadに入れないでください。

Q. 期限切れのJWTをデコードできますか? はい。デコード自体は期限と無関係です。ただしサーバーはexpを過ぎたトークンを拒否すべきです。

Q. 署名を検証しないとどうなりますか? 攻撃者が偽のクレームを持つトークンを送り付けられても検出できず、認証が突破されます。

→ 無料のJWTデコーダーを開く

広告

このトピックを見る

開発者ツール

このクラスターのガイドをさらに読み、関連ツールへすばやく移動できます。

トピックガイドを見る

おすすめツール

関連ガイド