TK TaskKit
Comparativos

Comparativo · Atualizado 2026-05-05

As ferramentas JWT do TaskKit vs jwt.io

Ambas as ferramentas descodificam e verificam JSON Web Tokens inteiramente no navegador. As diferenças práticas estão no que cada uma carrega ao lado do editor, em como se comportam perante uma assinatura lenta ou maliciosa, e num punhado de funcionalidades que uma tem e a outra não. O resumo em baixo está medido; o resto da página mostra o quadro completo.

Resumo

  • Privacidade: o TaskKit faz 0 pedidos a terceiros no primeiro paint. O jwt.io faz 10 (consent do OneTrust, Adobe Experience Platform, Google Tag Manager).
  • Algoritmos e formatos de chave: idênticos em ambos para a especificação JWT — HS / RS / PS / ES / EdDSA, JWK e JWKS completo (com correspondência por kid), x5c, PEM PKCS#1 / PKCS#8 / X.509. O TaskKit aceita ainda uma chave EdDSA como hex em bruto ou string base64url.
  • Segurança em runtime: o TaskKit verifica assinaturas num Web Worker com timeout de 2 segundos; um token hostil não pode bloquear a página. O jwt.io verifica na thread principal.
  • Onde o jwt.io é mais forte: um diretório curado de bibliotecas, uma página de introdução extensa e links por claim para os RFCs correspondentes.
  • O que o TaskKit deixa de fora deliberadamente: download automático de um JWKS a partir de uma URL (exigiria uma chamada de saída). Abrir o descodificador do TaskKit.

Privacidade, medida

Ambas as ferramentas afirmam fazer o seu trabalho no navegador. Essa afirmação só vale alguma coisa se a puderes verificar. Cada página abaixo foi carregada a 2026-05-05 num perfil Chrome limpo com cache apagada e foram contados todos os pedidos de rede de saída antes de premir uma única tecla. O mesmo teste corre contra o descodificador JWT do TaskKit.

Rede no primeiro paint jwt.io TaskKit
Pedidos a terceiros100
SDK de consentimento OneTrustCarregado (5 chamadas)Não
Adobe Experience Platform / DTMCarregado (3 chamadas)Não
Google Tag ManagerCarregadoNão
Geo-lookupEndpoint geo do onetrust.comNão
Banner de consentimento de cookiesSim, bloqueia o paint inicial até confirmarNenhum
Login obrigatório para funcionalidades avançadasNãoNão

Cada uma dessas chamadas dispara antes de colares um token. Nenhuma é necessária para a página descodificar um JWT — são analítica, gestão de tags e fluxo de consentimento. O TaskKit não envia nada disso. Mais sobre como o TaskKit trata os teus dados.

Matriz de funcionalidades

Ambas as ferramentas cobrem praticamente toda a especificação JWT. Abaixo vês o que cada uma aceita hoje, agrupado por categoria.

Capacidade jwt.io TaskKit
Algoritmos
HS256 / 384 / 512SimSim
RS256 / 384 / 512SimSim
PS256 / 384 / 512SimSim
ES256 / 384 / 512SimSim
EdDSA (Ed25519)SimSim (via @noble/ed25519)
Formatos de chave
JWK (solto)SimSim
JWKS com lookup por kidSimSim
PEM SPKI (BEGIN PUBLIC KEY)SimSim
PEM PKCS#1 RSA (BEGIN RSA PUBLIC KEY)ParcialSim (leitor ASN.1 próprio)
Certificado X.509 (BEGIN CERTIFICATE)SimSim (SPKI extraído automaticamente)
Header x5c usado automaticamenteSimSim (cadeia não validada, marcado explicitamente)
EdDSA em bruto como hex / base64urlNãoSim (64 hex ou 43 base64url)
Segurança da verificação
Isolamento em Web WorkerNãoSim
Timeout contra backtracking catastróficoNãoSim (2s)
alg:none rejeitado com explicaçãoSimSim
Codificador
Editar header / payloadSimSim
Campos de formulário para claims registadosNãoSim
Chaves privadas PKCS#1 aceites diretamenteNãoSim (envolvidas automaticamente em PKCS#8)
EdDSA privada como hex / base64urlNãoSim
Token de exemplo com um cliqueSimSim (iat/exp atuais calculados ao vivo)
Privacidade / Runtime
Processamento integral no navegadorSimSim
Zero pedidos a terceirosNãoSim
Diálogo de consentimento de cookiesSimNenhum
Cloudflare Web Analytics opcional (preserva privacidade, desativado por defeito)Off salvo se o operador o ativar com token

Segurança em runtime

