Decodificador de JWT
Decodifique qualquer JSON Web Token no navegador: veja o header e o payload, exp, iat e nbf como datas reais no seu fuso horário, e se o token já expirou.
Resumo
Cabeçalho (header)
Payload (claims)
Token e assinatura
Leia qualquer JWT sem enviá-lo para lugar nenhum
Cole um JSON Web Token e o decodificador separa as três partes: o cabeçalho (qual algoritmo assinou), o payload (os claims: quem é o usuário, o que ele pode acessar e quando o token expira) e a assinatura. O JSON aparece formatado para você ler de relance.
Os claims de tempo viram datas reais. exp, iat e nbf aparecem no seu fuso horário, em UTC e como “em 20 minutos” ou “há 3 dias”, e o status mostra na hora se o token ainda é válido, se expirou ou se ainda não vale.
Tokens costumam dar acesso a contas reais, por isso tudo é decodificado no seu navegador. O token nunca é enviado ao nosso servidor, registrado ou guardado, o que é mais seguro do que colá-lo num chatbot ou num site que o manda para um servidor.
Como decodificar um JWT
- Copie o token do seu app, de um cabeçalho
Authorization, de um cookie ou das ferramentas de desenvolvedor do navegador. - Cole na caixa. O prefixo
Bearer, aspas, espaços e quebras de linha são removidos automaticamente. - Leia o resumo: status, algoritmo, emissor, assunto, público e os horários exatos de emissão e expiração.
- Use os botões de copiar para levar o JSON formatado do cabeçalho ou do payload para um relatório de bug ou suas anotações.
O que significam os claims mais comuns
exp(expiration time): depois desse momento o token deve ser rejeitado.iat(issued at): quando o token foi criado.nbf(not before): o token não deve ser aceito antes desse momento.iss(issuer): quem criou o token, muitas vezes a URL do seu servidor de login.sub(subject): a quem o token se refere, geralmente um ID de usuário.aud(audience): o app ou a API a que o token se destina.algekid(no cabeçalho): o algoritmo de assinatura, como HS256 ou RS256, e o ID da chave que assinou o token.
As datas de um JWT são valores NumericDate: o número de segundos desde 1º de janeiro de 1970 UTC. O decodificador converte para você, então não é preciso um conversor de timestamp separado.
Dicas para depuração
- Se uma API responde 401 logo depois do login, confira primeiro
expenbf. Um relógio de servidor adiantado ou atrasado alguns minutos é uma causa comum; a maioria das bibliotecas aceita uma pequena tolerância. - Uma data dezenas de milhares de anos no futuro indica que o valor foi gravado em milissegundos em vez de segundos. O decodificador avisa quando isso acontece.
- Compare
audeisscom o que sua API espera. Um token emitido para outro app ou ambiente (homologação em vez de produção) é causa frequente de erros de “token inválido”. - Um cabeçalho com
algigual anonesignifica que o token não é assinado. Nunca aceite esses tokens em produção.
Limites e o que é bom saber
- Decodificar não é verificar. Qualquer pessoa pode criar um token com quaisquer claims; só a verificação da assinatura com a chave certa, no seu servidor, prova que ele é autêntico. Esta ferramenta não verifica assinaturas.
- O payload de um JWT comum é só codificado, não criptografado. Quem tiver o token pode lê-lo, então nunca coloque senhas ou segredos nos claims.
- Tokens criptografados (JWE, de cinco partes) não podem ser lidos sem a chave, por isso só o cabeçalho é mostrado.
- Os números aparecem exatamente como estão no token, então IDs numéricos longos nunca são arredondados.
Perguntas frequentes
É seguro colar um token real aqui?
Sim. A decodificação roda em JavaScript no seu navegador e o token nunca é enviado ao nosso servidor. Mesmo assim, trate tokens ativos como senhas: não compartilhe em prints ou chats e deixe-os expirar.
Esta ferramenta diz se um token é válido?
Ela mostra se o token expirou ou se ainda não é válido, com base nas datas. Não consegue dizer se a assinatura é autêntica, porque isso exige a chave secreta ou pública que só o seu servidor deve ter.
Por que meu token aparece como expirado se acabei de recebê-lo?
Confira o relógio do servidor que o emitiu e veja se exp está em segundos, não em milissegundos. Se iat também está horas no passado, o relógio do servidor provavelmente está errado.
Qual a diferença entre um decodificador JWT e um Base64?
Um JWT são três partes codificadas em Base64URL unidas por pontos. Um decodificador Base64 lê uma parte por vez, mas o decodificador JWT separa o token para você, entende o alfabeto seguro para URL e a falta de preenchimento, e transforma as datas em horários legíveis.
Funciona offline?
Sim. Depois que a página carrega, você pode se desconectar da internet e continuar decodificando tokens.
Ferramentas relacionadas
- Decodificador Base64: Decodifique strings Base64 em texto legível na hora. Confira cabeçalhos de autenticação, tokens, payloads de API e e-mails. Decodificador Base64 grátis.
- Validador e formatador de JSON: Valide e formate JSON on-line. Encontre erros de sintaxe e transforme JSON minificado em código legível e indentado. Grátis e sem cadastro.
- Decodificador de URL: Decodifique URLs e query strings com codificação percentual e transforme em texto legível. Converta %20, %26 e %C3%A9 na hora. Grátis.
- Codificador Base64: Codifique qualquer texto ou string em Base64 na hora. Útil para data URIs, cabeçalhos HTTP Basic, e-mail e APIs. Codificador Base64 grátis.
Ferramentas semelhantes
Decodifique strings Base64 em texto legível na hora. Confira cabeçalhos de autenticação, tokens, payloads de API e e-mails. Decodificador Base64 grátis.
Valide e formate JSON on-line. Encontre erros de sintaxe e transforme JSON minificado em código legível e indentado. Grátis e sem cadastro.
Decodifique URLs e query strings com codificação percentual e transforme em texto legível. Converta %20, %26 e %C3%A9 na hora. Grátis.
Ferramentas grátis populares
Crie senhas fortes e aleatórias com um clique. Escolha o tamanho e inclua letras maiúsculas, minúsculas, números e símbolos. Grátis e sem cadastro.
Converta texto para MAIÚSCULAS, minúsculas, frase, Título, camelCase, PascalCase, snake_case, CONSTANT_CASE, dot.case ou param-case. Grátis.
Extraia todos os endereços de e-mail de um texto, HTML, logs ou documentos com um clique e receba uma lista limpa com o total. Grátis.
Consulte os registros DNS de qualquer domínio: A, AAAA, CNAME, MX, NS, TXT e SOA. Confira e-mail, SPF, verificações e servidores de nomes grátis.
Troque o separador de um texto: quebras de linha, espaços, ponto e vírgula, hífens, barras verticais ou pontos. Transforme uma coluna em uma linha e vice-versa.
Crie um link do WhatsApp para conversar com um clique, com seu número e uma mensagem pronta. Use no site, na bio, em anúncios ou QR codes. Grátis.