Pack Camo

Decodificador JWT

Leia o cabeçalho e os claims de um token, confira a expiração e verifique a assinatura. Tudo roda localmente — nada é enviado para servidor nenhum.

Entrada
JWT
Saída
Header · payload · signature check

Token codificado

HS256

Assinatura

Precisa de um segredo? Gere um

Cabeçalho

{
  "alg": "HS256",
  "typ": "JWT"
}

Payload

{
  "sub": "1234567890",
  "name": "Jane Doe",
  "iat": 1767225600,
  "exp": 1893456000
}

Leia um token sem confiar nele

Um JWT é formado por três partes codificadas em Base64URL unidas por pontos: um cabeçalho que indica o algoritmo, um payload de claims e uma assinatura sobre os dois. Qualquer pessoa pode ler os dois primeiros, e por isso um token nunca deve conter nada secreto; só a assinatura prova que o token veio de alguém que conhece a chave.

O que o decodificador mostra

  • Cabeçalho. O algoritmo de assinatura (alg) e o tipo do token, e às vezes um ID de chave (kid) que diz qual chave o assinou.
  • Payload. Os claims: sobre quem é o token (sub), quem o emitiu (iss), para quem ele é (aud) e o que mais a sua aplicação acrescentar.
  • Horários. iat, nbf e exp são segundos desde 1970. O decodificador os mostra como datas no seu fuso horário e informa se o token expirou ou ainda não é válido.
  • Assinatura. Para HS256, HS384 e HS512, informe o segredo e o decodificador recalcula a assinatura para dizer se ela confere. Tokens assinados com algoritmos RS, ES ou PS são decodificados normalmente, mas verificá-los exige a chave pública do emissor.

Perguntas frequentes

Como decodifico um JWT?
Cole o token no campo de entrada. O cabeçalho e o payload são decodificados e formatados enquanto você digita, e os claims de tempo aparecem como datas legíveis.
Qualquer pessoa pode ler o conteúdo do meu JWT?
Sim. O cabeçalho e o payload são apenas codificados, não criptografados, então qualquer pessoa com o token pode lê-los. Nunca coloque senhas ou outros segredos no payload de um JWT.
Como verifico a assinatura de um JWT?
Para tokens HS256, HS384 ou HS512, informe o segredo na seção Assinatura e escolha se é texto simples ou Base64. O decodificador assina de novo o cabeçalho e o payload com esse segredo e informa se o resultado confere com a assinatura do token.
Por que meu token diz "Assinatura inválida"?
Ou o segredo está errado, ou está no formato errado. Um segredo que a sua biblioteca decodifica de Base64 precisa ser informado com Base64 selecionado, senão os bytes não vão conferir. Um token editado depois de assinado também falha.
Meu token é enviado a um servidor?
Não. A decodificação e a verificação rodam no seu navegador, então você pode colar tokens de produção sem que eles saiam do seu dispositivo.