Decodificador JWT
Inspecione qualquer JSON Web Token no navegador. Veja header decodificado, payload, assinatura e claims legíveis. O token nunca sai do dispositivo.
O que é um JWT?
Um JSON Web Token (JWT) é uma forma compacta e URL-safe de transmitir claims assinados. Amplamente usado em OAuth/OpenID, autenticação SPA-API e microsserviços. Três partes base64url separadas por pontos.
O que tem em um JWT?
Três partes. Header — declara o algoritmo (HS256, RS256) e tipo. Payload — claims: sujeito, expiração, dados. Assinatura — prova criptográfica sobre as duas primeiras partes.
JWT vs token de sessão
Um JWT carrega a identidade do usuário dentro do token, então o servidor não precisa de lookup. Um token de sessão é um ID opaco que mapeia estado no servidor.
Precisa de decodificação base64 bruta? Experimente nosso codificador Base64.
Usos comuns
- Debug OAuth/OIDC: Inspecione tokens de Auth0, Okta, Cognito e outros.
- Troubleshooting de auth API: Quando surge um 401, decodifique o token do Authorization para verificar exp e audience.
- Integração SSO: Verifique quais claims seu IdP emite antes de alterar a configuração SAML/OIDC.
- Verificação de trust de microsserviço: Confirme se tokens internos têm o claim correto antes de propagar.
- Debug Postman/Insomnia: Cole um token de variáveis de coleção para confirmar tenant antes de testes.
- Inspeção de tokens mobile: Decodifique tokens capturados via mitmproxy/Charles Proxy.
- Code review: Verifique tokens em PRs e testes — exp é 5 min ou 5 dias? sub vaza PII?
FAQ
O que é um JWT?
Um JSON Web Token é uma forma compacta e URL-safe de representar claims entre duas partes. Definido no RFC 7519.
Um JWT é criptografado?
Não — por padrão um JWT é assinado mas não criptografado. Header e payload são JSON base64url, legíveis por qualquer um. Para confidencialidade, use JWE (RFC 7516).
Como base64url difere de base64?
Base64url é a variante URL-safe (RFC 4648 §5). Substitui + e / por - e _, e omite o padding =. JWTs o usam para trafegar seguros em URLs e headers.
Por que esta ferramenta não verifica a assinatura?
Verificar uma assinatura requer a chave — colar sua chave de produção numa ferramenta web é a pior coisa. Excluímos verificação propositalmente. Use libs server-side.
JWT vs sessão — quando usar cada um?
JWTs são ótimos para microsserviços stateless e clientes mobile. Sessões são mais simples para apps web tradicionais. Sistemas reais costumam usar ambos.
Em números
- JWTs são definidos em RFC 7519 (maio de 2015) como meio compacto e URL-safe de representar claims entre duas partes
- Um JWT não é criptografado por padrão — qualquer um que o tenha pode ler o payload. Use JWE (RFC 7516) quando confidencialidade importar
- A assinatura usa JWS (RFC 7515) — tipicamente HMAC-SHA256 (HS256) para tokens com segredo compartilhado ou RSA-SHA256 (RS256) para verificação assimétrica
- Base64url (usado em JWTs) é a variante URL-safe definida em RFC 4648 §5 — substitui
+//por-/_e omite padding