Pular para o conteúdo
100% Privacidade — Seus arquivos permanecem no seu dispositivo
>_
Português

Decodificador de JWT

Decodifique, verifique e reassine JSON Web Tokens instantaneamente — tudo direto no seu navegador.

Criar um novo token (codificador)

Monte e assine um JWT do zero no seu navegador. As chaves nunca saem desta página.

Como funciona a decodificação de JWT no lado do cliente — e por que isso importa?

Um JSON Web Token parece um amontoado ilegível de caracteres, mas na verdade é só três partes codificadas em Base64URL unidas por pontos: um header, um payload e uma assinatura. Decodificar o header e o payload não é criptografia alguma — qualquer pessoa com o token consegue ler as claims ali dentro, e é exatamente por isso que dados sensíveis nunca deveriam ser colocados no payload de um JWT. O problema é que os tokens que as pessoas precisam inspecionar raramente são dados de teste descartáveis. Muitas vezes é o token de uma sessão ativa de um app em produção, um token de acesso a uma API, ou um cookie de login retirado direto das ferramentas de desenvolvedor do navegador durante uma depuração — uma credencial real que, nas mãos erradas, concede acesso real. Colar isso em um site qualquer entrega sua sessão a um servidor sobre o qual você não sabe absolutamente nada.

Esta ferramenta nunca faz isso. O header e o payload são decodificados com JavaScript puro rodando no seu navegador no instante em que você cola o token — dividido pelos pontos, decodificado em Base64URL, interpretado como JSON — e nada disso é transmitido para lugar nenhum. A verificação de assinatura funciona da mesma forma, usando a Web Crypto API (`SubtleCrypto`) já embutida em todo navegador moderno: algoritmos HMAC (HS256, HS384, HS512) são verificados contra um segredo que você digita, e algoritmos RSA (RS256, RS384, RS512) contra uma chave pública que você cola no formato PEM. Tanto o segredo criptográfico quanto a verificação em si permanecem locais, na aba do navegador; ao atualizar a página, tudo — token, segredo, chave — desaparece.

Cole um token para ver seu header e payload formatados de forma legível, junto com uma leitura das claims padrão `exp`, `iat` e `nbf` convertidas para uma data legível por humanos, com um selo claro de "Expirado" caso o `exp` do token já tenha passado — útil para confirmar se um relato de bug do tipo "fui deslogado sozinho" é, na verdade, apenas um token expirado. Se o algoritmo for HS256/384/512 ou RS256/384/512, digite o segredo ou a chave pública correspondente para checar se a assinatura é genuína ou foi adulterada. Algoritmos fora desse conjunto (como ES256 ou o `none` sem assinatura) ainda são decodificados normalmente, mas a verificação não é oferecida em vez de simular um resultado. Para desenvolvimento local, as caixas editáveis de header/payload permitem ajustar uma claim — por exemplo, trocar um ID de usuário ou uma role — e reassinar o token com o mesmo segredo HS256 usado pelo seu servidor de testes, uma forma comum de testar a lógica de autorização sem precisar montar um fluxo de login completo.

Como o payload de um JWT é um JSON simples e legível assim que decodificado, ele combina naturalmente com a ferramenta JSON Formatter & Validator caso você precise inspecionar mais de perto uma claim profundamente aninhada. Um lembrete de segurança que vale repetir: como a decodificação não exige nenhum segredo, trate qualquer token como sensível assim que terminar de inspecioná-lo, e rotacione credenciais que deveriam ser de curta duração se você não tiver certeza de onde mais elas foram coladas antes de chegar aqui.

Perguntas frequentes

Esta ferramenta verifica a assinatura de um JWT, e não só o decodifica?

Sim — há suporte à verificação de assinaturas HMAC (HS256/384/512) e RSA (RS256/384/512).

Meu token ou segredo é enviado para algum lugar?

Não — decodificação, verificação e nova assinatura acontecem localmente no seu navegador, com a Web Crypto API.

Posso editar o payload e gerar um novo token assinado?

Sim — edite o JSON do header/payload e assine de novo com um segredo HMAC para obter um novo token.

Ferramentas relacionadas