Skip to content

Guide

Alternativas ao jwt.io: Decodificadores JWT online comparados

jwt.io é a implementação de referência. Use um decodificador somente do lado do cliente quando o token contiver credenciais reais.

By Published

Nota de segurança: Nunca cole um JWT que contenha credenciais de produção, tokens de sessão ou material de chave privada em qualquer ferramenta online — incluindo jwt.io e Convertitive. Para tokens com credenciais reais, decodifique localmente usando os exemplos de linha de comando nas FAQ abaixo.

JWTs (JSON Web Tokens) são três segmentos codificados em Base64url separados por pontos. O cabeçalho e o payload não são criptografados — são legíveis por qualquer pessoa que tenha o token. Decodificá-los não requer nada mais do que uma decodificação Base64url e uma análise JSON. A questão não é se você pode decodificá-lo, mas onde — e se a ferramenta que você escolhe introduz risco desnecessário.

O que jwt.io faz muito bem

jwt.io é mantido pela Auth0 (agora Okta) e é o mais próximo de uma ferramenta de referência oficial que o ecossistema JWT tem. Seus pontos fortes são substanciais:

  • Verificação de assinatura — cole um segredo (HMAC) ou chave pública (RSA, ECDSA, EdDSA) e jwt.io verificará se a assinatura do token é válida. Nenhuma outra ferramenta online gratuita popular suporta isso tão bem.
  • Cobertura de algoritmos — HS256, HS384, HS512, RS256, RS384, RS512, ES256, ES384, ES512, PS256, PS384, PS512 e Ed25519/Ed448.
  • Conformidade com RFC — a ferramenta é mantida por pessoas que contribuíram para as especificações JWT. Quando um token é inválido conforme o RFC 7519, jwt.io diz.
  • Lista de bibliotecas — a parte inferior do jwt.io lista bibliotecas JWT de código aberto para mais de 30 idiomas com links para seus repositórios. Este é um recurso de referência genuíno para engenheiros escolhendo uma implementação.
  • Confiança do ecossistema — URLs jwt.io são o padrão de facto para compartilhar explicações de tokens em documentação, respostas do Stack Overflow e guias de referência de API.

A preocupação com privacidade

jwt.io afirma funcionar inteiramente no navegador. A Auth0 confirmou que os dados do token não são enviados aos seus servidores durante a decodificação. Isso é quase certamente verdade para a operação principal de decodificar e exibir.

No entanto, jwt.io carrega JavaScript de terceiros — análises, monitoramento e scripts de publicidade — que estão fora do controle da Auth0 no nível da rede. Pesquisadores de segurança e membros da comunidade levantaram essa preocupação no GitHub e em fóruns de segurança: um script carregado de um CDN de terceiros poderia, em princípio, ler o DOM.

A orientação prática segue diretamente do RFC 7519 §10 e OWASP: se o token carrega algo sensível — um identificador de sessão, reivindicações de identidade de um usuário, uma chave de API em uma reivindicação personalizada — decodifique-o localmente, não online.

O decodificador JWT da Convertitive é estritamente do lado do cliente. A página não contém scripts analíticos que leem campos de entrada, e nenhum dado de token sai do navegador. Essa é uma diferença significativa para tokens que são de baixo risco, mas não totalmente descartáveis — tokens de desenvolvimento, credenciais de teste, JWTs de demonstração.

O que o decodificador JWT da Convertitive não faz

A Convertitive não suporta verificação de assinatura, e isso é intencional.

A verificação de assinatura requer que você forneça um segredo compartilhado (HMAC) ou uma chave pública (RSA/ECDSA). Inserir qualquer um desses em uma ferramenta baseada em navegador é um antipadrão de segurança: segredos pertencem a gerenciadores de segredos, não a campos de entrada do navegador.

O RFC 7519 §10 aborda isso explicitamente: “As chaves usadas para assinar ou verificar JWTs DEVEM ser mantidas em segredo e NÃO DEVEM ser compartilhadas.” O RFC 8725 vai além, observando que ataques de confusão de algoritmo tornam-se trivialmente exploráveis quando a validação é delegada a superfícies não confiáveis.

Se você precisar verificar uma assinatura JWT, use a biblioteca JWT do seu aplicativo diretamente, ou um script local. A verificação de assinatura do jwt.io é útil para depuração no desenvolvimento — apenas use uma chave de desenvolvimento ou teste, nunca um segredo de produção.

Comparação de recursos

Recursojwt.iotoken.devConvertitive
Decodificação de cabeçalho + payloadSimSimSim
Verificação de assinaturaSim — todos os algoritmos principaisSim — HMAC e RSANão (por design)
Exibição legível de exp / iatSimSimSim
Cobertura de algoritmosMuito ampla — 12+ algoritmosModeradaApenas exibição (sem verificação)
Scripts analíticos de terceirosSim (Auth0 / Okta analytics)MínimoNão
Dados do token enviados ao servidorNão (afirmado do lado do cliente)NãoNão (verificado somente no lado do cliente)
Lista de referência de bibliotecasSim — 30+ idiomasNãoNão
Suporte a JWE (token criptografado)NãoNãoNão
Uso offline (após primeiro carregamento)ParcialSimSim
MantenedorAuth0 / OktaComunidadeConvertitive

