Decodificador e verificador de JWT

Cole um JSON Web Token para analisar seu cabeçalho e sua carga, verificar quando ele expira e conferir sua assinatura. A decodificação acontece localmente — seu token nunca sai do navegador.

Atualizado em
🔒 Seu token foi decodificado e verificado localmente no seu navegador. Essas informações nunca são enviadas para um servidor, registradas nem armazenadas.
Cabeçalho
Carga útil

Afirmações

Verificar assinatura (opcional)

Seus dados nunca saem do seu computador. Todo o processamento acontece localmente no navegador.

Como usar: Decodificador JWT

  1. Cole um JWT (com ou sem o Bearer prefixo) na caixa “Token codificado” ou clique em “Carregar exemplo”.
  2. Leia o cabeçalho e a carga útil decodificados; os emblemas mostram o algoritmo e se o token já expirou.
  3. Dá uma olhada na tabela “Claims” para ver os dados em formato legível exp, iat e nbf horários no seu fuso horário local.
  4. 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:

  1. Cabeçalho — JSON que descreve o token, por exemplo, {"alg":"HS256","typ":"JWT"}.
  2. Carga — JSON com as reivindicações: quem é o usuário, o que ele pode fazer e quando o token expira.
  3. Assinatura — calculada com header.payload com 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çãoNomeSignificado
issEmissorQuem emitiu o token (por exemplo, a URL do seu servidor de autenticação)
subAssuntoO usuário ou entidade que o token representa
audPúblicoA(s) API(s) que devem aceitar o token
expValidadeTempo Unix após o qual o token deve ser rejeitado
nbfNão antes deTempo Unix antes do qual o token não é válido
iatEmitido emTempo Unix em que o token foi criado
jtiID do JWTID 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: none e fixe os algoritmos esperados, para evitar ataques de confusão de algoritmos.
  • Verifique exp, nbf, iss e aud, 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?
A decodificação e a verificação acontecem inteiramente no seu navegador — o token não é enviado para nenhum servidor, nem armazenado, nem incluído na URL. Mesmo assim, trate os tokens de produção como senhas: prefira tokens expirados ou de teste e nunca compartilhe os que estão em uso.
É possível decodificar um JWT sem o segredo?
Sim. O cabeçalho e a carga são apenas JSON codificado em Base64URL, legível por qualquer pessoa. O segredo ou a chave só é necessário para verificar a assinatura, ou seja, para comprovar que o token é autêntico e não foi alterado.
Como faço para verificar se um JWT está vencido?
Dá uma olhada na 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.
Qual é a diferença entre HS256 e RS256?
O HS256 usa um segredo compartilhado para assinar e verificar (HMAC simétrico). O RS256 assina com uma chave privada RSA e verifica com a chave pública (assimétrico), então quem faz a verificação não consegue criar tokens.
Por que a verificação falha mesmo com a senha correta?
Verifica se o segredo está armazenado codificado em Base64 (marca a opção), se há espaços ou quebras de linha indesejadas e se o token não foi alterado — basta um único caractere alterado no cabeçalho ou na carga para invalidar a assinatura.
Posso instalar o Decodificador JWT como um aplicativo da web e usá-lo offline?
Sim. O Decodificador JWT é um aplicativo da web instalável (PWA) — instalado a partir do seu navegador, não baixado de uma loja de aplicativos. Clique em “Instalar aplicativo” na parte superior desta página no Chrome ou no Edge (Windows, macOS, Linux, ChromeOS) ou, no Android, use “Compartilhar” → “Adicionar à tela inicial” no iPhone e no iPad, ou “Arquivo” → “Adicionar ao Dock” no Safari 17+ em um Mac. Em seguida, ela se abre em uma janela própria com seu próprio ícone e, como é executada inteiramente no seu navegador, continua funcionando offline. O Firefox no desktop não permite a instalação de aplicativos da web. Como funciona a instalação.

Ferramentas relacionadas