JWT Decoder
Decode JSON Web Tokens (JWT) en verkrijg direct de header, payload en handtekening. Ideaal voor snelle verificatie en debugging.
Plak hieronder een JSON Web Token om het te decoderen. Je token wordt alleen in je sessie verwerkt — we loggen of bewaren het niet.
Gebruik deze tool vanuit je AI-agent
Gratis JSON-API en Model Context Protocol (MCP)-server. Geen registratie, geen API-sleutel, CORS open. Ontworpen voor Claude, ChatGPT, Cursor, scripts en frontend-apps.
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()); Voeg toe aan claude_desktop_config.json (Claude Desktop), ~/.cursor/mcp.json (Cursor) of een andere MCP-compatibele client:
{
"mcpServers": {
"mate-tools": {
"command": "npx",
"args": ["-y", "@mate-tools/mcp-server"]
}
}
} Hoe te gebruiken
- Plak je JWT-token in het invoerveld hierboven.
- Klik op Decoderen om de header, payload en handtekening te bekijken.
- Voor handtekeningverificatie, geef het geheim (HS256/384/512) of de publieke sleutel (RS256/384/512) op.
- Controleer de verloopstatus om te zien of het token nog actief is.
Belangrijkste functies
- Decodeert JWT-header en payload met één klik
- Verifieert HS256-, HS384-, HS512-handtekeningen met een geheim
- Verifieert RS256-, RS384-, RS512-handtekeningen met een publieke sleutel
- Toont verloop-, niet-vóór- en uitgegeven-op-tijdstempels in leesbare vorm
- Token wordt nooit gelogd of opgeslagen op onze servers
Veelvoorkomende use cases
- Authenticatieflows in je applicatie debuggen
- Tokens inspecteren die door een OAuth- of OpenID Connect-provider zijn teruggegeven
- Controleren wanneer een access token verloopt
- Verifiëren dat een token door de verwachte uitgever is ondertekend
Veelgestelde vragen
Een JWT is een compacte, URL-veilige manier om claims tussen twee partijen weer te geven. Het bestaat uit drie delen — header, payload en handtekening — gescheiden door punten. JWTs worden veel gebruikt voor authenticatie en autorisatie (OAuth 2.0, OpenID Connect, single sign-on).
Ja — het token wordt alleen naar onze server gestuurd zodat PHP het kan decoderen en (optioneel) de handtekening kan verifiëren. Het token wordt nooit gelogd, nooit opgeslagen en nooit naar disk geschreven. Het bestaat alleen in het geheugen voor de duur van het verzoek.
We verifiëren HS256, HS384, HS512 (HMAC met SHA-2) wanneer je het gedeelde geheim opgeeft, en RS256, RS384, RS512 (RSA met SHA-2) wanneer je de publieke sleutel van de uitgever in PEM-formaat opgeeft. Andere algoritmen (ES256, EdDSA, etc.) worden gedecodeerd maar niet geverifieerd.
De exp-claim (verloop) is een Unix-tijdstempel waarna het token niet langer geaccepteerd mag worden. Een verlopen JWT moet door de server worden afgewezen, zelfs als de handtekening geldig is. Gebruik een refresh token om een nieuw access token te verkrijgen.
Nee. Een JWT decoderen leest alleen de inhoud — het bewijst niet dat het token authentiek is. Je moet altijd de handtekening verifiëren met het geheim of de publieke sleutel van de uitgever voordat je een claim erbinnen vertrouwt.