Decodificador JWT

Decodifique o cabeçalho e a carga útil de um Token JSON Web (sem verificação de assinatura)

A assinatura é mostrada bruta — esta ferramenta não a verifica. Para verificar a autenticidade, use um servidor com a chave secreta/pública.

O que é um JWT?

Um Token JSON Web é composto por três partes codificadas em Base64URL separadas por pontos: um cabeçalho (que algoritmo é usado), uma carga útil (os claims — tipicamente ID do utilizador, expiração, escopos) e uma assinatura. O cabeçalho e a carga útil NÃO são criptografados, apenas codificados — qualquer um com o token pode lê-los. A assinatura prova que o token não foi adulterado.

O decodificador divide as três partes, decodifica as duas primeiras em Base64URL e formata o JSON. Ele NÃO verifica a assinatura — isso requer a chave secreta ou pública do servidor emissor. Não cole tokens de produção em decodificadores não confiáveis; este é apenas para navegador e nunca faz upload, mas como hábito, use tokens do seu próprio ambiente de desenvolvimento para testes.

Casos de uso

  • Auditar um JWT de terceiros — cole um cabeçalho de Autorização para ler o cabeçalho e a carga útil sem confiar em um depurador remoto.
  • Depurar falhas de autenticação — verifique se os claims exp / iat / aud correspondem ao que seu backend espera quando um 401 ocorre em desenvolvimento.
  • Inspecionar tokens OAuth / OIDC — decodifique um token de acesso ou id retornado pelo Google, Auth0 ou Okta para ver os claims do utilizador.
  • Ensinar a estrutura do JWT — mostre aos alunos os três segmentos em Base64 e como a assinatura protege, mas não criptografa a carga útil.

Exemplos

Decoding a sample token
Input
eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1c2VyXzEiLCJleHAiOjE3MDAwMDAwMDB9.signature
Output
Header:
{"alg": "HS256"}

Payload:
{"sub": "user_1", "exp": 1700000000}

Perguntas frequentes

O decodificador verifica a assinatura?

Não — a verificação requer a chave secreta (HS256) ou a chave pública (RS256) usada para assinar o token. O decodificador apenas mostra o que está dentro; a confiança vem da verificação do lado do servidor.

Os conteúdos do JWT são criptografados?

Não, apenas codificados em Base64. Qualquer um com o token pode ler os claims. Use JWE (JWTs criptografados) se os claims precisarem ser confidenciais.

O que significa o claim `exp`?

Timestamp Unix em que o token expira. Tokens além do seu `exp` devem ser rejeitados pelo servidor. O decodificador sinaliza tokens expirados para você.

Posso decodificar um token malformado?

Se uma parte falhar ao decodificar em Base64 ou analisar como JSON, o decodificador mostra um erro apontando para a parte problemática.

Meu token é enviado?

Não. A decodificação é pura JavaScript — seu token permanece no seu dispositivo.