CalcMint

Decodificador e gerador de JWT

Cole um JSON Web Token para ler o header e os claims, ver quando expira e verificar a assinatura. Seu token não sai desta página.

Decodificador e gerador de JWT

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkphbmUgRG9lIiwiYWRtaW4iOnRydWUsImlhdCI6MTc2NzIyNTYwMCwiZXhwIjoxODkzNDU2MDAwfQ.vgHtS5dyaSUxDoPpQPoyaFVrg5I8B0EV9R0_Ah59pxU

Header

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

Payload

{
  "sub": "1234567890",
  "name": "Jane Doe",
  "admin": true,
  "iat": 1767225600,
  "exp": 1893456000
}
Algoritmo (alg)
HS256
Tipo (typ)
JWT
Assunto (sub)
1234567890
Emitido em (iat)
quinta-feira, 1 de janeiro de 2026 às 09:00:00 GMT+9
Expira em (exp)
terça-feira, 1 de janeiro de 2030 às 09:00:00 GMT+9
CompartilharXFacebookReddit
Adicione esta calculadora ao seu site

Copie o código e cole no HTML da sua página. É grátis; mantenha o link de crédito, por favor.

Como um JWT é formado

Um JSON Web Token (RFC 7519) são três textos em Base64URL unidos por pontos: header.payload.assinatura. O header diz qual algoritmo assinou, o payload traz os claims (ID do usuário, papéis, expiração) e a assinatura é calculada sobre as duas primeiras partes.

No HS256 a assinatura é um HMAC feito com um segredo compartilhado, então o mesmo segredo assina e verifica. RS256, PS256 e ES256 assinam com chave privada e verificam com chave pública, o que permite que vários serviços validem tokens sem conseguir criá-los.

Como validar um token com segurança

  • Sempre verifique a assinatura no servidor e recuse alg "none".
  • Fixe o algoritmo esperado: não deixe o header do token escolher.
  • Confira exp, nbf, iss e aud, com um ou dois minutos de tolerância de relógio.
  • Use tokens de vida curta e trate-os como senha: este decodificador funciona offline, mas muitos outros enviam o token a um servidor.

Claims registrados do JWT (RFC 7519)

ClaimNomeSignificado
issEmissorQuem criou e assinou o token
subAssuntoDe quem é o token, geralmente um ID de usuário
audPúblicoPara quem o token se destina
expExpiraçãoSegundos desde 1970 a partir dos quais deve ser recusado
nbfNão antes deSegundos desde 1970 antes dos quais deve ser recusado
iatEmitido emQuando foi criado
jtiID do JWTID único para impedir reutilização

Perguntas frequentes

Qualquer um consegue ler um JWT?

Sim. O header e o payload estão apenas codificados em Base64URL, não criptografados, então quem tem o token consegue ler. Nunca coloque senhas ou segredos no payload.

Decodificar um JWT confirma que ele é válido?

Não. Decodificar só lê o conteúdo. Só a verificação da assinatura com o segredo ou a chave pública certos prova que ele não foi forjado nem alterado, e o servidor ainda precisa checar exp, nbf e aud.

Por que meu token aparece expirado se acabou de ser emitido?

exp, iat e nbf são em segundos desde 1970, não em milissegundos. Usar Date.now() do JavaScript sem dividir por 1000 joga a data milhares de anos à frente, e diferenças de relógio entre servidores podem fazer um token novo parecer expirado ou ainda não válido.

O que eu colo é enviado para um servidor?

Não. Esta ferramenta roda inteiramente no seu navegador, com JavaScript e a API Web Crypto embutida. Nada do que você digita, cola ou abre é enviado ou guardado.

Calculadoras relacionadas