JWTデコーダー - JSON Webトークンデコード オンライン
JWTのヘッダー、ペイロード、署名を即座にデコード・検査。トークンの有効期限とクレームを検証 — サーバー送信なし、100%クライアント処理。
よくある質問
JSON Webトークン(JWT)とは何ですか?
JWT(JSON Webトークン)は、当事者間でJSONオブジェクトとして情報を安全に送信するためのオープン標準(RFC 7519)です。ドットで区切られた3つの部分で構成されます:ヘッダー(アルゴリズムとトークンタイプ)、ペイロード(クレーム/データ)、署名(検証用)。JWTはWebアプリケーションでの認証と認可に一般的に使用されます。
このJWTデコーダーはどのように使用しますか?
入力フィールドにJWTトークンを貼り付けるだけです。ツールは自動的にデコードし、ヘッダー、ペイロード、署名を別々のタブに表示します。各タブをクリックして、デコードされたJSONコンテンツを表示できます。署名を検証するには、検証セクションでシークレットキー(HMAC用)または公開鍵(RSA用)を入力してください。
ここでJWTをデコードするのは安全ですか?
はい、このツールは100%クライアントサイドです。JWTトークンはブラウザから外に出ることはありません - すべてのデコードと検証はJavaScriptを使用してローカルで行われます。サーバーにデータは送信されません。ただし、ペイロードはBase64エンコードされているだけで暗号化されていないため、機密情報を含むJWTを公開で共有しないでください。
JWTクレームとは何ですか?
クレームはエンティティ(通常はユーザー)と追加データに関する記述です。標準クレームには以下が含まれます:exp(有効期限)、iat(発行時刻)、nbf(有効開始時刻)、sub(サブジェクト)、iss(発行者)、aud(対象者)、jti(JWT ID)。ユーザーロールや権限などのアプリケーション固有のデータ用にカスタムクレームも追加できます。
署名検証はどのように機能しますか?
JWT署名はトークンが改ざんされていないことを保証します。HMACアルゴリズム(HS256、HS384、HS512)の場合、当事者間で共有されるシークレットキーを使用して署名が作成されます。RSAアルゴリズム(RS256、RS384、RS512)の場合、非対称鍵ペアが使用されます - 署名には秘密鍵、検証には公開鍵。このツールは安全な検証のためにWeb Crypto APIを使用しています。
コード例
// Decode JWT (without verification)
function decodeJWT(token) {
const [headerB64, payloadB64] = token.split('.');
const decodeBase64Url = (str) => {
const base64 = str.replace(/-/g, '+').replace(/_/g, '/');
return JSON.parse(atob(base64));
};
return {
header: decodeBase64Url(headerB64),
payload: decodeBase64Url(payloadB64)
};
}
const token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
const { header, payload } = decodeJWT(token);
console.log(payload);