Decodificador de JWT

Decodifique o cabeçalho, payload e assinatura de JWT (JSON Web Token) instantaneamente. Veja o status das claims exp, iat, nbf. 100% no lado do cliente, sem uploads, sem rastreamento.

Publicidade
Publicidade

Decodifique JWTs sem enviar seus tokens

Decodificação instantânea de JWT com indicadores de status de claims e JSON formatado — direto no seu navegador. Sem envios, sem inscrição, sem limites.

100% privado
Decodificação instantânea
Grátis para sempre

Como usar

  1. 1

    Cole Seu JWT

    Copie um JWT e cole-o na caixa de entrada na parte superior.

  2. 2

    Revise o Cabeçalho e o Payload

    O cabeçalho decodificado (algoritmo) e o payload (claims) aparecem como JSON formatado.

  3. 3

    Verifique o Status das Claims

    As claims iat, nbf e exp são destacadas — tokens expirados ou ainda não válidos são sinalizados em vermelho ou amarelo.

  4. 4

    Copie se Necessário

    Use o botão Copiar para copiar o cabeçalho ou payload JSON decodificado.

Por que Usar Este Decodificador de JWT?

Decodificação Local Instantânea

O cabeçalho e o payload são decodificados e formatados como JSON no momento em que você cola o token — sem botões para clicar.

Indicadores de Status das Claims

As claims `exp`, `nbf` e `iat` são analisadas e comparadas com o horário atual, com status claro codificado por cores para tokens expirados, ainda não válidos e ativos.

Compatível com UTF-8

Decodifica corretamente payloads Base64URL que contêm caracteres não ASCII, incluindo emoji e texto internacional.

Publicidade

Entendendo JSON Web Tokens (JWT)

O que é um JWT?

Um JSON Web Token (JWT) é um padrão aberto (RFC 7519) que define uma forma compacta e autossuficiente de transmitir informações com segurança entre partes como um objeto JSON. JWTs são comumente usados para autenticação e autorização em aplicações web. Após um usuário fazer login, o servidor emite um JWT contendo claims sobre o usuário (como seu ID de usuário e funções). O cliente inclui este JWT no cabeçalho Authorization de requisições subsequentes, permitindo que o servidor verifique a identidade do usuário sem armazenar o estado da sessão.

Um JWT consiste em três partes separadas por pontos: `header.payload.signature`. O cabeçalho especifica o tipo de token (JWT) e o algoritmo de assinatura (por exemplo, HS256, RS256). O payload contém as claims — declarações sobre o usuário e metadados adicionais. A assinatura é usada para verificar se o token não foi adulterado. Apenas o cabeçalho e o payload são decodificados em Base64URL para ler as claims; a assinatura é um valor binário usado apenas para verificação.

Publicidade

Decodificação vs. verificação de um JWT

Decodificar um JWT significa decodificar o cabeçalho e o payload em Base64URL para ler as claims. Isso não exige nenhuma chave secreta — qualquer um pode decodificar um JWT. A decodificação informa o que o token afirma, mas não prova que as claims são verdadeiras ou que o token foi emitido por uma parte confiável.

Verificar um JWT significa verificar a assinatura usando a chave secreta (para algoritmos HMAC) ou a chave pública (para algoritmos RSA/ECDSA). Isso confirma que o token foi emitido pelo detentor da chave secreta/privada e que não foi modificado desde então. Apenas tokens verificados devem ser confiáveis para decisões de segurança. Nossa ferramenta decodifica JWTs, mas não os verifica — para verificação, use uma biblioteca como jsonwebtoken (Node.js) ou PyJWT (Python).

Claims JWT comuns

Claims registradas (definidas no RFC 7519): `sub` (sujeito — o ID do usuário), `iss` (emissor), `aud` (audiência), `exp` (tempo de expiração), `nbf` (não antes), `iat` (emitido em), `jti` (ID do JWT). Claims privadas: claims personalizadas acordadas entre as partes, como `role`, `permissions`, `email` ou `name`. Nossa ferramenta exibe todas as claims no payload como JSON formatado.

Publicidade

Casos de Uso Comuns

Depuração de Autenticação

Inspecione as claims de um JWT emitido pelo seu servidor de autenticação para confirmar o ID do usuário, funções ou expiração.

Desenvolvimento de API

Verifique rapidamente se o JWT gerado no servidor contém o payload esperado antes de enviá-lo ao cliente.

Aprendendo a Estrutura do JWT

Veja exatamente como um JWT é estruturado — cabeçalho, payload, assinatura — sem escrever nenhum código.

Solução de Problemas de Tokens Expirados

Veja instantaneamente se um erro 401 é causado por uma claim `exp` expirada ou por uma claim `nbf` ainda não válida.

