Decodificador JWT
Decodifique e inspecione tokens JWT rapidamente. Veja o cabeçalho, payload e informações de expiração de forma clara e prática.
Cole qualquer JSON Web Token abaixo para decodificá-lo. Seu token é processado apenas na sua sessão — não o registramos nem o armazenamos.
Use esta ferramenta a partir do seu agente de IA
API JSON e servidor Model Context Protocol (MCP) gratuitos. Sem cadastro, sem chave de API, CORS aberto. Projetado para Claude, ChatGPT, Cursor, scripts e aplicativos frontend.
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()); Adicione a claude_desktop_config.json (Claude Desktop), ~/.cursor/mcp.json (Cursor) ou qualquer outro cliente compatível com MCP:
{
"mcpServers": {
"mate-tools": {
"command": "npx",
"args": ["-y", "@mate-tools/mcp-server"]
}
}
} Como usar
- Cole seu token JWT no campo acima.
- Clique em Decodificar para ver o cabeçalho, payload e assinatura.
- Para verificar a assinatura, forneça o segredo (HS256/384/512) ou a chave pública (RS256/384/512).
- Verifique o status de expiração para ver se o token ainda está ativo.
Recursos principais
- Decodifica cabeçalho e payload do JWT em um clique
- Verifica assinaturas HS256, HS384, HS512 com um segredo
- Verifica assinaturas RS256, RS384, RS512 com uma chave pública
- Mostra timestamps de expiração, não-antes e emitido-em em formato legível
- O token nunca é registrado nem armazenado em nossos servidores
Casos de uso comuns
- Depurar fluxos de autenticação em sua aplicação
- Inspecionar tokens retornados por um provedor OAuth ou OpenID Connect
- Verificar quando um token de acesso expira
- Verificar que um token foi assinado pelo emissor esperado
Perguntas frequentes
Um JWT é uma forma compacta e segura para URL de representar claims entre duas partes. É composto por três partes — cabeçalho, payload e assinatura — separadas por pontos. JWTs são amplamente usados em autenticação e autorização (OAuth 2.0, OpenID Connect, single sign-on).
Sim — o token é enviado ao nosso servidor apenas para que o PHP possa decodificá-lo e (opcionalmente) verificar a assinatura. O token nunca é registrado, nunca armazenado e nunca gravado em disco. Existe apenas na memória pela duração da requisição.
Verificamos HS256, HS384, HS512 (HMAC com SHA-2) quando você fornece o segredo compartilhado, e RS256, RS384, RS512 (RSA com SHA-2) quando você fornece a chave pública do emissor em formato PEM. Outros algoritmos (ES256, EdDSA, etc.) são decodificados mas não verificados.
O claim exp (expiração) é um timestamp Unix após o qual o token não deve mais ser aceito. Um JWT expirado deve ser rejeitado pelo servidor mesmo se a assinatura for válida. Use um refresh token para obter um novo token de acesso.
Não. Decodificar um JWT apenas lê seu conteúdo — não prova que o token seja autêntico. Você deve sempre verificar a assinatura com o segredo ou chave pública do emissor antes de confiar em qualquer claim dentro dele.