Decodificador de JWT (JSON Web Token)

Decodifique um JWT online e visualize header, payload e claims (exp, iat) em formato legível. Decodifica apenas — não verifica a assinatura.

Decodificador de JWT online

Cole um token JWT abaixo para visualizar o header e o payload formatados, além das datas de expiração e emissão convertidas para um formato legível. O processamento é 100% no navegador.

Esta ferramenta decodifica apenas — ela não verifica a assinatura do token. A validação da assinatura deve sempre ser feita no servidor com a chave secreta.

⚠ Esta ferramenta apenas decodifica o token e exibe seu conteúdo. Ela não verifica a assinatura — não use o resultado para autenticar tokens sem validação no servidor.

O que é um JWT?

Um JWT (JSON Web Token) é um padrão aberto (RFC 7519) para transmitir informações de forma compacta e autocontida entre duas partes, geralmente entre um servidor de autenticação e uma aplicação. É amplamente usado em autenticação de APIs e sistemas de login (OAuth 2.0, OpenID Connect).

Estrutura de um JWT

Um JWT é formado por três partes separadas por ponto (.):

xxxxx.yyyyy.zzzzz
header.payload.signature

Cada parte é codificada em Base64URL:

  1. Header — metadados sobre o token, como o algoritmo de assinatura (alg) e o tipo (typ)
  2. Payload — os dados (claims), como ID do usuário, permissões e datas
  3. Signature — garante que o token não foi alterado; gerada com uma chave secreta

Claims comuns no payload

ClaimSignificado
issEmissor (issuer) do token
subSujeito (subject), normalmente o ID do usuário
audDestinatário (audience) do token
expData/hora de expiração (timestamp Unix)
iatData/hora de emissão (issued at)
nbfNão válido antes de (not before)

As datas (exp, iat, nbf) são números no formato timestamp Unix em segundos. Esta ferramenta as converte automaticamente para o horário local legível.

Decodificar não é verificar

É fundamental entender a diferença:

  • Decodificar um JWT apenas converte o Base64URL de volta em texto. Qualquer pessoa pode ler o conteúdo de um JWT — o payload não é criptografado.
  • Verificar um JWT consiste em recalcular a assinatura usando a chave secreta e compará-la com a assinatura do token. Só assim se garante que o token é autêntico e não foi adulterado.

Por isso, nunca coloque dados sensíveis (senhas, números de cartão) no payload de um JWT, e sempre verifique a assinatura no servidor antes de confiar nos dados.

Algoritmos de assinatura

  • HS256 (HMAC + SHA-256) — usa uma chave secreta compartilhada
  • RS256 (RSA + SHA-256) — usa par de chaves pública/privada
  • ES256 (ECDSA + SHA-256) — baseado em curvas elípticas

Perguntas frequentes

O conteúdo de um JWT é criptografado?

Não. O header e o payload são apenas codificados em Base64URL, não criptografados. Qualquer pessoa com o token pode ler seu conteúdo. A assinatura serve para verificar a integridade, não para esconder dados.

Por que minha assinatura não aparece decodificada?

A assinatura é um valor binário gerado por HMAC ou criptografia assimétrica — ela não representa texto legível. Esta ferramenta a exibe como está (Base64URL), pois só faz sentido validá-la com a chave secreta no servidor.

Esta ferramenta valida se o token expirou?

Ela exibe a data de expiração (exp) convertida para um formato legível, permitindo que você verifique manualmente. A validação automática de expiração e assinatura deve ser feita pela sua aplicação no servidor.

É seguro colar meu token aqui?

Todo o processamento acontece no seu navegador (JavaScript local) — nenhum dado é enviado a servidores. Ainda assim, evite colar tokens de produção válidos em qualquer ferramenta online por precaução.

Veja também