Decodificador / Codificador JWT

Decodifique e inspecione tokens JWT instantaneamente ou crie JWTs assinados. 100% no navegador.

Todo o processamento é feito no seu navegador. Nenhum dado é enviado a qualquer servidor.

O que é JWT (JSON Web Token)?

JWT (JSON Web Token) é um padrão aberto (RFC 7519) para transmitir informações de forma segura entre partes como um objeto JSON. É amplamente utilizado para autenticação e troca de informações em aplicações web. Um JWT é codificado em Base64URL, não criptografado — qualquer pessoa pode decodificar o payload. Nunca armazene informações sensíveis em um JWT sem criptografia.

Estrutura do JWT

Exemplo

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

HeaderPayloadSignature

Header

Contém o tipo do token (typ) e o algoritmo de assinatura (alg), como HS256 ou RS256.

Payload

Contém claims — declarações sobre o usuário e metadados como exp (expiração), iat (emitido em) e sub (assunto).

Signature

A assinatura é criada assinando o cabeçalho e o payload codificados com uma chave secreta. Verifica que o token não foi adulterado.

Claims padrão

ClaimClaims padrão
issEmissor
subAssunto (ID do usuário)
audAudiência
expExpiração
iatEmitido em
nbfNão antes de
jtiID único JWT

Perguntas frequentes

O JWT é criptografado?
Não. Um JWT padrão (JWS) é apenas assinado, não criptografado. O payload é codificado em Base64URL e qualquer pessoa pode decodificá-lo. Nunca coloque informações sensíveis como senhas no payload de um JWT.
Por que é necessária uma chave secreta para verificar a assinatura?
Assinaturas baseadas em HMAC (HS256, etc.) usam um segredo compartilhado. Sem o segredo, é impossível verificar se a assinatura é autêntica. Decodificar o payload e verificar a assinatura são operações distintas.
O que acontece se não houver claim exp?
Se o claim exp estiver ausente, o token nunca expira por si só. O servidor deve implementar seu próprio mecanismo de revogação para invalidar esses tokens.
Qual é a diferença entre HS256 e RS256?
HS256 usa uma chave secreta simétrica compartilhada entre todas as partes. RS256 usa um par de chaves assimétricas (chave privada para assinar, chave pública para verificar), mais adequado para microsserviços.
Onde devo armazenar um JWT?
Cookies HttpOnly são recomendados, pois protegem contra ataques XSS. Armazenar JWTs no localStorage é conveniente, mas vulnerável a XSS.
O que é um Refresh Token?
Um Refresh Token é um token de longa duração usado para obter um novo Access Token após sua expiração, sem que o usuário precise fazer login novamente.
O JWT colado aqui é enviado a algum servidor?
Não. Todo o processo de decodificação e codificação é realizado no seu navegador via JavaScript. Nada é transmitido a qualquer servidor.

Ferramentas relacionadas