Codificador JWT
Crie e assine JWTs com HS256, HS384 ou HS512 no navegador. Edite o JSON do cabeçalho e do payload; a ordem das claims e campos como kid são mantidos.
Os dados inseridos e arquivos ficam no navegador
Cabeçalho, payload e assinatura
Corrija o JSON do cabeçalho e do payload — o token assinado aparece aqui enquanto você digita.
Nesta página
Monte um JSON Web Token assinado para testar APIs e fluxos de autenticação: edite o JSON do cabeçalho e do payload, escolha HS256, HS384 ou HS512, informe um segredo e copie o token, que se atualiza a cada tecla.
Funcionalidade detalhada
O cabeçalho e o payload precisam ser, cada um, um objeto JSON; JSON inválido ou algo que não é objeto, como um array, é sinalizado abaixo do campo e nenhum token é gerado. O JSON é compactado (sem espaços) e codificado em base64url sem padding, mantendo a ordem das suas claims e campos extras do cabeçalho como kid ou cty. O valor alg do cabeçalho é substituído pelo algoritmo escolhido na lista, ou adicionado no início se estiver faltando.
A assinatura HMAC (SHA-256, SHA-384 ou SHA-512) é calculada por um módulo criptográfico em Rust compilado para WebAssembly; o segredo é usado como texto UTF-8. Só há algoritmos HMAC simétricos — tokens RS256 ou ES256, que exigem chave privada, não podem ser criados aqui. Um segredo vazio ainda gera um token assinado com chave vazia, o que só serve para experimentos.
O segredo e as claims ficam na página e não são salvos. A ferramenta não adiciona iat nem exp sozinha: coloque você mesmo valores NumericDate (Unix time em segundos) no payload.
Exemplos práticos
Vetor de teste do jwt.io: o cabeçalho padrão {"alg":"HS256","typ":"JWT"} e o payload {"sub":"1234567890","name":"John Doe","iat":1516239022} com o segredo your-256-bit-secret geram um token terminado em SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c, exatamente como no jwt.io.
Key ID e expiração: cabeçalho {"alg":"HS256","typ":"JWT","kid":"key-2026"}, payload {"sub":"42","role":"admin","exp":1767225600} e algoritmo HS384 — o cabeçalho codificado vira {"alg":"HS384","typ":"JWT","kid":"key-2026"}, com a ordem dos campos mantida, e a assinatura tem 64 caracteres.
Não é um objeto: um payload [1,2] mostra “Deve ser um objeto JSON” abaixo do campo e o token é limpo.
Como usar esta ferramenta
Edite o cabeçalho
Ajuste o JSON em Cabeçalho — adicione
kidse o seu verificador precisar; oalgvem da lista de algoritmos.Escreva as claims
Coloque suas claims (
sub,role,exp…) em Payload como um objeto JSON.Escolha o algoritmo e o segredo
Selecione HS256, HS384 ou HS512 em Algoritmo e digite o segredo compartilhado em Chave Secreta.
Copie o token
O token em Token Codificado se atualiza a cada mudança; clique em Copiar Token para copiá-lo.
Dicas e melhores práticas
- Use um segredo aleatório pelo menos do tamanho do hash: 32 bytes para HS256, 48 para HS384, 64 para HS512.
exp,nbfeiatsão em segundos, não em milissegundos:1767225600, não1767225600000.- Todo caractere do segredo conta, inclusive um espaço ou quebra de linha no final.
- O payload é só codificado em base64url, não criptografado — qualquer pessoa com o token pode lê-lo.
- Confira o resultado no Decodificador JWT com o mesmo segredo.