Decodificador/depurador de JWT

Decodifique um token JWT para inspecionar seu header e seu payload e verifique automaticamente se ele está expirado (exp) ou ainda não está ativo (nbf). A decodificação é feita inteiramente no seu navegador — útil para depurar uma sessão, sem nunca enviar o token a um servidor.

Exemplo:

⚠ Atenção: a assinatura NÃO é verificada. Esta ferramenta decodifica o conteúdo do token e verifica apenas as datas exp/nbf declaradas no payload. Ela não prova de forma alguma que o token é autêntico nem que não foi alterado: a verificação criptográfica da assinatura deve sempre ser feita no servidor, com a chave secreta ou pública do emissor.

Como funciona

Um JWT é composto por três partes separadas por pontos: header.payload.signature. O header e o payload são codificados em Base64URL — não criptografados — portanto qualquer pessoa pode lê-los sem chave. Além da simples decodificação, esta ferramenta lê os claims padrão exp (expiração) e nbf (“not before”) e os compara com a hora atual do seu dispositivo para indicar imediatamente se o token seria aceito ou rejeitado por um servidor que siga o padrão JWT, considerando apenas esse critério de tempo.

O que exatamente significam exp e nbf?

exp (expiração) é um timestamp Unix após o qual o token deve ser considerado expirado. nbf (“not before”) é um timestamp antes do qual o token ainda não deve ser aceito, útil para tokens programados para ficarem ativos mais tarde. Ambos são opcionais: a ausência deles significa que o próprio token não impõe nenhuma restrição de tempo desse tipo.

O token aqui é válido, então por que minha API o rejeita mesmo assim?

Porque esta ferramenta verifica apenas a estrutura e as datas declaradas, nunca a assinatura. Uma API também pode rejeitar um token por outros motivos: assinatura inválida, emissor (iss) ou audiência (aud) incorretos, token revogado no servidor ou claims de negócio ausentes — nenhuma dessas verificações é possível sem acesso à chave secreta/pública do emissor, que continua sendo sempre uma operação do lado do servidor.

Privacidade: a decodificação e as verificações de datas são feitas inteiramente no seu navegador via WebAssembly — o conteúdo do token, mesmo sensível, nunca sai do seu dispositivo.