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
Privacidade: seu token nunca sai do navegador — decodificação e verificação são 100% locais, sem envio a nenhum servidor.

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 aud bate com a API e se os scope/roles esperados 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 azp e kid.
  • 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