Analisador JWT
Descodifique e analise JSON Web Tokens (JWT) com validação em tempo real. Veja de forma segura no seu navegador o cabeçalho, o payload e a assinatura.
Definição: Um JSON Web Token são três partes codificadas em Base64URL — cabeçalho, payload, assinatura — unidas por pontos. O cabeçalho nomeia o algoritmo de assinatura, e a assinatura é verificada com o material de chave desse algoritmo conforme a RFC 7519.
Cabeçalho
Payload
Assinatura
Algoritmo
Token inválido
Como usar o analisador JWT
Colar token
Paste your JWT token in the input area
Descodificação automática
Token automatically decodes on paste
Inspecionar partes
View header, payload, and signature data
Verificar estado
Verifique a validade do token e o tempo de expiração
Compreender os tokens JWT
O que é um JWT?
Um JSON Web Token (JWT) é um meio compacto e seguro para URLs de representar claims a transferir entre duas partes. Compõe-se de três partes — cabeçalho, payload e assinatura —, separadas por pontos e codificadas em base64url.
- • Header: Contains token type and signing algorithm
- • Payload: Contains claims or user data
- • Signature: Verifies token wasn't tampered with
- • Stateless: No server-side session storage needed
Por que analisar JWT?
A análise de JWT é essencial para depurar problemas de autenticação, verificar o conteúdo dos tokens, conferir tempos de expiração e entender que dados são transmitidos nos tokens.
- • Depuração: Inspect token contents during development
- • Segurança: Verify token structure and claims
- • Expiração: Check token validity period
- • Desenvolvimento: Understand authentication flow
Referência dos claims JWT padrão
Nomes de claim registrados definidos pela RFC 7519 que você verá em quase todo payload de token.
| Claim | Nome completo | Significado |
|---|---|---|
| iss | Emissor | Quem criou e assinou o token |
| sub | Assunto | Sobre quem é o token — geralmente o ID do usuário |
| aud | Público-alvo | Para quem o token se destina (um cliente ou API) |
| exp | Expiração | Carimbo de data/hora Unix após o qual o token deve ser rejeitado |
| nbf | Não Antes De | Carimbo de data/hora Unix antes do qual o token é inválido |
| iat | Emitido Em | Carimbo de data/hora Unix de quando o token foi criado |
| jti | ID do JWT | Identificador exclusivo, útil para listas de revogação |
Algoritmos JWT comuns
- • HS256 (HMAC + SHA-256): Simétrico — um único segredo compartilhado assina e verifica. Simples, mas qualquer pessoa que tenha o segredo pode forjar tokens.
- • RS256 (RSA + SHA-256): Assimétrico — a chave privada assina, a pública verifica. A escolha padrão para sistemas distribuídos.
- • ES256 (ECDSA + SHA-256): Assimétrico como RS256, mas com assinaturas muito mais curtas — uma boa escolha moderna padrão.
- • nenhum: Token não assinado. Deve ser rejeitado por qualquer verificador sério; historicamente a fonte de vulnerabilidades críticas de bypass.
Notas de segurança
- • Nunca cole tokens de produção em ferramentas desconhecidas. Este analisador roda inteiramente no seu navegador (teste: funciona offline), mas isso não é verdade para todos os sites.
- • Um JWT não é criptografado. O payload é apenas codificado em base64url — qualquer pessoa que tenha o token pode lê-lo. Nunca armazene segredos nos claims.
- • Decodificar não é verificar. Uma estrutura com aparência válida não diz nada sobre a assinatura. A verificação exige a chave, que nunca sai do seu servidor de autenticação.
- • Verifique o exp no servidor. Rejeitar tokens expirados é trabalho do verificador, não do cliente.
Quando os programadores usam um analisador de JWT
Depuração de respostas 401 e 403
Verifique se o token realmente continha os scopes, roles ou a expiração esperados antes de culpar o servidor.
Inspecionar tokens OAuth e OIDC
Decodifique um id_token ou access_token e confirme que iss, aud e sub correspondem à configuração da sua aplicação.
Suporte e resolução de problemas
Verifique a partir de uma captura de ecrã que claims um utilizador realmente recebeu, sem configurar qualquer ferramenta local.
Aprender como funcionam os JWT
Cole tokens de exemplo e veja como cabeçalho, payload e assinatura se encaixam.
Descodificação instantânea
Decodifica JWT automaticamente ao colar, com seções codificadas por cores.
100% privado
Toda a decodificação acontece no seu navegador. Os tokens nunca saem do seu dispositivo.
Totalmente grátis
Sem registo nem limites. Analise tokens JWT livremente a qualquer momento.
FAQ do parser de JWT
É seguro colar um JWT nesta ferramenta?
Sim. A decodificação roda inteiramente no seu navegador, sem chamadas de rede — você pode verificar isso desconectando a internet e recarregando a página. Mesmo assim, evite colar tokens de produção em qualquer lugar, como higiene geral de segurança.
A análise de um JWT verifica a assinatura?
Não. A análise apenas decodifica o header e o payload em base64url. Verificar a assinatura exige a chave de assinatura (segredo HMAC ou chave pública), que só o seu servidor de autenticação possui.
Por que qualquer pessoa pode ler o payload do meu JWT?
Os payloads de JWT são codificados, não criptografados. Qualquer pessoa que tenha o token pode decodificá-lo e ler os claims — isso é por design. Nunca armazene segredos ou dados sensíveis no payload de um JWT.
Como sei quando um token expira?
Verifique o claim exp — um Unix timestamp a partir do qual o token deve ser rejeitado. Este parser destaca automaticamente o status do token (ativo, expirado ou ainda não válido) com base em exp e nbf.
Qual é a diferença entre HS256 e RS256?
O HS256 é simétrico: um segredo partilhado assina e verifica, portanto qualquer um que possa verificar tokens também pode falsificá-los. O RS256 é assimétrico: uma chave privada assina e uma chave pública verifica, o que é mais seguro quando vários serviços têm de validar tokens. Prefira RS256 ou ES256, salvo se tiver um motivo específico para não o fazer.
O cabeçalho do meu token diz "alg": "none" — é um problema?
Significa que o token não está assinado. É uma estrutura JWT válida, mas um verificador nunca deve aceitá-la: a vulnerabilidade clássica do JWT era atacantes a definir alg como none para ultrapassar as verificações de assinatura. Se o seu backend aceita tokens não assinados, trate-o como um bug de segurança.
Aumente a sua produtividade com ferramentas de análise e formatação de texto