JWTジェネレーター・署名ツール

🔒 ブラウザ内で完結 — 何もアップロードされません。
クイック追加:
 

このツールについて

jwtviewer.com はトークンをデコードし、jwtparser はトークンを作成します。claimsを設定し、HMACアルゴリズムを選び、シークレットを入力すると、Web Crypto APIでリアルタイムに署名します。bearer tokenを要求するAPIのテスト、テストでの認証セットアップ、特定の exprole でのバグ再現に便利です。

HMAC(共有シークレット)アルゴリズムのみ対応 — 本番の実トークンをここで署名しないでください。生成トークンはテスト専用と考えてください。すべてローカルで行われ、シークレットとpayloadはブラウザの外に出ません。トークンのデコードや検証には jwtviewer.com をどうぞ。

署名は RFC 7519 に従います:ツールが header {"alg":…,"typ":"JWT"} を組み立て、header と payload を Base64url エンコードし、header.payload に対してシークレットで HMAC-SHA 署名を Web Crypto API で計算します。HS384 と HS512 は HS256 より長いハッシュを使うだけ——バックエンドが期待するものを選んでください。expiatnbf などの時刻 claim は Unix 秒なので、クイック追加ボタンが自動計算します。出力の 3 つの部分は色分けされ、header・payload・署名の境界が一目で分かります。

よくある質問

このツールで RS256 トークンを作成できますか?

いいえ。共有シークレットで署名する HMAC 系(HS256・HS384・HS512)のみです。RS256 には RSA 秘密鍵が必要です。テスト用途なら HMAC で通常十分です。トークンのデコードや検証は jwtviewer.com をどうぞ。

ここにシークレットを入力しても安全ですか?

署名は Web Crypto API によりすべてブラウザ内で行われ、シークレットと payload はアップロードされません。それでも、ここでは使い捨てのテスト用シークレットのみを使い、本番の署名鍵は決して使わないのがベストプラクティスです。

トークンの有効期限はどう設定しますか?

exp claim は秒単位の Unix タイムスタンプです。クイック追加ボタン(exp = +1h・+1d・+7d)をクリックするか自分で値を入力してください。変更のたびにトークンは即座に再署名されます。

なぜ API が生成したトークンを拒否するのですか?

よくある原因:シークレットがサーバーと一致しない、アルゴリズムがバックエンドの期待と異なる、exp が既に過去、あるいはサーバーが RS256 などの非対称アルゴリズムを要求している。jwtviewer.com でトークンをデコードして claim を見比べてください。