Decodificador JWT — ler header e payload no navegador (sem verificar)
Cole um JWT para ler header e payload em JSON no navegador — sem verificar a assinatura. Passos: cole o token, decodifique, copie header ou payload. Exemplo: o token de amostra mostra alg HS256 e iat 1516239022 com UTC e hora local. O token não é enviado.
Como funciona
Cole um JWT completo (header.payload.signature). A página divide por pontos, decodifica Base64url nos dois primeiros trechos e formata JSON. exp, iat e nbf numéricos mostram UTC e hora local. A assinatura aparece só como texto — sem verificação.
Regras que você deve esperar
O que este decodificador faz e não faz: estrutura, Base64url, claims registrados e limite sem verificação.
- Estrutura: JWT assinado (JWS compacto) tem três segmentos Base64url — header (alg, typ), payload (claims), assinatura (bytes, não JSON).
- Base64url: -→+, _→/, preenche padding até comprimento %4, depois atob e JSON.parse. Erros indicam header ou payload.
- Claims registrados: exp, iat e nbf são segundos Unix UTC. Ler JSON não prova que o token é confiável.
- Privacidade: colagem local; sem HMAC/RSA. Não autorize em produção só com JSON decodificado.
Exemplo
Entrada: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9eIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c → Header: {"alg":"HS256","typ":"JWT"}. Payload: {"sub":"1234567890","name":"John Doe","iat":1516239022} com iat em UTC e hora local. Assinatura em bruto — não verificada.
Bons casos de uso
- Depurar OAuth: confira sub, scope e exp de um access token antes da API.
- Contratos de API: valide iss e aud de um ID token com a documentação.
- Aprender: veja header, payload e assinatura nos três segmentos JWS.
Frequently asked questions
Esta página verifica a assinatura do JWT?
Não. Decodificar só reverte Base64url no header e payload; verificar assinatura exige a chave do emissor — não implementado aqui.
Por que falha com erro de segmentos?
Confira se colou o token completo com dois pontos e três segmentos. Pontos extras, colagem truncada ou texto que não é JWT falham.
Como Base64url difere do Base64 normal?
JWT usa Base64url: - no lugar de +, _ no lugar de /, muitas vezes sem =. Base64 comum pode falhar em tokens URL-safe.
Como ler exp, iat ou nbf?
exp, iat e nbf são segundos Unix UTC. Esta página mostra UTC e seu fuso local; compare exp com agora para expiração.
Meu token é enviado a um servidor?
Não. Split, Base64url e JSON rodam só na sua aba do navegador.
Dúvidas ou feedback
Algo pouco claro, quebrado ou faltando? Escreva abaixo — lemos cada mensagem sobre estas ferramentas.