Ferramentas Cripto·7 min

Como decodificar tokens JWT: guia para desenvolvedores

Aprenda a decodificar tokens JWT para inspecionar header, payload e claims. Inclui decodificador gratuito no navegador.

O que é um JWT e por que decodificá-lo?

Um JSON Web Token (JWT) é um formato de token compacto e seguro para URL, usado para transmitir claims entre duas partes, geralmente um cliente e um servidor. Um JWT consiste em três partes codificadas em Base64URL separadas por pontos: o header, o payload e a signature.

Decodificar um JWT é ler o header e o payload para entender quais claims ele carrega. Isso é essencial para depurar fluxos de autenticação, inspecionar tokens em respostas de API ou simplesmente entender quais dados estão sendo enviados em seu nome. É importante saber que decodificar não verifica a assinatura — para isso você precisa da chave secreta ou pública da parte que emitiu o token.

Casos de uso comuns

  • Depurar fluxos de auth: inspecionar tokens devolvidos por APIs de login
  • Auditar claims: conferir expiração, emissor, audiência e campos personalizados
  • Desenvolvimento local: ler tokens guardados em localStorage ou cookies
  • Aprendizado: entender como a autenticação funciona em apps web modernas
  • Revisões de segurança: flagrar dados sensíveis incluídos por engano em tokens

Método 1: Use o decodificador JWT gratuito do UtilBoxx (Recomendado)

Nosso decodificador JWT analisa qualquer JWT e exibe seu header e payload em formato legível, com timestamps convertidos para datas humanas. Veja como usar:

  1. Vá para utilboxx.com/pt/tools/crypto/jwt
  2. Cole seu JWT no campo de entrada
  3. O header e o payload são decodificados na hora
  4. Confira a expiração, emitido em, e outros claims
  5. Copie qualquer seção com um clique

Por que este método funciona:

  • Roda inteiramente no seu navegador — o token nunca sai do dispositivo
  • Formata JSON automaticamente para legibilidade
  • Destaca tokens expirados e prestes a expirar
  • Adaptado para celular com campos de texto grandes
  • 100% grátis, sem cadastro, sem rastreamento

Método 2: Use o jwt.io

O site jwt.io (da Auth0) é um playground JWT popular. Cole um token e ele decodifica header e payload, com a opção de verificar a assinatura se você fornecer a chave secreta. É amplamente usado e suporta algoritmos de muitas bibliotecas.

Método 3: Decodifique na sua linguagem favorita

Em Node.js, com a biblioteca `jsonwebtoken`:

```javascript const jwt = require('jsonwebtoken'); const decoded = jwt.decode('eyJhbGciOi...', { complete: true }); console.log(decoded.header); console.log(decoded.payload); ```

Em Python, com a biblioteca `PyJWT`:

```python import jwt payload = jwt.decode("eyJhbGciOi...", options={"verify_signature": False}) print(payload) ```

A opção `verify_signature: False` é essencial — diz à biblioteca para decodificar sem verificar a assinatura, exatamente o que você quer para inspeção.

Perguntas frequentes

É seguro decodificar um JWT online?

Decodificar é seguro porque o conteúdo não é secreto — está apenas codificado em Base64URL, não criptografado. Mesmo assim, não cole tokens de produção em serviços não confiáveis se puderem conter dados sensíveis. O decodificador do UtilBoxx roda localmente no navegador, então o token nunca sai do seu dispositivo.

Um JWT decodificado pode ser confiável?

Não. Decodificar mostra os claims mas não verifica a assinatura. Um token pode ser decodificado e mesmo assim não ser autêntico. Sempre verifique a assinatura com a chave secreta ou pública do emissor antes de confiar em qualquer claim.

Qual a diferença entre decodificar e verificar?

Decodificar lê o conteúdo. Verificar usa uma chave criptográfica para confirmar que o token foi emitido por uma parte confiável e não foi alterado. Para inspeção local basta decodificar. Para decisões de segurança é preciso verificar.

Que claims são comumente incluídos em um JWT?

Os claims padrão incluem `iss` (emissor), `sub` (assunto), `aud` (audiência), `exp` (expiração), `iat` (emitido em) e `nbf` (não antes de). Claims personalizados variam por aplicação, como `role`, `email` ou `user_id`.

Conclusão

Decodificar JWTs é uma tarefa rotineira para desenvolvedores. Para uma experiência rápida, privada e no navegador, o decodificador JWT do UtilBoxx é a ferramenta mais fácil de manter nos favoritos.