Como usar
- Cole o token em JWT. Ele tem três partes separadas por pontos.
- Leia Algoritmo de assinatura para ver como o token diz que foi assinado.
- Confira a Expiração. Verde significa que o token ainda é válido na hora do seu dispositivo.
- Leia Declarações e Carga útil para ver para quem o token é e o que ele contém.
O que um JWT contém
Um JSON Web Token tem três partes separadas por pontos. As duas primeiras são objetos JSON codificados em base64url: o cabeçalho diz como o token é assinado, e a carga útil guarda as declarações, que são afirmações como para quem o token é e quando ele expira. A terceira parte é a assinatura.
A RFC 7519 define sete nomes de declaração registrados: iss, sub, aud, exp, nbf, iat e jti. A tabela explica cada um, e as três declarações de tempo também aparecem como datas no seu idioma e fuso horário.
Decodificar não é verificar
Esta página só decodifica o token. Ela não confere a assinatura, porque isso exige a chave com que o token foi assinado, e uma chave de verificação é secreta. Um token decodificado ainda pode ser falsificado, então não confie em uma declaração só porque você consegue lê-la aqui.
Para verificar um token, seu servidor ou sua biblioteca deve conferir a assinatura com a chave certa e o algoritmo esperado, e deve rejeitar um token cuja assinatura esteja errada.
Como a expiração é lida
A declaração exp é um número de segundos desde 1º de janeiro de 1970, às 00:00 UTC. A RFC 7519, seção 4.1.4, diz que um token não deve ser aceito a partir desse momento, inclusive, então no instante exato ele já conta como expirado.
Um token sem a declaração exp nunca expira. A página mostra isso em vermelho, porque um token que nunca expira é um risco que vale a pena conhecer.
Exemplo resolvido: o token de exemplo da RFC 7519
O exemplo da RFC 7519, seção 3.1, tem o cabeçalho alg HS256, e a carga útil iss joe, exp 1300819380 e uma declaração personalizada. O valor de exp é 22 de março de 2011, às 18:43 UTC, então a página mostra o token como expirado. A assinatura não é verificada, então o resultado é o mesmo para qualquer assinatura.
| Declaração | Valor | Significado |
|---|---|---|
| iss | joe | Emissor: quem criou o token |
| exp | 1300819380 (22 de março de 2011, às 18:43 UTC) | Tempo de expiração |
| http://example.com/is_root | true | Uma declaração personalizada |
Perguntas frequentes
Meu token é enviado para algum servidor?
Não. O token é decodificado no seu navegador, e a página não o guarda nem o envia. Você pode conferir isso decodificando um token com a conexão à internet desligada depois que a página carregar.
Esta página confere se o token é autêntico?
Não. Ela lê só o cabeçalho e as declarações. Conferir a assinatura exige a chave com que o token foi assinado, que esta página nunca pede. Sua aplicação deve fazer essa verificação.
Por que a página diz que um token expirou se minha aplicação ainda o aceita?
Sua aplicação pode permitir um período de tolerância, ou pode conferir a expiração com o próprio relógio. A página compara exp com a hora do seu dispositivo, então um relógio errado também pode mudar o resultado.
O que significa o algoritmo none?
O cabeçalho diz que o token não tem assinatura. Qualquer pessoa pode escrever um token assim, então um serviço não deve aceitá-lo para nada que importe. A página o sinaliza com uma nota.
Por que uma data mostra um horário que eu não esperava?
A data aparece no seu idioma e fuso horário, com o nome do fuso no fim. O número antes dela é o valor guardado no token: segundos desde 1970, em UTC.
Esta página consegue ler um token criptografado?
Não. Um token criptografado tem cinco partes, e o seu conteúdo não pode ser lido sem a chave. Esta página lê só tokens assinados, que têm três partes.
Fontes
- RFC 7519 (em inglês): JSON Web Token (JWT)
- RFC 7518 (em inglês): JSON Web Algorithms, the alg values in section 3.1
- RFC 4648 (em inglês): base64url encoding in section 5
Números e texto verificados pela última vez em terça-feira, 10 de novembro de 2026.