Decodificador de JWT

Cole um JSON Web Token para ler o cabeçalho e as claims e conferir a validade. A decodificação acontece nesta aba; o token nunca é enviado, armazenado ou registrado.

Nível 0 · navegador · ilimitado
Verificação RS256 / ES256 com chave pública está no roadmap. Nunca cole segredos de produção em nenhum site — inclusive este.

Cabeçalho

HS256
{
  "alg": "HS256",
  "typ": "JWT"
}

Payload

6 claims
{
  "sub": "user_2x9kQ3mLp7",
  "plan": "pro",
  "region": "BR",
  "iat": 1791998800,
  "exp": 1792006000,
  "iss": "https://clerk.utilnest.io"
}
ClaimValorSignificado
subuser_2x9kQ3mLp7Sujeito — sobre quem é o token
planproClaim personalizada
regionBRClaim personalizada
iat1791998800Emitido em · 14 de out. de 2026, 17:26:40 UTC · há 20 minutos
exp1792006000Expira em · 14 de out. de 2026, 19:26:40 UTC · em 2 horas
isshttps://clerk.utilnest.ioEmissor

O que é um JWT

Um JSON Web Token são três partes codificadas em base64url unidas por pontos: um cabeçalho com o algoritmo de assinatura, um payload de claims e uma assinatura sobre as duas primeiras. Decodificar não exige chave — qualquer pessoa com o token consegue ler —, por isso tokens nunca devem carregar segredos, só identificadores e permissões de curta duração. É a assinatura que prova que o token foi emitido por quem tem a chave e não foi alterado.

As claims registradas têm significado fixo: iss (emissor), sub (sujeito), aud (público), exp (expiração), nbf (não antes de), iat (emitido em) e jti (id do token). Todo o resto é claim personalizada definida pelo emissor, como plano ou região.

Exemplo resolvido

O token de exemplo da RFC 7519 decodifica para o cabeçalho {"typ":"JWT","alg":"HS256"} e o payload {"iss":"joe","exp":1300819380,"http://example.com/is_root":true}. O exp é 22 de março de 2011, 18:43 UTC, então o token expirou há muito tempo.

Como funciona

Cada parte é decodificada em base64url (RFC 4648 §5, com o padding restaurado) e interpretada como JSON. As claims iat, nbf e exp são lidas como segundos Unix e comparadas com o relógio do seu dispositivo. A verificação opcional calcula um HMAC sobre header.payload com a Web Crypto API e o segredo digitado e compara com a assinatura; nada é transmitido.

Perguntas frequentes

É seguro colar meu token aqui?

A decodificação roda só nesta aba e nada é enviado ou registrado. Mesmo assim, trate tokens ativos como senhas: prefira tokens expirados ou de teste em qualquer site.

Por que diz que a assinatura não foi verificada?

Ler um token nunca confere a assinatura. Informe o segredo compartilhado para verificar tokens HS256, HS384 ou HS512; RS256 e ES256 exigem chave pública, que está no roadmap.

O que significa exp?

O horário de expiração em segundos desde 1970-01-01 UTC. Depois dele, um servidor correto rejeita o token.

Por que qualquer pessoa consegue ler um JWT?

O payload é apenas codificado em base64url, não criptografado. Tokens criptografados usam JWE (RFC 7516), outro formato.

Fontes

Revisado em 17 de out. de 2026 · vetores de teste fixtures/dev/jwt-decode/