Decodificador JWT
Cole um JSON Web Token e decodifique na hora o cabeçalho e o payload — tudo no seu navegador, nada é enviado
JSON Web Token
Sobre esta ferramenta
O decodificador JWT lê um JSON Web Token e mostra o que há dentro dele. Um JWT tem três partes separadas por pontos — cabeçalho, payload e assinatura — e as duas primeiras são apenas JSON codificado em Base64URL. Esta ferramenta as decodifica em JSON legível e formatado para você inspecionar o algoritmo, o tipo de token e cada claim. Claims de tempo padrão como exp (expiração), iat (emitido em) e nbf (não antes de) são convertidos de segundos UNIX brutos em datas legíveis, e um token expirado é destacado para você. O mais importante: a ferramenta nunca verifica a assinatura e nunca pede uma chave secreta ou pública; decodificar precisa apenas do próprio token. Por isso tudo acontece localmente no seu navegador e nada é enviado, tornando seguro inspecionar tokens sem vazá-los a um servidor.
Como usar
- 1 Cole seu JSON Web Token (header.payload.signature) na caixa de entrada, ou clique em Carregar exemplo para testar.
- 2 O cabeçalho e o payload são decodificados na hora e exibidos como JSON formatado.
- 3 Confira os selos alg e typ e leia exp / iat / nbf como datas legíveis; um token expirado é destacado em vermelho.
- 4 Use os botões de copiar para obter o cabeçalho ou o payload decodificado. Nada do que você cola sai do seu navegador.
Como funciona
Um JWT é escrito como três cadeias Base64URL unidas por pontos: header.payload.signature. Base64URL é como o Base64 padrão, mas usa - e _ em vez de + e /, e normalmente omite o preenchimento final =. O decodificador restaura esses caracteres, recompõe o preenchimento que falta, executa atob para obter os bytes brutos e os reinterpreta como UTF-8 para que claims não ASCII apareçam corretamente. Em seguida, cabeçalho e payload são analisados como JSON e formatados. Os claims numéricos exp, iat e nbf são carimbos de tempo UNIX em segundos, então são multiplicados por 1000 e transformados em datas; se exp estiver no passado, o token é marcado como expirado. O segmento de assinatura é exibido intacto e nunca validado, por isso nenhuma chave é necessária e todo o processo permanece no seu dispositivo.
Perguntas frequentes
Esta ferramenta verifica a assinatura do JWT?
Não. Ela apenas decodifica o cabeçalho e o payload para você ler. Verificar a assinatura exigiria a chave secreta ou pública de assinatura, que esta ferramenta nunca pede de propósito. Assim tudo permanece local e você pode inspecionar o conteúdo de um token com segurança sem expor qualquer chave.
Meu token é enviado a um servidor?
Não. Toda a decodificação acontece no seu navegador com JavaScript. Seu token nunca é enviado, registrado ou armazenado, e a ferramenta continua funcionando offline depois que a página carrega. É seguro colar tokens sensíveis aqui.
O que significam os campos exp, iat e nbf?
São claims de tempo padrão expressos como carimbos de tempo UNIX em segundos. exp é quando o token expira, iat quando foi emitido e nbf o primeiro momento em que é válido. Esta ferramenta converte cada um em uma data legível e marca o token como expirado quando exp está no passado.
Posso ler um JWT sem a chave secreta?
Sim. O cabeçalho e o payload de um JWT são apenas codificados em Base64URL, não criptografados, então qualquer pessoa pode lê-los sem nenhuma chave. A chave secreta ou pública só é necessária para verificar a assinatura, que prova que o token não foi adulterado, mas nunca para ver o conteúdo.
Por que meu token mostra texto ilegível ou um erro?
Um JWT deve ter exatamente três partes separadas por pontos, cada uma um Base64URL válido, e as duas primeiras devem decodificar em JSON válido. Se uma parte estiver faltando, truncada, ou você colou por engano um JWE criptografado em vez de um JWS assinado, o decodificador relata um erro em vez de adivinhar.
Ferramentas relacionadas e usos
Combine o decodificador JWT com a ferramenta Base64 para inspecionar segmentos manualmente, o formatador JSON para reformatar um payload copiado e o conversor de carimbo de tempo Unix para conferir os horários exp/iat/nbf. Desenvolvedores recorrem a ele ao depurar fluxos de autenticação, tokens OAuth/OpenID Connect, gateways de API e login único, onde ler rapidamente os claims de um token faz parte do trabalho diário.