Decodificador de JWT: leia e verifique tokens JSON Web Token
JWT (JSON Web Token) é um padrão aberto (RFC 7519) para transmitir informações de forma compacta e assinada entre sistemas. Ele é usado em autenticação de APIs, login com OAuth 2.0 e OpenID Connect, sessões de aplicativos e integrações. Este decodificador mostra o cabeçalho e o payload do token, explica as claims, converte as datas e verifica a assinatura com o segredo ou a chave pública — tudo localmente, no seu navegador.
Estrutura de um JWT
Um JWT tem três partes codificadas em Base64URL e separadas por pontos: cabeçalho.payload.assinatura.
- Cabeçalho (header): indica o algoritmo de assinatura (
alg, como HS256 ou RS256) e o tipo (typ). - Payload: contém as claims, ou seja, as informações do token: quem é o usuário, quem emitiu, quando expira e dados adicionais.
- Assinatura: garante que o cabeçalho e o payload não foram alterados. É calculada com um segredo (HMAC) ou com uma chave privada (RSA, ECDSA, EdDSA).
Claims registradas
| Claim | Significado |
|---|---|
iss | Quem emitiu o token |
sub | Assunto, geralmente o ID do usuário |
aud | Para qual sistema o token foi emitido |
exp | Data de expiração (timestamp Unix) |
nbf | Não é válido antes desta data |
iat | Quando foi emitido |
jti | Identificador único do token |
A ferramenta converte exp, nbf e iat em datas legíveis e indica se o token está expirado, válido ou ainda não ativo.
Decodificar não é verificar
O payload de um JWT assinado não é criptografado: qualquer pessoa consegue ler o conteúdo, como faz esta ferramenta. Por isso, nunca coloque senhas ou dados sigilosos no payload. O que impede a falsificação é a assinatura, que só pode ser validada com a chave correta.
Para verificar, informe:
- HS256, HS384, HS512: o segredo compartilhado (texto ou Base64).
- RS256/384/512, PS256/384/512: a chave pública RSA em PEM (
-----BEGIN PUBLIC KEY-----) ou JWK. - ES256/384/512: a chave pública de curva elíptica em PEM ou JWK.
- EdDSA (Ed25519): chave pública em PEM ou JWK, em navegadores que suportam o algoritmo.
Você pode colar um conjunto de chaves JWKS inteiro (o JSON com "keys"): a ferramenta escolhe a chave pelo kid do cabeçalho.
Boas práticas de segurança
- Use prazos de expiração curtos e tokens de atualização (refresh tokens) para sessões longas.
- No servidor, sempre valide a assinatura, o
exp, oisse oaud, e fixe os algoritmos aceitos. Rejeite tokens comalg: none. - Prefira segredos HMAC longos e aleatórios (pelo menos 256 bits). Gere um com o gerador de senhas.
- Guarde tokens com cuidado no navegador: cookies
HttpOnlyeSecureprotegem contra roubo por scripts. - Não cole tokens válidos de produção em sites de terceiros. Esta ferramenta processa tudo localmente, mas o hábito protege você em outros lugares.
Para entender datas em timestamp, use o conversor de timestamp; para decodificar outras partes em Base64, o codificador Base64.