tomai
Entrar
Grátis · Ferramentas de desenvolvedor

Decodificador e verificador de JWT

Decodifique JSON Web Tokens e verifique assinaturas HS/RS/ES/PS — tudo no seu navegador

Token codificado
CABEÇALHO
PAYLOAD

O que é um decodificador de JWT?

Um JWT (JSON Web Token) é um token de três partes — cabeçalho, payload e assinatura — usado para autenticação e autorização em apps web modernas. O payload parece texto aleatório até você decodificá-lo, que é exatamente o que esta ferramenta faz. Ela transforma o cabeçalho e o payload em JSON legível e bem formatado, explica os claims registrados como exp, nbf e iat em linguagem clara com datas reais, e mostra se o token está expirado, ativo ou ainda não válido. Ela também verifica assinaturas: HS256/384/512 com um segredo compartilhado, e RS/PS/ES com uma chave pública PEM, tudo via Web Crypto dentro do navegador. Para desenvolvedores que depuram fluxos de autenticação, isso substitui o hábito de colar tokens de produção em sites de terceiros.

O que esta ferramenta faz

  • 📖 Decodificar cabeçalho e payload em JSON bem formatado
  • 🏷️ Explicar os claims registrados em linguagem clara
  • ⏳ exp, nbf e iat mostrados como data exata mais tempo relativo
  • ✅ Verificação de assinatura HS256/384/512 com segredo
  • 🔏 Verificação de assinatura RS/PS/ES com chave pública PEM
  • 🚦 Selo de status: expirado, ativo ou ainda não válido
  • ⚠️ Aviso quando o alg do cabeçalho é none, ou seja, token sem segurança

Quando usar

  • Para depurar um erro 401 no seu fluxo de login
  • Para descobrir por que um token parou de funcionar de repente
  • Para verificar um token de um provedor de identidade terceiro antes de confiar nele
  • Para inspecionar os claims dentro de um token de atualização

Privacidade: tokens e chaves são processados inteiramente no seu navegador e nunca enviados, então colar credenciais reais de produção é seguro.

O que são, na verdade, os três segmentos

Um JWT é composto por três segmentos codificados em base64url, separados por pontos:

  • O cabeçalho especifica o algoritmo; o payload contém as claims; e a assinatura vincula ambos usando um segredo ou uma chave.
  • Nada no cabeçalho ou no payload é criptografado — qualquer pessoa que possua o token pode ler todas as claims. Isso é intencional: um JWT é um contêiner assinado, não um mecanismo seguro por si só.
  • A verificação exige a chave de assinatura e deve ocorrer no seu servidor; esta página apenas decodifica localmente, permitindo que você inspecione as claims sem precisar colar tokens em nenhum serviço remoto.

Decodificar não é verificar

Claims viram datas reais

O cabeçalho e o payload aparecem como JSON legível enquanto claims registrados como exp, nbf e iat viram datas reais, com um veredito claro: expirado, ativo ou ainda não válido.

🔒

Verificação HS, RS, PS e ES

Verifique HS256/384/512 contra um segredo compartilhado em texto simples ou base64, e tokens RS, PS ou ES contra uma chave pública PEM, tudo com Web Crypto dentro da página.

🎯

Tokens malformados explicados

Problemas estruturais são relatados com precisão — ponto faltando, cabeçalho inválido, payload ilegível — e tokens que alegam o algoritmo none são marcados em vez de confiados.

Perguntas frequentes

Meu token é enviado para um servidor?

Não. A decodificação e a verificação de assinatura acontecem inteiramente no seu navegador com a Web Crypto API. Seu token, segredo e chaves nunca saem do dispositivo, então você pode inspecionar tokens de produção com segurança.

Quais algoritmos de assinatura você pode verificar?

HS256/384/512 com um segredo compartilhado (UTF-8 ou base64url) e as famílias assimétricas RS256/384/512, PS256/384/512 e ES256/384/512 colando a chave pública PEM. Para tokens assimétricos você só precisa da chave pública, nunca da privada.

Um JWT não é criptografado — o que isso significa?

Um JWT padrão é apenas codificado em base64url e assinado, não criptografado, então qualquer um pode ler seu payload. Nunca coloque segredos em um JWT. A assinatura só prova que o token não foi adulterado por alguém sem a chave.

Aparece 'assinatura inválida' — o token foi falsificado?

Geralmente, uma das três causas chatas: o token foi assinado com o segredo de um ambiente diferente; o emissor rotaciona as chaves e a sua está desatualizada; ou o algoritmo no cabeçalho não corresponde ao que seu verificador espera (o famoso truque alg=none). Decodifique o cabeçalho aqui primeiro e, em seguida, compare-o com a chave que seu backend realmente usa.

Ferramentas relacionadas

Ferramentas relacionadas