Gerador de JWT

Monte um JWT de teste para uma API, um ambiente local de autenticação ou um tutorial, assinado com o seu segredo.

Nível 0 · navegador · ilimitado
56 caracteres
Token
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6Ik1hcmlhIFNpbHZhIiwicm9sZSI6ImFkbWluIn0.BAHThyOiZm3xiXWqHmw1Gxyiv4_Po2yDDlCdyQfUlfg
Cabeçalho{"alg":"HS256","typ":"JWT"}
Tamanho do segredo304 bits ✓

Como um JWT é montado

Um JSON Web Token tem três partes separadas por pontos: um cabeçalho dizendo qual algoritmo assinou, um payload com as claims (ID do usuário, perfis, validade) e uma assinatura. Cabeçalho e payload são só JSON codificado em Base64url, então qualquer um consegue ler; a assinatura prova que o token foi emitido por quem conhece o segredo e não foi alterado.

No HS256, a assinatura é um HMAC-SHA256 de cabeçalho.payload com um segredo compartilhado, o mesmo que a API usa para verificar. Isso torna tokens HS256 práticos para desenvolvimento, testes e serviços que compartilham uma chave.

Exemplo resolvido

O payload de exemplo famoso {"sub":"1234567890","name":"John Doe","iat":1516239022} assinado com o segredo your-256-bit-secret dá um token terminado em SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c, o mesmo de inúmeros tutoriais. Mude um caractere do payload e a assinatura muda por completo.

Validade

Ligue emitido em e defina expira em para adicionar as claims iat e exp, que a maioria das APIs exige. Use o decodificador de JWT para inspecionar o resultado.

Como funciona

A página lê o payload como JSON, adiciona iat e exp se pedido e monta o cabeçalho {"alg": "HS256", "typ": "JWT"} (ou HS384/HS512). Os dois são serializados, codificados em UTF-8 e escritos em Base64url sem padding, depois unidos por um ponto. A API Web Crypto do navegador calcula o HMAC dessa string com o seu segredo, como especifica a RFC 7518, e a assinatura é anexada em Base64url. A tabela mostra o cabeçalho e avisa quando o segredo é menor que o tamanho do hash. O segredo nunca sai desta aba e não é guardado.

Perguntas frequentes

O payload de um JWT é criptografado?

Não. Ele é só codificado em Base64url; qualquer pessoa com o token consegue ler. Não coloque segredos nele.

Qual deve ser o tamanho do segredo?

Pelo menos 256 bits (32 bytes) para HS256, como exige a RFC 7518; mais para HS384 e HS512.

Posso criar tokens RS256 aqui?

Não. RS256 e ES256 precisam de chaves privadas; esta página assina só com HMAC de segredo compartilhado.

Meu segredo é enviado?

Não. A assinatura acontece no navegador.

Fontes

Revisado em 17 de out. de 2026 · vetores de teste fixtures/dev/jwt-encoder/