Decodificador de JWT: ler header, payload e expiração

Cole um token JWT para exibir o cabeçalho (header) e o payload em JSON, ver as datas iat e exp e saber se o token já expirou.

Decodificar um JWT: cabeçalho, claims e expiração, sem assinatura

Um JWT (RFC 7519) é composto por três segmentos codificados em Base64URL e separados por pontos: cabeçalho, payload e assinatura. A ferramenta decodifica os dois primeiros em JSON, converte as datas iat e exp e indica se o token está expirado; ela não verifica a assinatura, que exige a chave secreta ou pública no servidor.

O que o decodificador faz

  1. Divide o token nos pontos e exige exatamente 3 segmentos; um JWE criptografado de 5 segmentos é recusado.
  2. Substitui - e _ por + e /, completa com = e depois decodifica em UTF-8.
  3. Analisa o cabeçalho e o payload com JSON.parse e exibe o algoritmo (alg) e o tipo (typ).
  4. Converte iat e exp (segundos desde 1º de janeiro de 1970) em data local e compara exp com a hora do seu dispositivo.

Exemplo com o token de exemplo

O cabeçalho anuncia alg HS256 e typ JWT. O payload contém sub, name (Jean Dupont), admin, iss e duas datas: iat = 1516239022, ou seja, 18 de janeiro de 2018 às 01h30 UTC, e exp = 1781623922, ou seja, 16 de junho de 2026 às 15h32 UTC. Consultado em 14 de outubro de 2026, o token é sinalizado como Expirado há cerca de 120 dias. A assinatura é exibida como está, sem verificação.

Limites de segurança

  • Um token modificado ou forjado é decodificado exatamente como um verdadeiro: uma decodificação bem-sucedida não prova nada sobre a sua autenticidade.
  • Um token não assinado (alg none, terceiro segmento vazio) é decodificado sem aviso.
  • Os claims nbf, aud e iss não são verificados; só exp gera um status.
  • O status de expiração depende do relógio do seu dispositivo.
  • O payload é apenas codificado, não criptografado: nunca coloque nele senha nem dado sensível.

A decodificação é executada no navegador, sem envio do token.

Perguntas frequentes

O decodificador JWT verifica a assinatura do token?

Não. Ele decodifica o cabeçalho e o payload e exibe a assinatura bruta, sem verificá-la. Verificar uma assinatura HS256 exige a chave secreta, RS256 ou ES256 a chave pública: faça isso no servidor com uma biblioteca JWT.

Como saber se um JWT expirou?

O claim exp contém uma data em segundos desde 1º de janeiro de 1970. O token de exemplo tem exp = 1781623922, ou seja, 16 de junho de 2026 às 15h32 UTC: a ferramenta o marca como expirado assim que o relógio do seu dispositivo ultrapassa essa data e exibe a diferença em dias, horas e minutos.

É possível ler o conteúdo de um JWT sem a chave?

Sim, um JWT assinado (JWS) é apenas codificado em Base64URL: qualquer pessoa pode ler seus claims. Somente a assinatura impede que sejam modificados sem ser detectado. Um JWE de 5 segmentos, por sua vez, é criptografado e a ferramenta o recusa.

Por que a ferramenta exibe “Formato JWT inválido”?

O token deve conter exatamente três segmentos separados por pontos. Uma cópia truncada, espaços, o prefixo Bearer ou um token criptografado de 5 segmentos disparam essa mensagem; um segmento que não seja Base64URL contendo JSON provoca um erro de decodificação.

A ferramenta é realmente gratuita?

Sim, todas as ferramentas do Kristools são 100% gratuitas e acessíveis sem cadastro.

Meus dados estão protegidos?

Sim. Todo o processamento é feito diretamente e com segurança no seu navegador. Nenhum dado pessoal é enviado para os nossos servidores.