Quando usar jwt.io

  • Você precisa verificar uma assinatura durante o desenvolvimento e está usando uma chave de desenvolvimento ou teste (nunca um segredo de produção).
  • Você precisa da lista de referência de bibliotecas para escolher uma implementação JWT para seu stack.
  • Você quer compartilhar um link para uma explicação de token com um colega — links jwt.io são universalmente compreendidos por engenheiros.
  • Você está depurando um token de demonstração ou sintético sem credenciais reais e quer a interface mais completa.

Quando usar o decodificador JWT da Convertitive

  • O token é um token de desenvolvimento ou teste que você não quer expor a nenhum script de terceiros, mesmo com baixo risco.
  • Você só precisa ler as reivindicações do payload — expiração, assunto, funções — e não precisa de verificação de assinatura.
  • Você está auditando um formato de token (verificando o algoritmo do cabeçalho, verificando nomes de reivindicações) e não precisa do conjunto completo de recursos do jwt.io.

A estrutura JWT

Um JWT padrão tem três componentes separados por pontos:

  1. Cabeçalho — JSON codificado em Base64url especificando o tipo de token (JWT) e algoritmo de assinatura (alg).
  2. Payload — JSON codificado em Base64url contendo reivindicações. Reivindicações registradas incluem iss (emissor), sub (assunto), aud (audiência), exp (expiração) e iat (emitido em).
  3. Assinatura— calculada sobre cabeçalho + “.” + payload usando o algoritmo e chave especificados no cabeçalho. Não pode ser decodificada sem a chave.

As partes 1 e 2 não são secretas — elas são apenas codificadas, não criptografadas. Qualquer pessoa com a string de token pode ler o cabeçalho e o payload. A assinatura prova que o token foi emitido por alguém que possui a chave de assinatura, mas não oculta o conteúdo.

Para um guia técnico mais aprofundado, consulte nosso guia de decodificação de tokens JWT. Para entender especificamente a codificação Base64url, veja codificação Base64 explicada.

O resumo honesto

jwt.io é a melhor ferramenta se você precisar de verificação de assinatura ou quiser a experiência de referência JWT mais completa. É mantido por pessoas com contexto profundo na especificação JWT, e sua lista de bibliotecas é genuinamente útil.

O decodificador da Convertitive é a melhor escolha quando você quer garantir nenhuma interação de script de terceiros com seu token, ou quando você só precisa de inspeção de cabeçalho e payload sem a complexidade da verificação de assinatura. Ele faz menos — deliberadamente.

Para qualquer token contendo credenciais de produção reais: não use nenhum. Use a linha de comando.

Frequently asked questions

jwt.io pode verificar uma assinatura JWT?
Sim — jwt.io suporta verificação de assinatura. Você cola seu token, seleciona o algoritmo e fornece um segredo (para HMAC) ou uma chave pública (para RSA/ECDSA). O decodificador da Convertitive não suporta verificação de assinatura, por design: inserir uma chave de assinatura ou chave privada em qualquer ferramenta baseada em navegador é um antipadrão de segurança conforme RFC 7519 §10.
jwt.io envia meu token para os servidores da Auth0?
jwt.io é comercializado como funcionando inteiramente no navegador. A Auth0 (a mantenedora) afirma que nenhuma solicitação de servidor é feita para decodificação. Isso é quase certamente verdade para a operação principal de decodificar e exibir. No entanto, jwt.io carrega JavaScript de terceiros — análises, monitoramento e scripts de publicidade — que estão fora do controle da Auth0 no nível da rede. Para tokens com credenciais de produção reais, usar uma ferramenta offline ou um comando local é a opção mais segura.
Por que a Convertitive não suporta verificação de assinatura?
O RFC 7519 §10 alerta explicitamente contra o compartilhamento de chaves de assinatura. Uma ferramenta baseada em navegador que aceita um segredo ou chave privada normaliza a prática de inserir credenciais em formulários da web. A Convertitive decodifica apenas o cabeçalho e o payload — a parte de um JWT que é sempre codificada em Base64url sem criptografia e não carrega segredo de assinatura.
Um JWT é criptografado?
JWTs padrão (JWS, JSON Web Signature) são assinados, mas não criptografados — o cabeçalho e o payload são codificados em Base64url e visíveis para qualquer um que tenha o token. Tokens JWE (JSON Web Encryption) são criptografados. Se o seu token começa com eyJ e tem três partes separadas por ponto, é um JWS e seu cabeçalho e payload podem ser decodificados sem qualquer chave.
Posso decodificar um JWT na linha de comando?
Sim. No Node.js: node -e "const t='SEU_TOKEN'; console.log(JSON.parse(Buffer.from(t.split('.')[1],'base64url').toString()))". Com jq e base64: echo SEU_TOKEN | cut -d. -f2 | base64 -d | jq. Esses requerem nenhuma conexão de rede e são a abordagem recomendada para tokens que contêm credenciais de produção.
O que significa 'exp' no payload de um JWT?
exp é o timestamp de expiração POSIX definido no RFC 7519 §4.1.4. É um timestamp Unix (segundos desde 1970-01-01T00:00:00Z). Tanto jwt.io quanto a Convertitive o exibem como um datetime legível por humanos. Use nosso conversor de timestamp para verificar qualquer valor exp em relação à hora atual.

Related

Published May 31, 2026