Decodificador de JWT
Decodifique um JSON Web Token e leia seu cabeçalho, payload e declarações em um formato legível, com verificação instantânea se o token expirou. A
Cole um JSON Web Token e leia as suas três partes de forma legível: o cabeçalho com o algoritmo de assinatura, o payload com as declarações e os carimbos de data e hora legíveis para emitido em, não válido antes de e expiração. A ferramenta informa na hora se o token expirou e quando isso vai acontecer.
Esse é o passo de depuração do dia a dia quando uma API retorna 401 e você precisa saber se o problema é a assinatura, o público-alvo ou simplesmente um token expirado. Tudo é decodificado no seu navegador, então tokens de produção nunca são enviados a lugar nenhum.
Como decodificar um JSON Web Token
Cole o token
Leia o cabeçalho, o payload e a expiração
Copie o JSON do payload se precisar
Perguntas frequentes
Isto verifica a assinatura?
Não - e isso importa. A decodificação apenas converte as partes de base64url, então o conteúdo fica legível mas não é provado autêntico. Nunca trate um token decodificado como confiável antes que o seu servidor tenha verificado a assinatura.
Como sei se o token expirou?
A declaração exp é um carimbo de data e hora Unix em segundos, e a ferramenta a compara com a hora atual, mostrando a data e se o token ainda é válido.
Qual é a diferença entre exp, iat e nbf?
iat é quando o token foi emitido, nbf é o momento mais cedo em que ele pode ser usado, e exp é quando ele deixa de ser válido. Um token só é aceitável entre nbf e exp.
É seguro colar um token real aqui?
A decodificação acontece inteiramente no seu navegador, então o token não é transmitido. De qualquer forma, trate qualquer token como uma credencial: não cole um em um site em que você não confia e troque-o se ele pode ter vazado.
Por que meu token mostra um erro?
Um JWT tem exatamente três partes separadas por pontos. Uma parte faltando, uma quebra de linha no meio ou um token que na verdade é um ID de sessão opaco serão todos reportados como não é um JWT.
Meu token é enviado para algum servidor?
Não, a decodificação é local.
Visão geral
| Entrada | texto |
|---|---|
| Vários arquivos | Não |
| Onde roda | No seu navegador - os arquivos nunca são enviados |
| Funciona offline | Sim — depois que a página carrega |
| Preço | Grátis, sem cadastro, sem marca d'água |
Lidar com segredos com segurança
Ferramentas de desenvolvedor processam credenciais com mais frequência do que as pessoas imaginam, e o risco não está no algoritmo, mas em para onde os dados vão. O hash é uma via de mão única e não é criptografia - MD5 e SHA-1 estão quebrados para qualquer coisa ligada a segurança, e até o SHA-256 é a ferramenta errada para armazenar senhas, para o que bcrypt, scrypt ou Argon2 existem justamente por serem lentos. O Base64 é uma codificação, não uma proteção: qualquer pessoa consegue decodificar, então nunca o trate como ofuscação. Um JWT pode ser lido por qualquer um que o tenha em mãos, e é por isso que o payload nunca deve conter segredos; além disso, decodificar um token não verifica a assinatura dele - a verificação exige a chave. Tudo neste site roda localmente no seu navegador, e é essa a razão de ele conseguir lidar com tokens e senhas com segurança.
Onde as conversões quebram em silêncio
A maioria dos bugs de conversão não é de sintaxe, e sim de significado. Uma coluna CSV de códigos postais perde os zeros à esquerda no momento em que a planilha supõe que aquilo é um número; um ID longo ultrapassa a precisão de ponto flutuante; datas mudam de sentido dependendo de o dia vir antes do mês ou o mês antes do dia. As chaves do JSON não têm ordem, mas os arrays têm, e uma ferramenta que ordena chaves não muda nada, enquanto uma que ordena arrays altera os dados. O Unicode é outra armadilha: o texto pode chegar como UTF-8, UTF-16 ou com um BOM, e um decodificador que erra o palpite transforma caracteres acentuados em mojibake. Antes de confiar em qualquer conversão, confira por amostragem a primeira e a última linha, qualquer campo com zeros à esquerda e qualquer campo que contenha aspas, vírgulas ou quebras de linha.