JWTデコーダー

JWTをデコードし、ヘッダー、ペイロード、署名を確認。認証やセキュリティの検証に最適です。

ブラウザで完結 更新 05/2026

以下に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"]
    }
  }
}
APIドキュメント OpenAPI 3.1 npm 60リクエスト/分 · 600リクエスト/時 · ボディ最大1 MB

使い方

  1. 上の入力フィールドにJWTトークンを貼り付けます。
  2. デコードをクリックして、ヘッダー、ペイロード、署名を表示します。
  3. 署名検証には、シークレット(HS256/384/512)または公開鍵(RS256/384/512)を入力してください。
  4. 有効期限ステータスを確認して、トークンがまだ有効かどうかを確認します。

主な機能

  • 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のデコードは内容を読み取るだけで、トークンが本物であることを証明するものではありません。トークン内のクレームを信頼する前に、必ず発行者のシークレットまたは公開鍵で署名を検証する必要があります。