Como isso se compara a outros decodificadores de JWT?

Uma comparação lado a lado de ferramentas populares de decodificação de JWT.

RecursoNovaToolsJWT.ioJWT.ms
Privacidade (sem upload)100% localEnvia para o servidorEnvia para o servidor
PreçoGratuito ilimitadoGratuito com anúnciosGratuito
Status da claim (exp/nbf/iat)Codificado por cores
JSON formatado
Decodificação segura UTF-8Limitado
Compatível com celularLimitadoLimitado
Funciona offlineApós carregar a página

JWT.io e JWT.ms enviam seu token para os servidores deles para decodificação. Nossa ferramenta decodifica tudo localmente — seu JWT nunca sai do seu navegador.

Referência rápida de JWT

Fatos importantes sobre JSON Web Tokens.

Estrutura do token

header.payload.signature

Três partes codificadas em Base64URL separadas por pontos.

Exemplo:eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjMifQ.abc123
header

Objeto JSON com algoritmo (alg) e tipo de token (typ).

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

Objeto JSON com claims sobre o usuário e o token.

Exemplo:{"sub":"123","exp":1735689600}
signature

Assinatura HMAC/RSA/ECDSA. Não decodificada, apenas verificada.

Exemplo:HMAC-SHA256(header.payload, secret)

Claims registradas

sub

Sujeito — identifica o usuário ou entidade.

Exemplo:"sub":"user-123"
iss

Emissor — identifica quem emitiu o token.

Exemplo:"iss":"auth.example.com"
aud

Audiência — destinatário pretendido do token.

Exemplo:"aud":"api.example.com"
exp

Tempo de expiração (carimbo de data/hora Unix em segundos).

Exemplo:"exp":1735689600
iat

Emitido em (carimbo de data/hora Unix em segundos).

Exemplo:"iat":1735603200
nbf

Não antes — o token não é válido antes deste horário.

Exemplo:"nbf":1735603200

Algoritmos

HS256

HMAC com SHA-256. Simétrico — mesmo segredo para assinar e verificar.

Exemplo:{"alg":"HS256"} + shared secret
RS256

Assinatura RSA com SHA-256. Assimétrico — chave privada assina, chave pública verifica.

Exemplo:{"alg":"RS256"} + RSA 2048-bit key pair
ES256

ECDSA com P-256 e SHA-256. Assimétrico — assinaturas menores que RSA.

Exemplo:{"alg":"ES256"} + EC P-256 key pair
none

Sem assinatura. INSEGURO — nunca use em produção.

Exemplo:{"alg":"none"} — CRITICAL vulnerability

Perguntas frequentes

