Decodificador JWT

Decodifique e inspecione JSON Web Tokens: cabeçalho, payload, assinatura e expiração

A decodificação acontece no seu navegador. O token nunca é enviado nem armazenado.

Como decodificar um JWT online

  1. 1

    Cole o token

    Cole o JWT na caixa ou clique na varinha para carregar um exemplo. O prefixo "Bearer " e as quebras de linha são removidos automaticamente.

  2. 2

    Leia o cabeçalho e o payload

    O cabeçalho mostra o algoritmo (alg) e o tipo (typ); o payload mostra as claims, como sub, iss, aud e dados próprios, formatadas como JSON.

  3. 3

    Confira as datas e o status

    As claims exp, iat e nbf viram datas legíveis e um selo informa se o token está válido, expirado ou ainda não válido.

  4. 4

    Verifique a assinatura (opcional)

    Em tokens HS256, HS384 e HS512, digite o segredo e clique em Verificar para ver se a assinatura confere. Copie qualquer parte com o botão Copiar.

O que há dentro de um JWT

Um JSON Web Token são três textos em Base64URL unidos por pontos. O cabeçalho diz como o token foi assinado, o payload carrega as claims e a assinatura permite ao servidor conferir que ninguém alterou as duas primeiras partes.

O decodificador mostra cada parte em uma cor para você distinguir: cabeçalho em vermelho, payload em roxo e assinatura em azul.

  • iss: quem emitiu o token
  • sub: o assunto, geralmente o id do usuário
  • aud: o público a que o token se destina
  • exp: horário de expiração, em segundos desde 1970
  • nbf: o token não vale antes deste horário
  • iat: quando o token foi emitido

Decodificar não é verificar

Qualquer pessoa com um JWT consegue ler seu conteúdo, porque Base64URL é uma codificação e não criptografia. Nunca coloque senhas ou segredos no payload. O que protege o token é a assinatura, que só quem tem o segredo ou a chave privada consegue gerar.

Esta ferramenta confere assinaturas HMAC (HS256, HS384, HS512) quando você digita o segredo. RS256, ES256 e outros algoritmos de chave pública são decodificados, mas não verificados aqui.

Expirado, válido ou ainda não válido

O selo compara exp e nbf com a hora atual do seu dispositivo. Se o relógio estiver errado, o resultado também estará. Servidores costumam aceitar alguns segundos de tolerância, o que esta ferramenta não aplica.

Um token sem exp nunca expira segundo suas claims, então o selo mostra "Sem expiração".

Privado por princípio

O token é decodificado no seu navegador com JavaScript puro e a API Web Crypto. Ele nunca é enviado a um servidor nem salvo, então é seguro inspecionar tokens reais. Mesmo assim, trate tokens ativos como senhas e evite compartilhá-los.

Perguntas frequentes sobre o decodificador JWT

Como decodifico um JWT?

Cole o token na caixa. Cabeçalho, payload e assinatura aparecem na hora, sem precisar de botão.

É seguro colar meu token aqui?

Sim. A decodificação roda inteira no seu navegador e o token nunca é enviado nem armazenado. Mesmo assim, evite compartilhar tokens de produção.

Por que a ferramenta diz que o token expirou?

Porque a claim exp é anterior à hora atual do seu dispositivo. Peça um novo token ao serviço que o emitiu.

Ela verifica a assinatura?

Sim, para HS256, HS384 e HS512: digite o segredo e clique em Verificar. Tokens assinados com RS256 ou ES256 são decodificados, mas não verificados.

Funciona com o prefixo "Bearer "?

Sim. O prefixo "Bearer ", aspas, espaços extras e quebras de linha são removidos antes de decodificar.

O que significa alg "none"?

O token não tem assinatura, então nada prova quem o criou. Servidores devem rejeitar esses tokens.

É grátis?

Sim. É grátis, não pede cadastro e não tem limites.