Developer Utility

JWT ジェネレーター

Header、Payload、Secret の値を入力して HS256 方式の JWT トークンを生成し、Header、Payload、Signature の構成を一目で確認できます。

JWT 生成 Header と Payload JSON を入力して、テスト用 JWT トークンを生成できます。
HS256 対応 開発テストでよく使われる HMAC SHA-256 署名方式に対応しています。
構造確認 生成されたトークンを Header、Payload、Signature に分けて確認できます。
Algorithm HS256
Header 待機
Payload 待機
Secret 待機

JWT 入力情報

Header JSON、Payload JSON、Secret Key を入力して JWT を生成してください。

セキュリティ案内

このページは開発テスト専用の HS256 署名ツールです。本番の Secret Key や管理者トークンを入力せず、Payload は暗号化されず読み取れることを確認してください。

Header 待機
Payload 待機
Secret 待機

RFC 7518ではHS256キーに最低32バイトが必要です。本番キーはサーバー側の安全なシークレット管理環境で生成・保管してください。

よく使う Payload Claim
  • sub: ユーザーまたは対象の識別子
  • name: ユーザー名または表示名
  • iat: トークン発行時刻
  • exp: トークン有効期限
注意

JWT Payload は簡単にデコードできるため、パスワード、個人番号、API Key などの機密値は入れないことをおすすめします。

生成結果

生成された JWT トークンと Header、Payload、Signature の構成を確認できます。

待機中
JWT 生成結果がここに表示されます。
Header
-
Payload
-
Signature
-
使い方ガイド

HS256の署名と暗号化を区別してJWTを作る

JSONのHeader・Payloadとテスト用Secretから開発用JWTを作ります。署名してもPayloadは読めるままで、内容を隠す機能ではありません。

こんな方におすすめ

  • ローカルAPIのテストを準備する開発者
  • JWTの3区間を学ぶ人

活用場面

  • HS256のテストトークンを作る。
  • UTF-8 JSONとBase64urlの対応を確認する。

入力から結果の確認まで

  1. 1

    HS256のHeaderオブジェクトとPayloadオブジェクトを入力します。

  2. 2

    公開できるテスト用クレームだけを使います。

  3. 3

    このツールのexp・nbf・iatはUnix秒の整数にします。

  4. 4

    ランダムSecretを作るか、32 UTF-8バイト以上を入力します。

  5. 5

    生成した3区間を確認し、対象アプリでも検証します。

使用例 1

Unicodeのクレーム

入力
Header {"alg":"HS256"}、Payload {"name":"テスト😀"}、ランダムSecret
結果
3つのBase64url区間を生成し、Payloadの復号で元の文字を確認できます。

鍵は表示されたSecret文字列のUTF-8バイトで、hexの自動デコードはしません。

使用例 2

入力を変更する

入力
トークン生成後にPayloadを変更、またはフォームを消去
結果
以前のトークンを無効化し、処理中だった古い結果も後から表示しません。

新しい入力で再生成してください。

計算・処理の仕組み

JSONをUTF-8とBase64urlで表し、HeaderとPayloadをドットで結んでWeb CryptoのHMAC-SHA-256で署名します。ランダム鍵は32ランダムバイトを64桁のhexで表示し、その表示文字列を鍵に使います。

注意点と制限

  • HS256のみで、crit拡張と非エンコードPayloadは拒否します。
  • 日時クレームを整数に限定する入力規則は、RFCの一般的な数値定義より厳格です。
  • 発行者、宛先、期限、権限、失効の方針は検証しません。
  • 長さだけでは予測困難性は分かりません。テストにはランダム生成を使ってください。
データの取り扱い

JSONと鍵はローカル処理です。本番鍵や秘密のクレームを入力しないでください。

あわせて使えるツール

よくある質問

Payloadを暗号化しますか?

しません。トークンを持つ人はHeaderとPayloadを読めます。

期限切れのトークンは拒否されますか?

生成器は入力形式を調べるだけで、現在の有効性を判定しません。

サーバーではSecretをhexデコードしますか?

いいえ。同じ表示文字列をUTF-8として使います。hexデコードすると別の鍵になります。