Fastway

Decodificador de JWT

Os tokens são decodificados apenas no seu navegador. Nunca cole tokens de produção ou pessoais em ferramentas online que você não controla.

O que é um JWT?

O Decodificador de JWT revela o que há dentro de um JSON Web Token sem enviá-lo a lugar algum. Cole um token e a ferramenta o divide em suas três partes, decodifica o header e o payload em Base64URL e exibe ambos formatados como JSON. Ela interpreta automaticamente as claims de tempo padrão — emitido em (iat), não antes de (nbf) e expiração (exp) — como datas legíveis e avisa claramente quando um token expirou. Lembre-se de que o payload de um JWT é apenas codificado, não criptografado, então qualquer um pode lê-lo; esta ferramenta nunca verifica a assinatura e roda inteiramente no navegador, mantendo seus tokens no seu dispositivo.

Um JSON Web Token (JWT) é uma string compacta e segura para URL usada para representar declarações entre duas partes. Consiste em três seções codificadas em Base64URL separadas por pontos: um Header (algoritmo e tipo de token), um Payload (declarações como ID do usuário, tempo de expiração e funções) e uma Assinatura (usada para verificar que o token não foi adulterado). JWTs são o formato de token de autenticação mais comum em APIs web modernas.

O que as pessoas entendem errado sobre JWT

A maior parte dos incidentes com JWT não é quebra criptográfica — são mal-entendidos sobre o que o formato garante.

Achar que o payload está escondido

Um JWT é assinado, não criptografado. Qualquer pessoa com o token consegue decodificar o payload em Base64url e ler todas as claims, sem chave nenhuma — é exatamente o que esta página faz. E-mails, IDs internos de usuário, nomes de papéis e permissões ficam legíveis para quem tiver o token, inclusive o navegador que o recebeu.

Confiar no cabeçalho alg

O cabeçalho declara qual algoritmo assinou o token, e um verificador ingênuo lê esse campo para decidir como conferir a assinatura. Um atacante que o troque por "none" e remova a assinatura consegue forjar qualquer payload contra um servidor que respeite essa declaração. A verificação precisa fixar o algoritmo esperado no servidor e ignorar o que o token afirma.

Confundir decodificar com verificar

Decodificar mostra o conteúdo; não diz nada sobre a assinatura ser válida. Um token adulterado decodifica com a mesma limpeza de um legítimo. Só quem tem a chave de assinatura consegue distinguir os dois, e é por isso que a verificação pertence ao servidor e nunca ao cliente.

Ler exp e iat como milissegundos

As claims de tempo registradas exp, iat e nbf são segundos desde a epoch Unix, enquanto o Date.now() do JavaScript devolve milissegundos. Comparar os dois diretamente faz todo token parecer válido até o ano 55000 — um bug que se esconde por completo em testes e só aparece quando um token expirado é aceito em produção.

Como funciona a decodificação de JWT

Decodificar um JWT é simples: a ferramenta divide o token nos pontos, decodifica cada uma das três partes em Base64URL e analisa o JSON resultante. Base64URL é uma variante do Base64 que substitui + por - e / por _, e omite o preenchimento =.

Decodificar não é o mesmo que verificar. Esta ferramenta pode ler as declarações de qualquer JWT sem a chave de assinatura. A verificação requer a chave e deve ser feita no lado do servidor.

Casos de Uso

  • Inspecionar quais declarações um token carrega — ID do usuário, e-mail, expiração, funções — sem precisar de um servidor.
  • Depurar problemas de autenticação verificando se um token expirou ou carrega as declarações erradas.
  • Entender o algoritmo no cabeçalho (HS256, RS256 etc.) para saber como o token é assinado.
  • Aprender como funciona a estrutura JWT como desenvolvedor ou engenheiro de segurança.

Decodificação de Token, Sem Transmissão

Tokens JWT são decodificados usando bibliotecas JavaScript que rodam no seu navegador. Os dados do token que você fornece são processados localmente na sua máquina — nunca são enviados aos nossos servidores ou para qualquer outro lugar.

FAQ

Ele verifica a assinatura?

Não. Ele apenas decodifica o header e o payload (que são Base64URL, não criptografados). Não valida a assinatura.

É seguro colar um token?

A decodificação é local no seu navegador, mas nunca cole tokens reais de produção ou pessoais em ferramentas que você não confia totalmente.

Por que o payload é legível?

O payload de um JWT é apenas codificado em Base64URL, então qualquer um pode lê-lo. Dados sensíveis nunca devem ser guardados em um JWT.

Posso verificar uma assinatura JWT com esta ferramenta?

Não. A verificação de assinatura requer a chave de assinatura do servidor. Esta ferramenta apenas decodifica o payload para que você possa ler as declarações. A verificação de assinatura sempre deve ocorrer no servidor.