Como usar: Decodificador JWT
- Cole um JWT (com ou sem o
Bearerprefixo) na caixa “Token codificado” ou clique em “Carregar exemplo”. - Leia o cabeçalho e a carga útil decodificados; os emblemas mostram o algoritmo e se o token já expirou.
- Dá uma olhada na tabela “Claims” para ver os dados em formato legível
exp,iatenbfhorários no seu fuso horário local. - Se quiser, verifique a assinatura: digite o segredo compartilhado para HS256/384/512 ou cole a chave pública (PEM ou JWK) para tokens RS, PS, ES e EdDSA.
O que é um JWT?
Um JSON Web Token (JWT, pronunciado “jot”, definido na RFC 7519) é uma string compacta e segura para URLs, usada para transmitir reivindicações entre partes — geralmente como um token de acesso ou token de identificação no OAuth 2.0 e no OpenID Connect, enviado em um Authorization: Bearer … cabeçalho. Ele consiste em três partes codificadas em Base64URL, separadas por pontos:
- Cabeçalho — JSON que descreve o token, por exemplo,
{"alg":"HS256","typ":"JWT"}. - Carga — JSON com as reivindicações: quem é o usuário, o que ele pode fazer e quando o token expira.
- Assinatura — calculada com
header.payloadcom uma chave secreta ou privada; por isso, qualquer alteração nas duas primeiras partes o invalida.
Importante: o cabeçalho e a carga são apenas codificados, não criptografados. Qualquer pessoa que tenha o token pode lê-los — que é exatamente o que esse decodificador faz. Nunca coloque segredos ou dados pessoais confidenciais na carga útil de um JWT. (Existem tokens criptografados — o JWE, com cinco partes —, mas a carga útil deles só pode ser lida com a chave de descriptografia.)
Reivindicações registradas
| Reivindicação | Nome | Significado |
|---|---|---|
iss | Emissor | Quem emitiu o token (por exemplo, a URL do seu servidor de autenticação) |
sub | Assunto | O usuário ou entidade que o token representa |
aud | Público | A(s) API(s) que devem aceitar o token |
exp | Validade | Tempo Unix após o qual o token deve ser rejeitado |
nbf | Não antes de | Tempo Unix antes do qual o token não é válido |
iat | Emitido em | Tempo Unix em que o token foi criado |
jti | ID do JWT | ID exclusivo, útil para evitar replay |
As reivindicações de tempo são em segundos desde 1º de janeiro de 1970 UTC — não em milissegundos, um erro comum ao gerar tokens em JavaScript com Date.now(). O decodificador converte esses valores em datas legíveis; para outros carimbos de data/hora, use o Conversor de Carimbo de Data/Hora Unix.
Algoritmos de assinatura
HS256/384/512 usam HMAC com um segredo compartilhado: a mesma chave assina e verifica, então todo verificador também pode gerar tokens. RS256 (RSA), PS256 (RSA-PSS), ES256 (ECDSA P-256) e EdDSA usam uma chave privada para assinar e uma chave pública para verificar — a melhor opção quando vários serviços precisam validar tokens. Os provedores de identidade publicam suas chaves públicas como um JWKS em uma URL como /.well-known/jwks.json; você pode colar esse JSON aqui e a chave que corresponde ao token kid será selecionada. A verificação usa a API Web Crypto do navegador.
Lista de verificação de segurança
- Sempre verifique a assinatura no servidor — a decodificação por si só não prova nada.
- Rejeite
alg: nonee fixe os algoritmos esperados, para evitar ataques de confusão de algoritmos. - Verifique
exp,nbf,isseaud, permitindo apenas um pequeno desvio de clock. - Para o HS256, use um segredo aleatório de pelo menos 256 bits — o Gerador de Senhas pode criar um.
Também pesquisado como: depurador de jwt, decodificar jwt, token json da web, analisador de jwt, verificar jwt, validade do jwt, decodificador de token portador, jwt io.
Ferramentas que combinam com: Decodificador JWT
- PKCE Generator — Test or debug an OAuth 2.0 / OpenID Connect login with PKCE.
- Codificação/Decodificação Base64 — Converte texto para Base64 e vice-versa, com suporte total a UTF-8 (acentos, emojis); alterna para Base64 seguro para URLs; ou arrasta um arquivo para obter sua string Base64 ou URI de dados.
- Hash Generator — Compute MD5 and SHA hashes of any text or file instantly, create HMAC signatures, and paste an expected checksum to verify a download.
- Formatação JSON — Cole o JSON aqui para formatá-lo, compactá-lo ou validá-lo.
Perguntas frequentes
É seguro colar meu JWT aqui?
É possível decodificar um JWT sem o segredo?
Como faço para verificar se um JWT está vencido?
exp informação — um timestamp do Unix em segundos. Essa ferramenta compara isso com o relógio do seu aparelho e mostra um selo “Expirado” ou “Não expirado”, além da hora exata no seu fuso horário.