Decodificador JWT Online - Decode JSON Web Tokens

Decodifique e analise JSON Web Tokens (JWT) instantaneamente. Visualize header, payload, verifique expiração e entenda a estrutura de seus tokens de autenticação.

Decodificador JWT

💡 Sobre JWT
  • Header: Contém o tipo de token e algoritmo de assinatura
  • Payload: Contém as claims (informações do usuário e metadados)
  • Signature: Garante a integridade do token (não validada aqui)
  • Decodificação ≠ Validação: Esta ferramenta apenas lê o token, não verifica sua autenticidade

O que é JWT?

JWT (JSON Web Token) é um padrão aberto (RFC 7519) que define uma maneira compacta e autossuficiente para transmitir informações com segurança entre partes como um objeto JSON. É amplamente usado para autenticação e troca de informações em aplicações web modernas.

Estrutura de um JWT

Um JWT consiste em três partes separadas por pontos (.):

xxxxx.yyyyy.zzzzz

1. Header

Contém o tipo de token (JWT) e o algoritmo de assinatura (HS256, RS256, etc.)

2. Payload

Contém as claims (declarações) sobre o usuário e metadados adicionais

3. Signature

Garante que o token não foi alterado. Criada com o header, payload e uma chave secreta

Claims Comuns no Payload

Quando Usar JWT?

✅ Bom Para:

  • • APIs REST stateless
  • • Autenticação entre serviços
  • • Single Sign-On (SSO)
  • • Mobile apps
  • • Microservices

❌ Não Recomendado Para:

  • • Dados sensíveis (senhas, etc.)
  • • Tokens de longa duração
  • • Sessões complexas com estado
  • • Quando precisa revogar imediatamente

⚠️ Avisos de Segurança

IMPORTANTE:

  • Esta ferramenta NÃO valida assinaturas. Ela apenas decodifica o conteúdo.
  • Nunca compartilhe tokens JWT reais que contenham dados sensíveis ou de produção.
  • JWT não é criptografado, apenas codificado em Base64. Qualquer um pode decodificar.
  • Não armazene dados sensíveis no payload do JWT.
  • Sempre verifique a assinatura no servidor antes de confiar no token.
  • Use HTTPS sempre que transmitir JWTs.

Melhores Práticas

Exemplo de JWT

Token Completo:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvYW8gU2lsdmEiLCJpYXQiOjE1MTYyMzkwMjJ9.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

Header Decodificado:

{
  "alg": "HS256",
  "typ": "JWT"
}

Payload Decodificado:

{
  "sub": "1234567890",
  "name": "Joao Silva",
  "iat": 1516239022
}

Bibliotecas Recomendadas

  • Node.js: jsonwebtoken, jose
  • Python: PyJWT, python-jose
  • Java: jjwt, jose4j
  • PHP: firebase/php-jwt, lcobucci/jwt
  • .NET: System.IdentityModel.Tokens.Jwt
  • Go: golang-jwt/jwt

Perguntas Frequentes

JWT é criptografado?

Não por padrão. JWT usa codificação Base64, que pode ser facilmente decodificada. Para criptografia, use JWE (JSON Web Encryption).

Posso revogar um JWT?

JWT são stateless, então não há revogação nativa. Soluções incluem: usar tempos de expiração curtos, manter uma blacklist no servidor, ou usar tokens com ID único que você pode invalidar.

Onde devo armazenar JWT no navegador?

A opção mais segura é httpOnly cookies. localStorage é conveniente mas vulnerável a XSS. Evite sessionStorage para tokens de autenticação importantes.