Decodificador de JWT

Decodifique e inspecione os cabeçalhos e o payload de JSON Web Tokens.

Carregando ferramenta…

Decodificador de JWTCole um JWT para ver instantaneamente seu cabeçalho e payload decodificados, com as claims de tempo iat, nbf e exp exibidas como datas legíveis e um selo ao vivo de expirado/válido. A decodificação acontece inteiramente no seu navegador, então os tokens nunca são enviados a lugar nenhum – mas lembre-se de que a assinatura não é verificada aqui, então nunca confie em um payload até que ela seja validada no servidor.

O que é Decodificador de JWT?

JWT Decoder é uma ferramenta online gratuita que decodifica e inspeciona JSON Web Tokens (JWT) para que os desenvolvedores possam ler o conteúdo de um token de acesso, token de ID ou token bearer sem adivinhar. Cole um token no formato padrão header.payload.signature e ela decodifica o header e o payload em base64url, exibe ambos como JSON formatado e legível, e apresenta as claims de tempo iat, nbf e exp como datas compreensíveis com um selo ao vivo de expirado/válido. Foi criada para engenheiros de backend e frontend, testadores de QA e integradores de API que depuram fluxos de autenticação, sessões OAuth/OIDC ou problemas de expiração de token. Observe que é um decodificador, não um verificador – ela não confere a assinatura, portanto serve apenas para inspeção.

Como usar Decodificador de JWT

  1. Copie seu JWT (header.payload.signature) do seu app, das ferramentas de desenvolvedor do navegador ou de um cabeçalho Authorization: Bearer.
  2. Cole-o na área de texto 'JWT token'.
  3. Leia o JSON decodificado e formatado nas seções Header e Payload abaixo da entrada.
  4. Se o payload incluir iat, nbf ou exp, confira os cartões Issued (iat), Not before (nbf) e Expires (exp) e o selo de expirado/válido para ver o tempo de vida do token.
  5. Use o botão Copiar no Header ou no Payload para copiar o JSON formatado, ou clique em Limpar para redefinir a entrada.

Exemplos

Decodificar um header de JWT

Entrada

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0In0.sig

Saída

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

A seção Header mostra o JSON decodificado e formatado do primeiro segmento.

Ler as claims de expiração

Cole um token cujo payload contenha exp/iat/nbf. A ferramenta converte cada claim em segundos epoch para uma data local legível e mostra um selo verde de 'válido' ou vermelho de 'expirado' ao lado do valor Expires (exp), atualizado a cada segundo.

Token malformado

Entrada

not-a-jwt

Saída

Malformed token — expected header.payload.signature

Uma string que não tenha pelo menos um segmento de header e um de payload (sem separadores de ponto) aciona esse erro em vez de ser decodificada.

Perguntas frequentes

Esta ferramenta verifica a assinatura do JWT?
Não. Ela apenas decodifica e exibe o header e o payload – não verifica a assinatura. Nunca confie em um payload decodificado até que a assinatura seja validada no servidor; trate a saída apenas como inspeção.
Qual formato de token ela espera?
Um JWT padrão com pelo menos uma seção header.payload (header.payload.signature). Ela divide nos pontos e decodifica os dois primeiros segmentos em base64url, então a parte da assinatura é ignorada durante a decodificação.
Quais claims de tempo ela mostra?
Ela apresenta as claims numéricas padrão em segundos epoch iat (emitido em), nbf (não antes de) e exp (expira), formatando cada uma como uma data local legível. Ela sinaliza tokens expirados e avisa quando um token ainda não é válido porque nbf está no futuro. Os cartões estatísticos só aparecem quando pelo menos uma dessas claims está presente.
Meu token é enviado ou carregado para algum lugar?
Não. Tudo é executado inteiramente no lado do cliente, no seu navegador, usando a decodificação base64 e JSON integrada – seu token nunca é carregado para nenhum servidor, o que torna seguro inspecionar tokens de acesso sensíveis.
Por que recebo um erro em um token que parece válido?
Se a entrada tiver menos de dois segmentos ou o header/payload estiver vazio, você verá a mensagem 'Malformed token'; e se um segmento não for um JSON codificado em base64url válido, você verá um erro 'invalid'. Certifique-se de ter colado o token completo sem espaços extras ou aspas ao redor.

Ferramentas relacionadas