Decodificador JWT

Decodifique cabeçalhos e payloads JWT localmente no seu navegador. Inspecione claims, expiração, emissor e timestamps sem enviar tokens para lugar nenhum.

🔒 Zero requisições de rede. Os tokens nunca saem do seu navegador.

Você acabou de testar Decodificador JWT — Tente Formatador e Validador de JSON a seguir →

O que é um decodificador de JWT?

Um JSON Web Token (RFC 7519) consiste em três segmentos codificados em Base64URL separados por pontos: header.payload.signature. O cabeçalho declara o algoritmo de assinatura (alg: HS256, RS256, ES256, etc.) e o tipo de token. A carga contém claims — Registradas (iss, sub, aud, exp, iat, nbf, jti conforme RFC 7519 §4.1), Públicas (nomes registrados pela IANA como email, name) e Privadas (qualquer campo personalizado que seu aplicativo define). A assinatura é HMAC ou RSA/ECDSA sobre a string header.payload concatenada usando uma chave que o verificador conhece. Este decodificador lê o cabeçalho e a carga localmente — não verifica a assinatura, porque a verificação precisa do segredo ou da chave pública, e colar qualquer um deles em uma ferramenta web seria contraproducente. Decodificar ≠ Verificar: um JWT aparentemente válido pode ter uma assinatura forjada, um exp expirado, ou um cabeçalho alg: none que algumas bibliotecas descuidadas aceitam (a vulnerabilidade alg: none de 2015 ainda aparece em auditorias). Use este decodificador para inspeção durante trabalhos de integração, nunca como portal antes de autorizar uma solicitação.

Como usar o decodificador de JWT

Cole o token completo (três segmentos separados por pontos) na entrada. A ferramenta divide nos pontos, decodifica Base64URL cada segmento e renderiza o cabeçalho e a carga como JSON formatado. Claims numéricos como iat, nbf e exp (segundos Unix desde 1970) são convertidos em datas ISO-8601 junto com o valor bruto. O banner de status relata expirado (now > exp), ainda não válido (now < nbf) ou ativo. Se a decodificação falhar, o erro identifica qual segmento estava malformado — geralmente um token truncado por copiar-colar, uma string Base64URL com caracteres faltantes, ou cola acidental de um ID de sessão opaco em vez de um JWT. Use Copiar para obter o JSON de qualquer segmento para inspeção adicional em jq, Postman ou seu IDE. O segmento de assinatura é mostrado bruto — verificação está intencionalmente fora do escopo.

Por que a inspeção de JWT importa

Quando a autenticação falha, o primeiro passo de inspeção é sempre o token: quais claims estão presentes, expirou, o aud corresponde à API esperada, o iss é do servidor de autorização correto, o cliente solicitou o scope correto? Sem um decodificador local, desenvolvedores colam tokens de produção em sites aleatórios — cada cola é um vazamento em potencial de credenciais para quem quer que possua os logs, análises ou backend daquele site. A decodificação local de Base64URL interrompe o vazamento. Além da depuração, conhecimento de JWT importa para revisão de segurança: detectar um token alg: none, notar um exp anos no futuro, ou capturar um claim de função inesperado na carga leva segundos com um decodificador e minutos sem. JWTs são tokens portadores — posse é autorização. Tratá-los com cuidado durante inspeção é a mesma higiene que tratar credenciais de banco de dados de produção com cuidado.

Perguntas Frequentes

Isto verifica a assinatura do JWT?

Não. Esta página apenas decodifica o header e o payload localmente. Ela não valida assinaturas nem confia no token.

Por que usar isto em vez do jwt.io?

O TeaFun dá ênfase à decodificação com privacidade em primeiro lugar. Seu token permanece no navegador e nunca é enviado para processamento.

Quais timestamps são exibidos?

Se presentes, exp, iat e nbf são convertidos de timestamps Unix em datas ISO legíveis.