$ jwt --decode
Decodificador JWT Online — Decodifique e Valide Tokens JWT
Cole um token para decodificar header e payload em tempo real, entender cada claim em português e, se quiser, validar a assinatura — tudo sem o token sair do seu navegador.
- 100% no navegador
- grátis
- sem cadastro
A decodificação acontece em tempo real, enquanto você digita ou cola.
Cole um token acima ou clique em “Gerar token de exemplo” para ver header, payload e claims explicados.
Como usar o jwt decoder
Cole o token no campo acima e a decodificação acontece na hora: o header mostra o algoritmo de assinatura (alg) e o tipo do token, o payload traz os claims, e a tabela explica cada um em português. Claims temporais como exp, iat e nbf são convertidos de segundos Unix para data local legível, com um contador ao vivo — você vê imediatamente se o token expira em 12 minutos ou se já está expirado. Se não tiver um token à mão, clique em “Gerar token de exemplo” para criar um JWT HS256 assinado no próprio navegador.
Para ir além de decodificar jwt, use a seção de verificação de assinatura: com o secret (HS256) ou a chave pública em PEM ou JWK (RS256/ES256), a ferramenta valida o token com Web Crypto e explica o resultado — inclusive o caso clássico de assinatura válida com token expirado.
Decodificar não é validar
Esta é a confusão mais comum com JWT. O conteúdo do token é apenas Base64Url — um formato de codificação, não de criptografia — então qualquer jwt decode online revela o payload sem chave nenhuma. O que protege o token é a assinatura: sem validá-la, não há garantia de que o conteúdo não foi forjado ou adulterado. Na prática, o backend deve sempre validar assinatura, expiração (exp), emissor (iss) e audiência (aud) antes de confiar em qualquer claim. Use esta página para inspecionar e depurar; deixe a decisão de confiança para o servidor.
Outro cuidado importante: nunca cole tokens de produção em sites que você não conhece — um token válido é uma credencial de acesso. Aqui esse risco não existe porque nada é transmitido: decodificação e verificação rodam localmente, e você pode conferir na aba de rede do navegador que nenhuma requisição sai da página.
Casos de uso no dia a dia
- Depurar erro 401/403: confira se o token está expirado, se o
audbate com a API e se osscope/rolesesperados estão presentes. - Integrar OAuth 2.0 / OpenID Connect: inspecione o access token e o ID token emitidos por Keycloak, Auth0, Cognito, Azure AD ou Firebase e entenda claims como
azpekid. - Validar a própria implementação: gere um token na sua aplicação e verifique aqui se a assinatura confere com o secret ou a chave pública esperada.
- Estudar autenticação: o token de exemplo permite ver na prática a anatomia header.payload.assinatura de um JWT.
## faq
Perguntas frequentes
Decodificar um JWT é o mesmo que validar o token?
Não. Decodificar é apenas converter o Base64Url do header e do payload em JSON legível — qualquer pessoa consegue fazer isso sem chave nenhuma. Validar é verificar a assinatura criptográfica com o secret (HS256) ou a chave pública (RS256/ES256) e conferir claims como exp e aud. Um token pode ser perfeitamente legível e, ainda assim, inválido ou forjado.
É seguro colar meu token JWT nesta ferramenta?
Sim: a decodificação e a verificação de assinatura rodam 100% no seu navegador, com JavaScript e Web Crypto — nada é enviado a servidores. Ainda assim, a boa prática vale para qualquer site: evite colar tokens de produção em ferramentas que você não conhece, porque um token válido dá acesso ao que ele autoriza. Prefira tokens expirados ou de ambientes de teste.
Por que consigo ler o conteúdo do JWT sem ter a chave?
Porque o JWT é assinado, não criptografado. Header e payload são apenas JSON codificado em Base64Url, um formato de transporte reversível. A chave entra só na assinatura, que garante integridade e autenticidade — não confidencialidade. Por isso nunca se deve guardar senha, cartão ou qualquer dado sensível dentro do payload de um JWT.
Qual a diferença entre HS256 e RS256?
HS256 é simétrico: o mesmo secret assina e verifica o token, então quem verifica também consegue emitir. RS256 é assimétrico: a chave privada assina e a chave pública apenas verifica, o que permite distribuir a verificação para várias APIs sem expor a capacidade de emitir tokens. ES256 segue a mesma lógica assimétrica, usando curvas elípticas com chaves menores.
O que significa o claim exp e por que meu token aparece como expirado?
O claim exp (expiration time) guarda o instante, em segundos Unix, a partir do qual o token deixa de ser aceito. Se esse instante já passou, o token está expirado e os servidores devem rejeitá-lo, mesmo com assinatura válida. Tokens de acesso costumam durar de minutos a poucas horas — a renovação é feita com um refresh token, não estendendo o exp.
Posso verificar a assinatura de qualquer JWT aqui?
A ferramenta verifica os algoritmos mais usados: HS256/384/512 com o secret digitado, e RS256/384/512, PS256/384/512 e ES256/384/512 com a chave pública em PEM (SPKI) ou JWK. Tokens com algoritmos incomuns, ou JWE (tokens criptografados), não são suportados — nesses casos a ferramenta ainda decodifica o header para você identificar o algoritmo.
## outras ferramentas