Decodificador de JWT
Decodifique um JWT online e veja header, payload, claims e expiração. Tudo roda no navegador: o token não é enviado a nenhum servidor.
Atenção: esta ferramenta apenas decodifica o token e não verifica a assinatura. Um JWT é assinado, não criptografado: qualquer pessoa que o tenha consegue ler o conteúdo. Nada do que você cola aqui é enviado a servidores, pois tudo roda no seu navegador. Mesmo assim, evite colar tokens reais de produção em sites que você não conhece.
Como usar
- Cole o token JWT no campo de texto. Espaços, quebras de linha e o prefixo "Bearer " são ignorados.
- Confira o header (algoritmo e tipo) e o payload (claims) em blocos separados e formatados.
- Veja as datas de exp, nbf e iat em formato legível e o selo "Expirado" ou "Válido".
- Lembre-se: a assinatura é exibida, mas não é verificada. Valide-a sempre no servidor.
Como funciona
Um JWT (JSON Web Token) é um texto dividido em três partes separadas por ponto: header.payload.assinatura. O header informa o algoritmo de assinatura (alg) e o tipo do token. O payload carrega os dados, chamados de claims. A assinatura é calculada pelo servidor com uma chave secreta ou privada, para que ele mesmo perceba se o conteúdo foi alterado.
Header e payload são apenas JSON codificado em base64url, uma variação do Base64 que troca + e / por - e _ e dispensa o preenchimento com =. Esta ferramenta reverte essa codificação, interpreta o texto como UTF-8 e mostra o JSON formatado. Ela não tem a chave, então não consegue, e não tenta, confirmar se a assinatura é legítima. Por isso o selo "Válido" significa somente que a data exp ainda não passou.
Claims que a ferramenta destaca
iss: quem emitiu o token.sub: a quem ele se refere.aud: para quem o token foi feito (pode ser texto ou lista).exp,nbfeiat: expiração, início de validade e emissão, em segundos desde 1970 (tempo Unix), exibidos aqui em UTC.jti: identificador único do token.
Erros mais comuns
- Token com menos ou mais de três partes, por cópia incompleta ou texto extra.
- Caracteres fora do alfabeto base64url, como espaços internos ou aspas coladas.
- Segmento que decodifica, mas não é um JSON válido (token opaco, não JWT).
- Token com
alg: none: não é assinado e deve ser rejeitado por qualquer servidor.
Exemplo
Clique em "Usar exemplo" para carregar um token fictício. O header mostra {"alg":"HS256","typ":"JWT"} e o payload traz emissor, assunto, audiência, nome, datas e identificador. Como o exp do exemplo fica no ano de 2286, o selo aparece como "Válido".
Perguntas frequentes
Colar meu token aqui é seguro?
A decodificação acontece inteiramente no seu navegador e nada é enviado a servidores. Ainda assim, trate tokens de produção como senhas: prefira tokens de teste e nunca cole credenciais em sites que você não conhece.
A ferramenta verifica a assinatura do token?
Não. Verificar a assinatura exige a chave secreta ou a chave pública do emissor. Aqui você só lê o conteúdo; quem valida o token de verdade é a sua API, a cada requisição.
JWT é criptografado?
Não. O JWT comum é assinado, não criptografado: header e payload são apenas codificados em base64url e qualquer pessoa com o token pode lê-los. Por isso não guarde senhas nem dados sigilosos no payload.
O que significa o selo "Expirado" ou "Válido"?
O selo compara o claim exp com o horário do seu dispositivo. "Válido" quer dizer apenas que a data de expiração ainda não chegou, não que o token seja autêntico. Se o relógio do aparelho estiver errado, o resultado também estará.