Decodificador de JWT
A assinatura não é verificada — ferramenta de decodificação apenas
- Cole o token completo, com as três partes separadas por ponto.
- O header e o payload aparecem já formatados como JSON legível.
- Se o token tiver os campos exp e iat, as datas de expiração e de emissão são convertidas para data legível, e o status expirado ou válido é calculado.
Um JWT é formado por header, payload e assinatura, unidos por pontos. As duas primeiras partes são JSON codificado em Base64URL — uma variante do Base64 que troca + por -, / por _ e dispensa o preenchimento com =.
O header descreve o algoritmo de assinatura, normalmente no campo alg, e o tipo do token.
O payload carrega as claims: quem emitiu (iss), para quem vale (aud), quem é o sujeito (sub), quando expira (exp) e quando foi emitido (iat), além dos campos próprios da sua aplicação.
A assinatura é o que garante que header e payload não foram alterados. Ela é gerada com uma chave que só o emissor conhece.
Esta ferramenta decodifica, mas não verifica a assinatura — e a própria interface avisa isso ao exibir o token.
A diferença importa: qualquer pessoa consegue ler e até reescrever o payload de um JWT. O que impede a fraude é a verificação da assinatura no servidor, com a chave secreta ou a chave pública correspondente. Sem essa etapa, um token adulterado passa.
Verificar assinatura exige a chave. Como ela nunca deve sair do seu servidor, nenhuma ferramenta web que não a possua pode fazer essa checagem — inclusive esta.
Base64 é codificação, não criptografia. Qualquer um que intercepte o token lê o conteúdo do payload sem precisar de chave alguma.
Por isso nunca coloque senha, token de outro serviço, número de cartão, CPF ou qualquer dado sensível dentro de um JWT. Coloque um identificador e busque o resto no servidor.
O token que você cola aqui não sai do seu navegador: a decodificação acontece localmente e nada é enviado ou registrado.
Perguntas frequentes
Porque verificar exige a chave secreta do emissor, que não deve sair do servidor. Uma ferramenta web que pedisse sua chave seria um risco de segurança, não uma conveniência.
A decodificação roda no seu navegador e nada é transmitido. Ainda assim, trate qualquer token de produção como credencial ativa: se ele já foi exposto em outro lugar, revogue.
O campo exp é comparado com o relógio do seu computador. Se ele estiver adiantado ou atrasado, o resultado diverge do que o servidor calcula. Alguns servidores também aceitam uma pequena tolerância de tempo.
Editar é trivial, mas o token resultante será rejeitado por qualquer servidor que verifique a assinatura. Sem a chave, não há como produzir uma assinatura válida.
No JWT tradicional o conteúdo é apenas codificado e fica legível. No JWE ele é criptografado de fato, exigindo chave para leitura. Se o dado precisa ficar oculto, JWT assinado não é a ferramenta certa.