Decodificador JWT

Decodificador JWT

Decodifique e inspecione JSON Web Tokens — visualize header, payload, verifique assinaturas HMAC e gere código JWT em PHP, JavaScript, Python e Java.

CODIFICADO
DECODIFICADO

Cole um token JWT à esquerda para decodificá-lo

GERAR CÓDIGO JWT
Linguagem
Algoritmo
javascript
 1const jwt = require('jsonwebtoken');
 2
 3const secretKey = 'your-256-bit-secret';
 4
 5const payload = {
 6  sub: '1234567890',
 7  name: 'John Doe',
 8  iat: Math.floor(Date.now() / 1000)
 9};
10
11const token = jwt.sign(payload, secretKey, { algorithm: 'HS256' });
12console.log(token);
13
14// To verify:
15const decoded = jwt.verify(token, secretKey, { algorithms: ['HS256'] });
16console.log(decoded);

JWT Decoder Online — Grátis, 100% no Navegador

Cole qualquer JSON Web Token e decodifique instantaneamente o header, payload e assinatura com este decodificador JWT online gratuito — sem servidor, sem cadastro, tudo roda no navegador usando a Web Crypto API nativa. Campos de timestamp como exp, iat e nbf são automaticamente convertidos para datas legíveis para que você saiba de relance se um token expirou.

Além da decodificação básica, a ferramenta verifica assinaturas HMAC (HS256, HS384, HS512) no próprio navegador e gera código pronto para assinar JWTs em JavaScript, PHP, Python e Java — tornando-se um debugger JWT e utilitário de desenvolvimento completo.

Como Usar o Decodificador JWT

  1. Cole seu JWT no campo de entrada — clique em Colar da Área de Transferência ou digite o token codificado. A ferramenta colore as três partes separadas por pontos (header, payload, assinatura) para clareza visual.
  2. Inspecione os dados decodificados — o header mostra o algoritmo e o tipo do token; o payload exibe todos os claims com timestamps convertidos para datas.
  3. Verifique a assinatura — para tokens HMAC (HS256, HS384, HS512), insira sua chave secreta no painel de verificação. Marque "Base64 Encoded" se o segredo estiver armazenado em Base64.
  4. Gere código — use a aba de geração de código para obter snippets prontos para assinar JWTs na sua linguagem e algoritmo preferidos.

O que é um JSON Web Token?

Um JSON Web Token (JWT) é um formato compacto e seguro para URL de transmitir claims entre partes. Definido na RFC 7519, todo JWT tem três seções codificadas em Base64URL separadas por pontos:

  • Header — declara o tipo do token (JWT) e o algoritmo de assinatura (HS256, RS256, etc.)
  • Payload — contém os claims: ID do usuário, papéis, permissões, tempo de expiração e dados personalizados
  • Signature — um hash criptográfico do header e payload, assinado com uma chave secreta ou privada, que garante que o token não foi modificado

JWTs são o formato de credencial padrão em APIs REST, fluxos de autorização OAuth 2.0 e tokens de identidade OpenID Connect.

Algoritmos Suportados

Algoritmo Família Descrição
HS256 HMAC HMAC com SHA-256 — simétrico, amplamente usado
HS384 HMAC HMAC com SHA-384
HS512 HMAC HMAC com SHA-512 — opção simétrica mais forte
RS256 RSA RSASSA-PKCS1-v1_5 com SHA-256 — assimétrico
RS384 RSA RSASSA-PKCS1-v1_5 com SHA-384
RS512 RSA RSASSA-PKCS1-v1_5 com SHA-512

Casos de Uso Comuns

  • Depuração de autenticação: Quando uma API retorna 401 ou o frontend recebe erro de "token inválido", cole o JWT aqui para verificar o claim exp (expirou?), o claim aud (corresponde ao audience esperado?) e o algoritmo antes de escrever qualquer código.
  • Auditorias de segurança: JWTs são codificados em Base64, não criptografados — o payload é legível por qualquer pessoa. Cole tokens do seu sistema aqui para confirmar que dados sensíveis (senhas, PII, chaves internas) não estão vazando acidentalmente pelos claims.
  • Desenvolvimento e testes de integração: Verifique que o backend emite tokens com os claims corretos, TTL correto (exp menos iat) e o algoritmo certo antes de escrever testes de integração contra o fluxo de autenticação.
  • Verificação de assinatura: Insira seu segredo HMAC para confirmar que um token foi assinado com a chave esperada — útil ao depurar incompatibilidades de tokens entre serviços que compartilham um segredo.
  • Aprender a estrutura JWT: A visualização colorida dividida e a exibição legível dos claims tornam esta ferramenta ideal para entender como JWTs funcionam sem precisar ler a RFC.
  • Geração de código: O gerador integrado produz snippets prontos para assinar JWTs para que você não precise pesquisar os métodos corretos de biblioteca e o formato de claims para cada linguagem.

Perguntas Frequentes

Por que o payload do JWT é visível sem nenhuma chave?

O payload é apenas codificado em Base64URL, não criptografado. Qualquer pessoa que tenha a string do token pode decodificar e ler o payload sem nenhuma chave. A assinatura apenas prova que o token foi emitido por alguém com o segredo correto — não oculta o conteúdo. Nunca armazene dados sensíveis em um payload JWT, a menos que use JSON Web Encryption (JWE).

Qual é a diferença entre HS256 e RS256?

HS256 é um algoritmo simétrico: a mesma chave secreta é usada tanto para assinar quanto para verificar o token. RS256 é assimétrico: uma chave privada assina o token, e uma chave pública (diferente) verifica. RS256 é preferível em sistemas distribuídos onde múltiplos serviços precisam verificar tokens sem nunca receber o segredo de assinatura. HS256 é mais simples e rápido, adequado para cenários de serviço único ou serviços confiáveis.

Como verificar se um token JWT expirou?

Cole o token aqui — o claim exp (expiração) é automaticamente renderizado como uma data legível e comparado com o horário atual. Se o token tiver expirado, você verá o timestamp de expiração exibido claramente. O valor exp em si é um timestamp Unix em segundos (ex: 1740000000 = março de 2025).

Esta ferramenta consegue verificar tokens RS256 ou RS512?

A verificação completa de assinatura no navegador é suportada para algoritmos baseados em HMAC (HS256, HS384, HS512). Para algoritmos RSA (RS256, RS384, RS512), a ferramenta decodifica e exibe o token, mas verificar a assinatura requer uma chave pública — essa operação é melhor realizada no seu backend usando uma biblioteca JWT.

Meu token JWT ou segredo é enviado para algum servidor?

Não. Toda a decodificação e verificação acontece inteiramente no seu navegador usando JavaScript e a Web Crypto API. Seus tokens, segredos e dados de payload nunca saem do seu dispositivo. A ferramenta também funciona completamente offline depois que a página carrega.

Related Tools