O verify do WebCrypto é rápido com assinaturas bem formadas. Com input hostil não é. Expoentes RSA patológicos, chaves sobredimensionadas, assinaturas Ed25519 corrompidas ou um JWKS construído com má intenção podem manter o verificador ocupado o suficiente para bloquear o separador — um risco real quando o token à tua frente vem de uma fonte não confiável.

O TaskKit executa a verificação de assinatura num Web Worker dedicado com um timeout wall-clock de 2 segundos. Se o worker exceder o orçamento, é terminado e a página mostra um erro em vez de ficar pendurada. O jwt.io verifica na thread principal, por isso uma assinatura lenta é uma página lenta. A mesma arquitetura protege o testador de regex do TaskKit (contra backtracking tipo (a+)+b) e o formatador JSON (contra parses de vários megabytes).

Detalhes do editor que importam no dia a dia

  • Realce tricolor na entrada. As duas ferramentas colorem os três segmentos do token, mas o jwt.io só o faz num painel «Decoded» só de leitura. O TaskKit colore os segmentos no próprio textarea onde editas, o que facilita detetar um ponto mal colado.
  • Etiquetas de claim sempre visíveis. Os nomes legíveis do jwt.io (iat → "Issued at") estão atrás de um separador «Claims Breakdown». O TaskKit mostra-os em linha, sob o payload, para que dados e descrições fiquem à vista de uma só vez.
  • Tratamento honesto de x5c. Quando o header x5c de um token é usado para verificar, o chip de resultado do TaskKit diz «verificado com o certificado x5c do header do token (cadeia não validada)», sem sugerir confiança ponta a ponta. Validar a cadeia até uma autoridade raiz exigiria descarregar as raízes de CA e fica fora do âmbito de uma ferramenta puramente no navegador.
  • Toggle base64url para HMAC. Algumas chaves HMAC são guardadas como bytes codificados em base64url (por exemplo, uma chave oct de um JWKS com um campo k). Um pequeno toggle ao lado do chip de algoritmo muda a entrada do segredo entre string literal e bytes base64url, para não teres de descodificar à mão.
  • Entrada de chave EdDSA em bruto. Cola um Ed25519 como 64 caracteres hex, 43 caracteres base64url, JWK ou PEM. O jwt.io só espera PEM ou JWK.

Onde o jwt.io é mais forte

Um comparativo útil não é um pitch unilateral. Três coisas o jwt.io faz claramente melhor hoje:

  • Diretório de bibliotecas. Um índice curado e pesquisável de bibliotecas JWT por linguagem. Se procuras uma implementação para um serviço, o diretório do jwt.io é a morada certa.
  • Introdução extensa. Uma página canónica «O que é um JWT» que explica o conceito com profundidade suficiente para o transmitires de cabo a rabo. O texto explicativo sob o descodificador do TaskKit é mais curto e centrado na ferramenta.
  • Links por claim para o RFC. Cada claim registado liga à secção do RFC que o define. Uma minudência, mas útil quando estás a verificar conformidade com a especificação.

O que o TaskKit deixa de fora deliberadamente

Uma garantia de privacidade é mais fácil de manter se não houver portas traseiras montadas. Algumas funcionalidades que outras ferramentas oferecem faltam aqui de propósito.

  • Auto-discovery OIDC. Algumas ferramentas deixam-te colar uma URL de issuer e descarregam silenciosamente .well-known/openid-configuration para obter as chaves. Isso é um pedido de saída do teu navegador para um terceiro — e a própria URL pode revelar detalhes do deployment. O TaskKit exige que coles tu o JWKS.
  • Campo "JWKS por URL". Mesma justificação. Um curl de uma linha no teu terminal vence um fetch de saída a partir da página que estás a depurar.
  • Analítica por defeito. O código suporta um token opcional do Cloudflare Web Analytics (preserva privacidade), mas fica desativado a não ser que o operador o ative explicitamente. A versão alojada em taskkit.net também o tem desativado.
  • Contas e histórico do lado do servidor. Guardar e partilhar acontecem por fragmentos de URL quando suportados. Nada é guardado num servidor porque não há servidor.

Experimenta as ferramentas JWT do TaskKit

Metodologia

Testado a 2026-05-05 no Chrome com cache e cookies first-party apagadas. Os pedidos de rede foram contados desde o carregamento da página até à primeira tecla pressionada. A matriz de funcionalidades reflete o comportamento das duas ferramentas nessa data e é revisitada quando alguma delas publica uma alteração relevante.

jwt.io é uma marca do seu titular respetivo. Esta página não está associada ao jwt.io nem conta com o seu apoio.