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
- Divide o token nos pontos e exige exatamente 3 segmentos; um JWE criptografado de 5 segmentos é recusado.
- Substitui - e _ por + e /, completa com = e depois decodifica em UTF-8.
- Analisa o cabeçalho e o payload com JSON.parse e exibe o algoritmo (alg) e o tipo (typ).
- 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.