JWTジェネレーター
カスタムヘッダー、ペイロードクレーム、およびHMAC署名アルゴリズム(HS256/HS384/HS512)を使用して、署名済みのJSON Web Token(JWT)を生成します。クイッククレームプリセット、有効期限ヘルパー、ライブトークンプレビュー、および3つのJWTセグメントの視覚的な内訳が含まれています。
広告ブロッカーにより広告が表示できません
MiniWebtool は広告収益で無料提供しています。このツールが役に立ったら、Premium(広告なし+高速)をご利用いただくか、MiniWebtool.com を許可リストに追加して再読み込みしてください。
- または Premium(広告なし)にアップグレード
- MiniWebtool.com の広告を許可してから再読み込みしてください
JWTジェネレーター
署名済みJSON Web Tokenを作成するための高速で無料のオンラインツール、jwtジェネレーターへようこそ。認証フローのテスト、APIの構築、統合のデバッグ、またはJWTの仕組みの学習など、このジェネレーターを使用すれば、トークンヘッダー、ペイロードクレーム、およびHMAC署名アルゴリズムを完全に制御できます。ワンクリックで有効なHS256、HS384、またはHS512トークンを出力し、各セグメントを並べて検査できます。
JSON Web Token とは何ですか?
JSON Web Token (JWT) は、RFC 7519で定義されたコンパクトでURLセーフな資格情報形式です。JWTは2つの当事者間で主体に関するクレームを伝達し、暗号化署名を通じてその整合性を証明します。トークンは自己完結型であるため、受信者は発行者に問い合わせることなく検証できます。この特性により、JWTは現代のWebおよびモバイルアプリケーションのステートレス認証のバックボーンとなっています。
すべてのJWTは、ドットで結合された3つのBase64URLエンコードされた部分から構築されます:
- ヘッダー — トークンタイプ (
typ) と署名アルゴリズム (alg) を宣言するJSONオブジェクト。 - ペイロード — ユーザーID、有効期限、カスタムデータなどのクレームを保持するJSONオブジェクト。
- 署名 — エンコードされたヘッダーとペイロードに対するHMACまたはRSA署名で、改ざんから保護します。
base64url(header).base64url(payload).base64url(signature)例:
eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0In0.dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk
jwtジェネレーターの仕組み
このツールは、RFC 7519 §7.1の正確なJWT署名レシピに従います:
- ヘッダーJSONをコンパクトな形式(空白なし)にシリアル化し、Base64URLエンコードします。
- ペイロードJSONについても同様に行います。
- 2つをドット区切り文字で連結します。これが署名入力になります。
- シークレットと選択したSHA-2アルゴリズムを使用して、署名入力のHMACを計算します。
- 結果の署名バイトをBase64URLエンコードします。
- すべてを
header.payload.signatureとして連結します。
このジェネレーターの特徴
- 3つのセグメントのカラー視覚化 — ヘッダー(ローズ)、ペイロード(パープル)、署名(シアン)により、各パーツを瞬時に識別できます。
- Quick Claims パレット —
iss、sub、aud、iat、nbf、jtiをワンクリックで挿入できます。 - 有効期限ヘルパー — 1時間、1日、7日、30日のプリセットボタンで、正しいUnixタイムスタンプを自動的に計算します。
- ライブトークンプレビュー — 入力に合わせてエンコードされたヘッダーとペイロードが更新されるため、編集がトークンにどのように影響するかを確認できます。
- スマートヘッダー同期 — アルゴリズムを切り替えると、ヘッダーの
algフィールドが自動的に更新されます。 - Base64シークレット切り替え — シークレットがBase64(バイナリキーのJWS規則)として保存されている場合、このオプションを有効にすると、ツールは署名前にデコードします。
- セグメントごとのコピーボタン — ヘッダー、ペイロード、署名、またはトークン全体を個別にコピーできます。
- クレームサマリー — 認識された標準クレームが説明とともにリストされ、該当する場合は人間が読めるタイムスタンプも表示されます。
適切なアルゴリズムの選択
このツールがサポートする3つのHMACバリアントは、基盤となるSHA-2ハッシュと署名の長さ以外は機能的に同一です:
- HS256 — SHA-256を使用したHMAC。256ビット署名。ほぼすべてのJWT発行ライブラリのデフォルトであり、最も広く相互運用可能な選択肢です。
- HS384 — SHA-384を使用したHMAC。384ビット署名。将来の暗号解読に対してわずかに大きなマージンがあります。
- HS512 — SHA-512を使用したHMAC。512ビット署名。ポリシーで最長の標準ハッシュが必要な場合に便利です。
3つともすべて、署名者と検証者の両方が保持する共有シークレットに依存しています。RFC 7518 §3.2では、キーの長さは少なくともハッシュ出力と同じ長さであることが要求されています:HS256の場合は256ビット、HS384の場合は384ビット、HS512の場合は512ビットです。
標準登録済みクレーム
RFC 7519 §4.1は、JWTの発行者と検証者が認識すべき標準クレームの小規模なセットを定義しています。これらはすべてオプションですが、広くサポートされています:
iss(発行者) — トークンを作成した者を識別します。多くの場合、URLやサービス名です。sub(主体) — トークンの対象(通常はユーザーID)を識別します。aud(対象者) — トークンの受信者を識別します。単一の文字列または配列の場合があります。exp(有効期限) — トークンを拒否しなければならない時刻をUnixタイムスタンプで示します。nbf(開始時刻) — トークンを受け入れてはならない時刻をUnixタイムスタンプで示します。iat(発行時刻) — トークンが作成された時刻をUnixタイムスタンプで記録します。jti(JWT ID) — トークンを個別に失効させたり追跡したりするためのユニークな識別子。
このツールの使い方
- 署名アルゴリズムを選択する — HS256、HS384、またはHS512をクリックします。ヘッダーは一致するように自動的に更新されます。
- ヘッダーを編集する(任意) — デフォルトのヘッダーには
algとtypが含まれています。検証者が必要とする場合は、カスタムkid(キーID) を追加してください。 - ペイロードを構築する — クレームをJSONとして入力するか、Quick Claimsボタンをクリックして標準フィールドを挿入します。有効期限ヘルパーは、選択した相対期間に対して正しいUnixタイムスタンプを書き込みます。
- シークレットを設定する — HMAC共有シークレットを入力します。目のアイコンを切り替えると表示されます。シークレットがBase64エンコードされている場合は、チェックボックスを有効にして、ツールが署名前にデコードするようにします。
- JWTを生成する — Generate JWTをクリックします。トークン全体、3つのセグメントカード、構造図、および認識されたクレームの概要がまとめてレンダリングされます。
- 必要なものをコピーする — 各セグメントのコピーボタンまたはCopy Tokenボタンを使用して、エンコードされた値をPostman、cURL、またはクライアントアプリで使用します。
一般的なユースケース
認証と認可
- ログイン成功後にアクセストークンを発行する。
- ユーザーの身元 (
sub) に加えてロールや権限クレームをエンコードする。 - 短命なトークン(15〜60分)に署名し、必要に応じてリフレッシュする。
API統合テスト
- モックトークンを作成して、期限切れ、未来の日付、または不正な形式のクレームに対してAPIがどのように反応するかをテストする。
- ユニットテストやCIパイプライン用のフィクスチャJWTを生成する。
- 本物の認証サーバーにアクセスすることなく、ローカル環境で本番に近いトークンを再現する。
シングルサインオン (SSO) のデバッグ
- 既知の正常なJWTとプロバイダーが送信しているものを比較して、仕様の差異を見つける。
- アップストリームの発行者が使用している署名アルゴリズムとキーID (
kid) を確認する。
よくある質問
ここで作成されたJWTは本物の有効なトークンですか?
はい。トークンは標準的なエンコードされたヘッダーとペイロードに対してHMACで署名されています。同じシークレットを使用するすべてのJWTライブラリで正常に検証されます。
トークンが他の場所で生成したものと全く同じに見えるのはなぜですか?
JWTは決定論的だからです。同じヘッダー、ペイロード、シークレットが与えられれば、すべての準拠ライブラリは全く同じ文字列を生成します。違いがある場合は、JSONのシリアル化順序、キーのスペル、シークレットのエンコードがすべて一致しているか確認してください。
生成したものを確認するためにJWTをデコードできますか?
はい。このツールをJWTデコーダーと組み合わせてセグメントを検査してください。デコードはBase64URLの手順を逆にするだけです。署名の検証には依然としてシークレットが必要です。
シークレットが短すぎると拒否されるのはなぜですか?
RFC 7518では、ハッシュ出力の長さ以上のキーを推奨しています(HS256の場合は256ビット)。ツール自体は最小値を強制しませんが、適切に動作する検証者は短いキーを拒否する可能性があります。実際の使用では、ランダムに生成された32バイト以上のシークレットを使用してください。
RS256、ES256、または EdDSA をサポートしていますか?
現時点ではサポートしていません。このツールは、共有文字列のみを必要とするHMACベースのアルゴリズムに焦点を当てています。非対称アルゴリズム(RS*、PS*、ES*、EdDSA)にはキーペアとPEMの処理が必要であり、それらは専用のツールの方が適しています。
私のシークレットとペイロードはサーバーに送信されますか?
署名を計算するためにフォームはHTTPS経由で送信されます。リクエストの存続期間を超えてログに記録されたり保存されたりすることはありません。それにかかわらず、本番環境のシークレットをここに入力しないでください。公共のテスト環境として扱ってください。
追加リソース
このコンテンツ、ページ、またはツールを引用する場合は、次のようにしてください:
"JWTジェネレーター"(https://MiniWebtool.com/ja//) MiniWebtool からの引用、https://MiniWebtool.com/
by miniwebtool チーム. 更新日: 2026年4月26日