🔓 Decodificador de JWT

Cole um token JWT abaixo para ver o header e o payload em JSON formatado. 100% no seu navegador, nada é enviado para nenhum servidor.

⚠️ Esta ferramenta não valida a assinatura do token. Ela apenas decodifica o conteúdo (header e payload) para leitura.

Espaço reservado para anúncio

O decodificador de JWT abre um JSON Web Token e mostra o que há dentro dele, sem instalar nada. Cole o token para ver o header e o payload em JSON identado, além da assinatura. Útil para quem trabalha com autenticação, APIs e integrações e precisa conferir quais claims o token carrega, qual algoritmo usa e quando expira.

Como usar

  1. Copie o token JWT da sua aplicação, do cabeçalho Authorization ou de onde ele estiver salvo.
  2. Cole o token completo no campo acima. Ele costuma começar com eyJ e ter duas ou três partes separadas por ponto.
  3. Clique em Decodificar. O header e o payload aparecem na hora em JSON formatado, junto com a assinatura.
  4. Use o botão Copiar em cada bloco para reaproveitar o JSON, ou clique em Usar exemplo se quiser ver como funciona antes de colar o seu token.

Se o token estiver incompleto ou fora do formato, a ferramenta aponta onde está o problema, por exemplo, número de partes errado ou trecho que não é base64url válido.

Como funciona

Um JWT é formado por três partes unidas por pontos, no formato header.payload.assinatura. As duas primeiras partes são apenas objetos JSON codificados em base64url, não são criptografados. Por isso, qualquer pessoa consegue decodificar e ler o conteúdo sem a chave secreta; o que a chave protege é a integridade, não o sigilo dos dados.

  • Header: informa o algoritmo de assinatura (alg, como HS256 ou RS256) e o tipo do token (typ).
  • Payload: guarda as claims, os dados do token, como sub (identificação do usuário), name, iat (data de emissão) e exp (data de expiração).
  • Assinatura: é o resultado do algoritmo aplicado sobre header e payload usando a chave do emissor. Serve para provar que o token não foi adulterado.

A ferramenta decodifica header e payload no seu navegador, converte o base64url de volta em texto UTF-8 e exibe o JSON identado. Também reconhece as datas iat, nbf e exp, mostra cada uma em formato legível e avisa quando o token já expirou. Tudo acontece no seu dispositivo: nenhum dado do token é enviado para servidores.

Exemplos rápidos

Como o header e o payload são apenas texto em base64url, cada trecho de um JWT corresponde a um JSON exato. Veja algumas decodificações reais (o que você cola à esquerda, o que aparece à direita):

  • eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9{"alg":"HS256","typ":"JWT"}
  • eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9{"alg":"RS256","typ":"JWT"}
  • eyJhZG1pbiI6dHJ1ZX0{"admin":true}
  • eyJyb2xlIjoiYWRtaW4iLCJleHAiOjE3NDg3MzMwMjJ9{"role":"admin","exp":1748733022}
  • eyJ1c2VySWQiOjQyLCJlbWFpbCI6ImpvYW9AZXhlbXBsby5jb20ifQ{"userId":42,"email":"joao@exemplo.com"}
  • eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ{"sub":"1234567890","name":"John Doe","iat":1516239022}

As datas dentro do payload são Unix timestamps (segundos desde 1970). Por exemplo: iat 1516239022 = 18/01/2018 às 01:30:22 (UTC) e exp 1748733022 = 31/05/2025 às 23:10:22 (UTC). A ferramenta converte esses números para data e hora legível no seu fuso automaticamente.

Exemplos e dicas

Um exemplo comum de payload é algo como { "sub": "1234567890", "name": "João da Silva", "iat": 1516239022, "exp": 1748733022 }. Ao decodificar, você vê o usuário, a data em que o token foi gerado e o momento em que ele deixa de valer. Se o exp já passou, a ferramenta sinaliza que o token está expirado, uma verificação rápida quando uma requisição volta com erro 401.

Dica de segurança: como o payload não é criptografado, nunca coloque senhas, números de cartão ou outros dados sensíveis dentro de um JWT. E evite colar tokens de produção em computadores ou redes públicas, mesmo em ferramentas que rodam localmente.

Perguntas frequentes

Esta ferramenta valida a assinatura do JWT?

Não. Ela apenas decodifica o header e o payload (que são base64url) para exibir o conteúdo. A verificação da assinatura exigiria a chave secreta ou pública do emissor, e a ferramenta não pede nem armazena chaves.

É seguro colar meu token aqui?

A decodificação acontece inteiramente no seu navegador, nenhum dado do token é enviado para servidores. Ainda assim, por boa prática, evite compartilhar tokens de produção em máquinas ou redes públicas.

O que significam iat, nbf e exp no payload?

iat (issued at) é a data de emissão, nbf (not before) é o momento a partir do qual o token passa a valer e exp (expiration) é a data de expiração. Todas são Unix timestamps, e a ferramenta as mostra em formato de data e hora legível.

Dá para decodificar um JWT expirado?

Sim. A expiração não impede a leitura: como o conteúdo é apenas base64url, você consegue decodificar o token mesmo depois do vencimento. A ferramenta inclusive avisa quando o exp já passou.

Por que meu token não decodifica?

Normalmente é porque ele foi copiado incompleto, com espaços ou quebras de linha, ou porque não está no formato de três partes separadas por ponto. Confira se você copiou o token inteiro, começando por eyJ.

Qual a diferença entre decodificar e verificar um JWT?

Decodificar é apenas ler o conteúdo do header e do payload, algo que qualquer um pode fazer. Verificar é conferir, com a chave do emissor, se a assinatura é válida e se o token não foi alterado, isso é feito no servidor da aplicação, não aqui.