JWT デコード
JWTの中身(ヘッダーとペイロード)をサクッとデコードして確認できます。API連携のデバッグにどうぞ。
入力したデータはサーバーに送りません。すべてブラウザ内で処理するので、APIキーや機密情報も安心して使えます。
▶このツールについて
JWTトークンを貼り付けるだけで、即座にHeaderとPayloadをJSON形式でデコード表示するツールです。有効期限(exp)やユーザーID(sub)などのクレーム確認に便利。ブラウザ内で完結するため、トークンの内容を安全にチェックできます。
ツール操作
※ 入力・貼り付け時に自動でデコードされます
署名の検証 (Signature Verification)
JWT(JSON Web Token)とは? 仕組みとデコードの基礎
JWT(JSON Web Token:ジョットと発音します)は、WebアプリケーションやAPI間で安全に情報をやり取りするための、コンパクトでURLセーフなトークン規格(RFC 7519)です。 主にステートレスな認証(Authentication)や情報交換(Information Exchange)の用途で広く使われています。
JWTの3つの基本構造
JWTは、ドット(.)で区切られた3つの文字列(Base64URLエンコード)で構成されています。
- 1. Header(ヘッダー)
トークンの種類(JWT)と、署名に使われている暗号化アルゴリズム(例:HMAC SHA256やRSA)がJSON形式で定義されています。
- 2. Payload(ペイロード / クレーム)
実際に伝達したいデータの中身です。ユーザーID(
sub)や発行者(iss)、有効期限(exp)などが含まれます。※Base64になっているだけで暗号化はされていないため、パスワードなどの機密情報は絶対に入れないでください。 - 3. Signature(署名)
HeaderとPayloadを組み合わせ、サーバーだけが知っている「シークレットキー(秘密鍵)」を使って生成されたハッシュ値です。これにより、途中で内容が改ざんされていないことを保証します。
なぜオンラインデコーダーでデコードできるのか?
上記で説明した通り、JWTの前半2つ(HeaderとPayload)は、単にBase64URLエンコードされているだけです。 暗号化ではないため、パスワードや秘密鍵を知らなくても、エンコードの逆(デコード)を行うだけで誰でも簡単に中身のJSONを読み取ることができます。 これが、本ページのようなデコードツールで中身がすっぽり見えてしまう理由です。
各種プログラミング言語でのデコード例
手動でデコードする以外にも、コード上でJWTの中身だけを確認したい場合は以下のように記述します。
Node.js (JavaScript)
const token = "eyJhbG...";
const [header, payload, signature] = token.split('.');
const decodedPayload = JSON.parse(Buffer.from(payload, 'base64').toString('utf8'));
console.log(decodedPayload); セキュリティ上の注意点:完全ローカルでのデコードを推奨
本番環境の認証トークン(Bearer)には、個人が特定できるIDや有効なアクセストークンが含まれています。 もし悪意のあるデコードツールに本番のトークンを貼り付けると、そのツールにトークンを窃取され、あなたに成りすましてAPIを叩かれる危険性(アカウント乗っ取り)があります。
当サイトの「JWTデコードツール」は、入力されたトークンを外部サーバーへ一切送信せず、すべてブラウザ側(JavaScript)だけで解析処理を完結させています。 機密性の高いトークンのデバッグ用途としても安全にご利用いただけます。
使い方
- JWT(JSON Web Token)を入力欄に貼り付けます
- デコードボタンをクリックするとHeaderとPayloadがJSON形式で表示されます
- exp・sub・audなどのクレームを確認できます。署名検証は行いません