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:
- Vá para utilboxx.com/pt/tools/crypto/jwt
- Cole seu JWT no campo de entrada
- O header e o payload são decodificados na hora
- Confira a expiração, emitido em, e outros claims
- 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.