Codificação

JWT Encoder/Decoder

Codificação e decodificação de tokens JWT — cabeçalho, payload, assinatura HMAC e campos padrão.

A JWT (JSON Web Token) is a compact format for transmitting signed data, made of three dot-separated parts: a header, a payload, and a signature. This tool decodes any JWT and shows all three parts, and can also build a new token signed with HMAC.

Decoding does not verify the signature — reading a token's contents needs no secret key. Verifying the signature only matters when you need to trust the token as genuine.

How to use it

Common uses

Things to keep in mind

A JWT is not encrypted, only Base64URL-encoded — anyone can read the payload. Never put passwords or other secrets in it.

The signature protects against tampering, not against being read. For confidentiality you need extra encryption (JWE) or an HTTPS transport.

Artigo sobre esta ferramenta: JWT: a estrutura do token e o que significa "decodificar" um JWT

Perguntas frequentes

Decodificar um JWT verifica sua assinatura?

Não. A decodificação apenas faz o base64url-decode do cabeçalho e do payload para você ler as claims — isso não prova que o token é autêntico. Para verificar a assinatura de fato, você precisa inserir aqui a chave secreta ou pública correta.

É seguro colar um JWT real nesta ferramenta?

A decodificação e assinatura acontecem inteiramente no seu navegador — o token e qualquer segredo que você inserir nunca são enviados a um servidor. Ainda assim, trate tokens de sistemas em produção com cuidado, já que qualquer pessoa que veja um JWT decodificado pode ler suas claims.

Por que meu token aparece como expirado mesmo funcionando no meu app?

O indicador Expirado/Válido aqui apenas compara a claim exp com a hora atual — não verifica tolerâncias de diferença de relógio nem outras regras de validação que seu servidor ou biblioteca possam aplicar.

O que é o ataque de troca de algoritmo para "none"?

Se o backend confia ingenuamente no campo alg do cabeçalho do token, um atacante pode trocá-lo por none, remover a assinatura — e um token com dados arbitrários passa na verificação. Bibliotecas robustas exigem que o algoritmo esperado seja informado explicitamente na verificação.

Por que não devo guardar um JWT no localStorage para sessões sensíveis?

O localStorage é acessível a qualquer código JavaScript da página, por isso é vulnerável a XSS — um script malicioso pode roubar o token. Para tokens de sessão, é mais seguro usar cookies httpOnly, inacessíveis ao JavaScript.

Artigos: Codificação

Base64: para que serve a codificação e como funciona

Como o Base64 transforma dados binários em texto ASCII e quando isso é realmente necessário.

Base32: em que difere do Base64 e quando é mais prático

O alfabeto do Base32, que não diferencia maiúsculas de minúsculas, e os casos em que é mais prático que o Base64.

URL Encode/Decode: o percent-encoding em links

Como caracteres especiais em endereços e parâmetros se tornam sequências %XX.

HTML Entities: como exibir caracteres especiais com segurança

Por que os caracteres < > & precisam ser escapados e como isso evita que a marcação quebre.

Unicode Escape: o que significam as sequências \uXXXX

De onde vêm sequências como \u0041 em JSON e strings JS, e o que significam.

ROT13 e a cifra de César: substituição simples de caracteres

Por que um deslocamento de 13 letras torna o ROT13 autoinverso, e por que ainda se usa hoje.

Punycode: como os domínios internacionalizados funcionam no DNS

Como um domínio com caracteres não latinos se torna uma forma ASCII com o prefixo xn--.

Código Morse: como o texto se transforma em pontos e traços

O princípio de codificar letras em pontos e traços, e onde o Morse ainda é usado hoje.

Data URI: quando incorporar imagens diretamente no código

Como um Data URI incorpora o conteúdo de um arquivo diretamente em HTML ou CSS, e quando vale a pena.

Gzip + Base64: comprimir dados para transmitir como texto

Por que dados binários comprimidos também são codificados em Base64 antes de irem para um campo de texto.

XML Entities: escapar caracteres em documentos XML

As cinco entidades XML obrigatórias sem as quais o documento quebra ao ser analisado.