Esta ferramenta verifica a assinatura do JWT?
Não. Esta ferramenta apenas decodifica o token — ela não verifica a assinatura. A decodificação informa o que o token afirma, mas qualquer um pode criar um token com quaisquer claims. A verificação requer o segredo de assinatura ou a chave pública.
É seguro colar meu JWT aqui?
Sim. Toda a decodificação acontece localmente no seu navegador. O token nunca é enviado a um servidor. No entanto, você ainda deve evitar colar tokens em sites não confiáveis e nunca compartilhar JWTs em capturas de tela ou tickets de suporte.
O que significam as claims iat, nbf e exp?
`iat` (issued at) é quando o token foi criado. `nbf` (not before) é o horário mais cedo em que o token é válido. `exp` (expiration) é quando o token deixa de ser válido. Todas são armazenadas como timestamps Unix em segundos.
Por que meu token tem três partes?
Um JWT tem três partes codificadas em Base64URL separadas por pontos: `header.payload.signature`. O cabeçalho descreve o algoritmo, o payload contém as claims e a assinatura é usada para verificar a integridade.
O que é codificação Base64URL?
Base64URL é uma variante do Base64 que usa `-` em vez de `+` e `_` em vez de `/`, e omite o preenchimento `=`. Isso torna a string codificada segura para uso em URLs e JSON.
Esta ferramenta verifica a assinatura do JWT?
Não. Esta ferramenta apenas decodifica o token — ela não verifica a assinatura. A decodificação informa o que o token afirma, mas qualquer um pode criar um token com quaisquer claims. A verificação requer o segredo de assinatura (para algoritmos HMAC como HS256) ou a chave pública (para algoritmos RSA como RS256, ou algoritmos ECDSA como ES256). Nunca confie nas claims de um JWT para decisões de segurança sem verificar sua assinatura primeiro. Se precisar verificar um JWT, use uma biblioteca como jsonwebtoken (Node.js), PyJWT (Python) ou jose (JavaScript/TypeScript) com o segredo ou chave corretos.
É seguro colar meu JWT aqui?
Yes. All decoding happens locally in your browser using JavaScript. The token is never sent to a server, never stored, and never logged. You can verify this by opening your browser's DevTools Network tab — no network requests are made when you paste or decode a token. However, you should still avoid pasting tokens into untrusted sites, and never share JWTs in screenshots, support tickets, or public channels. Even though our tool is safe, other online JWT decoders may upload your token to their server.
O que significam as claims iat, nbf e exp?
Estas são claims registradas definidas no RFC 7519 que controlam a validade temporal do token. `iat` (emitido em) é um carimbo de data/hora Unix indicando quando o token foi criado. `nbf` (não antes) é um carimbo de data/hora Unix indicando o horário mais cedo em que o token é considerado válido — antes deste horário, o token deve ser rejeitado. `exp` (expiração) é um carimbo de data/hora Unix indicando quando o token expira — após este horário, o token deve ser rejeitado. Todas as três são armazenadas como segundos desde a época Unix (1 de janeiro de 1970, 00:00:00 UTC). Nossa ferramenta analisa essas claims e mostra um status codificado por cores: verde para ativo, amarelo para ainda não válido e vermelho para expirado.
Por que meu token tem três partes?
Um JWT consiste em três partes codificadas em Base64URL separadas por pontos: `header.payload.signature`. O cabeçalho descreve o tipo de token (JWT) e o algoritmo de assinatura (por exemplo, HS256, RS256). O payload contém as claims — declarações sobre uma entidade (tipicamente o usuário) e metadados adicionais. A assinatura é usada para verificar se o remetente do JWT é quem diz ser e para garantir que a mensagem não foi alterada no caminho. Para decodificar um JWT, você só precisa decodificar o cabeçalho e o payload em Base64URL — a assinatura não é decodificada, é um valor binário usado apenas para verificação.
O que é codificação Base64URL e como difere do Base64?
Base64URL é uma variante do Base64 projetada para ser segura para uso em URLs e nomes de arquivo. Ela substitui o caractere `+` por `-` e o caractere `/` por `_`, e omite o caractere de preenchimento `=` no final. Isso é necessário porque `+` e `/` têm significados especiais em URLs (eles representam espaços e separadores de caminho, respectivamente). JWT usa Base64URL para codificar o cabeçalho, o payload e a assinatura. Se você tentar decodificar uma parte do JWT com Base64 padrão, pode obter um erro porque `-` e `_` não são caracteres válidos do Base64 padrão.
Quais são as claims JWT mais comuns?
As claims registradas mais comuns são: `sub` (sujeito — o ID do usuário), `iss` (emissor — quem emitiu o token), `aud` (audiência — para quem o token se destina), `exp` (tempo de expiração), `nbf` (não antes), `iat` (emitido em) e `jti` (ID do JWT — um identificador único para o token). Claims personalizadas também podem ser incluídas, como `role`, `permissions`, `email` ou `name`. Nossa ferramenta exibe todas as claims no payload como um objeto JSON formatado.
Posso decodificar um JWT sem a chave secreta?
Sim. Decodificar um JWT não exige a chave secreta — você só precisa decodificar o cabeçalho e o payload em Base64URL. A chave secreta é necessária apenas para verificar a assinatura, o que confirma que o token foi emitido por uma parte confiável e não foi adulterado. Esta é uma fonte comum de confusão: decodificar não é o mesmo que verificar. Qualquer um pode decodificar um JWT, mas apenas alguém com a chave secreta pode verificá-lo.
What happens if I paste an invalid JWT?
The tool will display an error message indicating what went wrong. Common errors include: not having exactly three dot-separated parts, containing characters that are not valid Base64URL, or having a payload that is not valid JSON after decoding. The error message will tell you exactly what is wrong so you can fix the input.
A ferramenta funciona em dispositivos móveis?
Sim. A ferramenta é totalmente responsiva e funciona no iOS Safari e Android Chrome. The interface adapts to small screens with a vertical layout — input at the top, decoded header and payload in the middle, and claim status at the bottom. Decoding runs locally on your phone, so it works even on slow network connections.
Posso usar esta ferramenta para projetos comerciais?
Yes. The tool is free for both personal and commercial use with no watermarks, no attribution required, and no usage limits. You retain full ownership of your tokens. There is no registration, no API key, and no subscription required.

Sua privacidade é nossa prioridade

Esta ferramenta funciona inteiramente no seu navegador. Seus arquivos não são enviados para um servidor, nem armazenados, nem analisados.

  • Não enviamos, armazenamos ou analisamos seus arquivos.
  • Tudo o que você processa permanece no seu dispositivo.
  • Não há processamento do lado do servidor, nem armazenamento em nuvem, nem análise.

Mesmo se sua conexão com a internet cair, seus arquivos permanecem seguros.

Você também pode gostar

Guias uteis

Publicidade