Escolher idioma

Decodificador de JWT online

Decodifique tokens JWT direto no navegador e leia o cabeçalho, o payload e os claims. Veja datas de expiração e o algoritmo de assinatura.

Mehmet Demiray Publicado Atualizado
Compartilhar
Converta as claims exp, iat e nbf em datas legíveis

O que é um token JWT

Um JWT (JSON Web Token) é um padrão aberto para transportar informações entre duas partes de forma compacta e verificável. Ele aparece com frequência em autenticação de APIs, sessões de login e troca de dados entre serviços. O formato é uma única string dividida em três partes separadas por ponto, no estilo cabecalho.payload.assinatura.

Cada parte é codificada em Base64URL, uma variação do Base64 segura para uso em URLs. Por isso o token parece uma sequência embaralhada de caracteres, mas o conteúdo não está criptografado: qualquer pessoa consegue ler o cabeçalho e o payload apenas decodificando o texto.

Esse decodificador separa as três partes e mostra cada uma já convertida para JSON legível. Você consegue conferir rapidamente quem emitiu o token, para quem ele foi destinado e até quando vale. A assinatura permanece como referência, já que ela serve para validar a integridade, não para esconder os dados.

As três partes de um JWT

Todo token JWT tem uma estrutura fixa de três blocos. Entender cada um facilita a leitura do que o decodificador exibe:

  1. Cabeçalho (header): informa o tipo do token e o algoritmo de assinatura, normalmente em campos como alg e typ. Um valor comum é HS256 ou RS256.
  2. Payload: guarda os claims, que são as afirmações sobre o usuário ou a sessão, como identificador, permissões e datas.
  3. Assinatura: combina cabeçalho e payload com uma chave secreta ou par de chaves, garantindo que o token não foi alterado no caminho.

Um exemplo visual da divisão:

Parte Conteúdo Codificação
Cabeçalho { "alg": "HS256", "typ": "JWT" } Base64URL
Payload { "sub": "123", "name": "Ana" } Base64URL
Assinatura HMACSHA256(...) bytes assinados

O decodificador converte cabeçalho e payload de volta para JSON e mantém a assinatura intacta para consulta.

Claims comuns no payload

O payload reúne os claims, pequenos campos que descrevem o token. Alguns são padronizados e aparecem em quase toda implementação. Conhecê-los ajuda a interpretar o que o decodificador mostra:

  • iss (issuer): quem emitiu o token.
  • sub (subject): a quem o token se refere, geralmente o identificador do usuário.
  • aud (audience): para qual serviço o token foi destinado.
  • exp (expiration): data e hora limite de validade, em formato Unix.
  • iat (issued at): momento em que o token foi gerado.
  • nbf (not before): instante a partir do qual o token passa a valer.

Além desses, cada aplicação cria claims próprios, como papéis de acesso, e-mail ou plano da conta. O decodificador exibe todos eles juntos, sem filtrar nada. Os campos de data costumam vir como números grandes, então vale lembrar que exp e iat representam segundos desde 1 de janeiro de 1970. Assim você confere em segundos se um token já passou da validade.

Por que decodificar não é validar

Existe uma diferença importante entre decodificar e validar um JWT. Decodificar significa apenas converter o texto Base64URL de volta para JSON, expondo o conteúdo. Qualquer ferramenta consegue fazer isso, porque o payload não está criptografado.

Validar é confirmar que a assinatura confere com a chave correta e que o token ainda está dentro do prazo. Esse passo exige a chave secreta ou a chave pública do emissor, algo que pertence ao servidor que gerou o token. Por segurança, esse decodificador não pede nem armazena chaves.

Na prática, isso traz duas conclusões úteis. Primeiro, nunca coloque dados sensíveis no payload achando que estão protegidos, já que qualquer um pode lê-los. Segundo, a confiança em um token sempre depende da verificação da assinatura no backend, não da simples leitura. Use esta página para inspecionar e depurar o conteúdo, e deixe a validação criptográfica para o seu servidor, onde a chave fica guardada com segurança.

Privacidade e ferramentas relacionadas

A decodificação acontece inteiramente no seu navegador. O token que você cola não é enviado para nenhum servidor, o que é essencial quando se trabalha com credenciais reais de produção. Mesmo assim, evite colar tokens de contas ativas em qualquer site quando puder usar exemplos.

Como o JWT usa Base64URL, entender essa codificação ajuda no dia a dia. Se você precisa converter textos manualmente, o codificador Base64 e o decodificador Base64 complementam bem esta ferramenta. Eles são úteis para inspecionar partes isoladas ou montar exemplos de teste.

Depois de decodificar o payload, o resultado é um objeto JSON. Para deixá-lo organizado, indentado e fácil de ler, vale passar pelo formatador de JSON. Esse fluxo é comum ao depurar APIs: você decodifica o token, copia o payload e formata o JSON para analisar campo por campo. Juntas, essas ferramentas cobrem boa parte do trabalho de inspeção de tokens e dados estruturados.

As que mais respondemos.

O decodificador valida a assinatura do token?

Não. Esta ferramenta apenas decodifica o cabeçalho e o payload para JSON legível. Validar a assinatura exige a chave secreta ou pública do emissor, algo que deve ficar no seu servidor. Aqui o foco é a leitura e a depuração do conteúdo.

Meu token é enviado para algum servidor?

Não. Toda a decodificação ocorre localmente no seu navegador, então o token colado não sai do seu dispositivo. Ainda assim, prefira usar exemplos quando possível e evite expor tokens de produção em qualquer ferramenta online.

Por que consigo ler o conteúdo do JWT sem nenhuma senha?

Porque o payload de um JWT não é criptografado, apenas codificado em Base64URL. A assinatura serve para garantir integridade, não para esconder dados. Por isso, nunca coloque informações sensíveis dentro do payload.

O que significam os campos exp e iat?

O exp indica quando o token expira e o iat quando ele foi emitido. Ambos aparecem como números no formato Unix, ou seja, segundos desde 1 de janeiro de 1970. Comparar esses valores com o horário atual mostra se o token ainda é válido.

Qual a diferença entre o cabeçalho e o payload?

O cabeçalho descreve o token em si, como o tipo e o algoritmo de assinatura nos campos typ e alg. O payload guarda os claims, que são as informações sobre o usuário e a sessão, como identificador, permissões e datas de validade.

Posso formatar o JSON do payload depois de decodificar?

Sim. O payload decodificado é um objeto JSON, e você pode copiá-lo para o formatador de JSON e deixá-lo indentado. Esse passo facilita a leitura quando o token tem muitos campos aninhados.