Decodificar JWT: ler e verificar um JSON Web Token
Para decodificar um JWT, cole o token: a ferramenta mostra o que há em um JSON Web Token – cabeçalho, payload e assinatura, com emissor, validade e vigência em texto claro. Se você informar o segredo ou a chave pública, ela até verifica a assinatura. O token não sai do seu navegador.
Fonte: §§ 2, 4.1 (Claims, NumericDate), IETF RFC 7519 – JSON Web Token (JWT). Atualizado em: .
Como o cálculo é feito
Um JSON Web Token (JWT) transporta declarações (claims) entre duas partes – em geral depois do login, como prova de que “este usuário está conectado”. Tem três partes separadas por pontos: cabeçalho.payload.assinatura (RFC 7519, RFC 7515).
Como decodificar um JWT
- Cole o token no campo de cima (com ou sem “Bearer”).
- Cabeçalho e payload aparecem na hora como JSON legível, com validade e emissor logo abaixo.
- Opcional: informe a chave em “Segredo ou chave pública” e a ferramenta verifica a assinatura.
O que há em um token
- Cabeçalho: o algoritmo (
alg, por exemplo HS256 ou RS256) e o tipo (typ). - Payload: os claims. Entre os registrados estão
iss(emissor),sub(assunto),aud(destinatário),exp(expira),nbf(não antes de),iat(emitido em) ejti(ID). As datas são segundos desde 1970; a ferramenta as mostra em UTC. - Assinatura: protege contra alterações, se o destinatário a verificar com a chave correta.
Importante: ler não é verificar
Cabeçalho e payload são apenas codificados em base64url, não criptografados. Quem vê um token pode lê-lo: senhas e outros segredos não devem ir dentro. Sem verificar a assinatura, o conteúdo não prova nada, pois qualquer um pode alterá-lo. A verificação aqui funciona com segredo HMAC (HS256/384/512) e chave pública (RS, PS, ES); um token com alg: none não é assinado.
Proteção contra algorithm confusion
Um ataque conhecido entrega ao servidor um token com alg: HS256 assinado usando a chave pública como segredo. Por isso a ferramenta recusa a verificação quando uma chave pública ou privada é informada como segredo HS (a RFC 8725 recomenda nunca tirar o algoritmo só do token).
Limites
- Tokens criptografados (JWE, cinco partes) não podem ser lidos sem a chave; só o cabeçalho é mostrado.
- Não há verificação para EdDSA nem para certificados. Se um token vale para a sua aplicação depende de emissor, destinatário e validade, que o seu servidor precisa checar por conta própria.
- Tokens de produção só devem ir a dispositivos de confiança. Nada é enviado ou salvo aqui, mas um token expirado ou de teste é a escolha mais segura.
Perguntas frequentes
O que é um JWT?
Um JSON Web Token é uma string compacta e segura para URL, com três partes (cabeçalho, payload, assinatura). Ele transporta claims como o ID do usuário ou a validade e costuma servir de prova de acesso após o login.
Qualquer pessoa pode ler o conteúdo de um JWT?
Sim. Cabeçalho e payload são apenas codificados em base64url, não criptografados. Só a assinatura protege contra alterações, não contra a leitura. Por isso não coloque segredos em um JWT.
Como verifico a assinatura de um JWT?
Em “Segredo ou chave pública”, informe o segredo para HS256/384/512, ou a chave pública em PEM ou JWK para RS256, PS256 ou ES256. O resultado aparece em “Assinatura”.
É seguro colar meu token em um decodificador online?
Este decodificador funciona inteiramente no seu navegador e não envia nada. Mesmo assim, um token válido é uma prova de acesso. Use tokens de teste ou já expirados sempre que puder.
O que significam exp, iat e nbf?
exp é o instante em que o token expira, iat o de emissão e nbf o instante a partir do qual ele vale. Os três são segundos desde 1º de janeiro de 1970 UTC.
Por que a ferramenta diz “não verificada”?
Sem chave não há com que checar a assinatura, então o conteúdo é apenas lido. Algoritmos não suportados ou formatos de chave inadequados também impedem a verificação.
Fontes e base legal
- §§ 2, 4.1 (Claims, NumericDate): IETF RFC 7519 – JSON Web Token (JWT)
- §§ 3, 7.1, Anhang A.1 (Testbeispiel HS256): IETF RFC 7515 – JSON Web Signature (JWS)
- § 3 (HS, RS, ES, PS): IETF RFC 7518 – JSON Web Algorithms (JWA)
- §§ 2.1, 3.1 (Algorithmus-Verwechslung, Algorithmus pruefen): IETF RFC 8725 – JSON Web Token Best Current Practices
- W3C Web Cryptography API (SubtleCrypto.verify)
Última atualização: · Princípios editoriais
Ferramentas relacionadas
- Codificar e Decodificar Base64Codifique e decodifique Base64 e Base64url com UTF-8 correto, além de URL encode/decode (codificação por porcentagem). Erros claros, tudo no navegador.
- Gerador de Hash: SHA-256, SHA-512, SHA-1, MD5Calcule hashes SHA-256, SHA-384, SHA-512, SHA-1 e MD5 de textos ou arquivos e verifique checksums – no seu navegador, sem upload, grátis.
- Formatador, validador e minificador de JSONValide JSON pela RFC 8259 com linha, coluna e explicação clara do erro. Formate ou minifique, ordene as chaves e copie. Tudo roda no seu navegador.
- Conversor de timestamp UnixConverta timestamp Unix em data e vice-versa: segundos, milissegundos, micro e nanossegundos detectados; saída em UTC, horário local, ISO 8601 e mais.
- Gerador de UUID: gere e valide UUID v4 e v7Gere UUID online: versão 4 (aleatória) ou versão 7 (ordenada por tempo), até 1.000 de uma vez. Valide um UUID e veja versão, variante e data de criação.
- Gerador de SenhaCrie senhas aleatórias fortes e frases-senha fáceis de lembrar (em inglês, lista EFF), com a entropia em bits — direto no navegador, sem enviar nem salvar nada.
- Qual é o meu endereço IP?Mostra na hora seu endereço IP público, detecta se é IPv4 ou IPv6 e explica a diferença. Grátis – seu IP não é armazenado.
- JSON escape / unescapeJSON escape e unescape online: transforme um texto em uma string JSON válida com aspas, barras invertidas e quebras de linha escapadas, ou faça o contrário.
- Comparar dois JSONComparar JSON: encontre as diferenças entre dois documentos JSON com caminho, valor antigo e novo. A ordem das chaves não importa. No navegador.