JWTデコーダー
JWTをデコードし、ヘッダー、ペイロード、署名を確認。認証やセキュリティの検証に最適です。
以下にJSON Web Tokenを貼り付けてデコードしてください。トークンはセッション内でのみ処理され、ログ記録や保存は一切行われません。
AIエージェントからこのツールを使う
無料のJSON APIとModel Context Protocol (MCP) サーバー。登録不要、APIキー不要、CORS開放。Claude、ChatGPT、Cursor、スクリプト、フロントエンドアプリ向けに設計。
curl -X POST https://mate.tools/api/v1/jwt-decode.php \
-H "Content-Type: application/json" \
-d '{"token":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjMifQ.signature","secret":"your-256-bit-secret"}' import urllib.request, json
req = urllib.request.Request(
"https://mate.tools/api/v1/jwt-decode.php",
data=json.dumps({"token":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjMifQ.signature","secret":"your-256-bit-secret"}).encode(),
headers={"Content-Type": "application/json"},
)
with urllib.request.urlopen(req) as r:
print(json.load(r)) const r = await fetch("https://mate.tools/api/v1/jwt-decode.php", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({"token":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjMifQ.signature","secret":"your-256-bit-secret"}),
});
console.log(await r.json()); Claude Desktopのclaude_desktop_config.json、Cursorの~/.cursor/mcp.json、その他のMCP対応クライアントに追加:
{
"mcpServers": {
"mate-tools": {
"command": "npx",
"args": ["-y", "@mate-tools/mcp-server"]
}
}
} 使い方
- 上の入力フィールドにJWTトークンを貼り付けます。
- デコードをクリックして、ヘッダー、ペイロード、署名を表示します。
- 署名検証には、シークレット(HS256/384/512)または公開鍵(RS256/384/512)を入力してください。
- 有効期限ステータスを確認して、トークンがまだ有効かどうかを確認します。
主な機能
- JWTヘッダーとペイロードをワンクリックでデコード
- シークレットでHS256、HS384、HS512署名を検証
- 公開鍵でRS256、RS384、RS512署名を検証
- 有効期限、有効開始時刻、発行時刻のタイムスタンプを人間が読める形式で表示
- トークンはサーバーにログ記録または保存されることはありません
一般的なユースケース
- アプリケーションの認証フローをデバッグする
- OAuthまたはOpenID Connectプロバイダーから返されたトークンを検査する
- アクセストークンの有効期限を確認する
- トークンが想定された発行者によって署名されたことを検証する
よくある質問
JWTは、2者間でクレームを表現するためのコンパクトでURL安全な方法です。ヘッダー、ペイロード、署名の3つの部分がドットで区切られて構成されています。JWTは、認証と認可(OAuth 2.0、OpenID Connect、シングルサインオン)で広く使用されています。
はい — トークンは、PHPでデコードして(オプションで)署名を検証するためだけにサーバーに送信されます。トークンはログに記録されたり、保存されたり、ディスクに書き込まれたりすることはありません。リクエストの間だけメモリ内に存在します。
共有シークレットを提供した場合はHS256、HS384、HS512(HMAC + SHA-2)を、発行者の公開鍵をPEM形式で提供した場合はRS256、RS384、RS512(RSA + SHA-2)を検証します。他のアルゴリズム(ES256、EdDSAなど)はデコードされますが検証されません。
exp(有効期限)クレームは、それ以降はトークンが受け入れられてはならないUnixタイムスタンプです。署名が有効であっても、期限切れのJWTはサーバーによって拒否される必要があります。新しいアクセストークンを取得するにはリフレッシュトークンを使用してください。
いいえ。JWTのデコードは内容を読み取るだけで、トークンが本物であることを証明するものではありません。トークン内のクレームを信頼する前に、必ず発行者のシークレットまたは公開鍵で署名を検証する必要があります。