Diagnosticar um erro 401
Uma API rejeita o seu pedido: descodifique o token Bearer para ver se expirou, se a audiência aud corresponde à API chamada ou se o emissor iss é o do ambiente certo.
Cole um JSON Web Token: o cabeçalho e o payload são descodificados em JSON durante a escrita, com um resumo do algoritmo, do emissor, da audiência e das datas exp, iat e nbf na hora local.
algtypkidisssubaudexpiatnbfA descodificação não verifica a assinatura: qualquer pessoa pode ler um JWT. Para controlar a assinatura, utilize o verificador JWT.
O descodificador JWT mostra em claro o cabeçalho e o payload de um JSON Web Token assim que o cola. Destina-se a programadores, testers e equipas de suporte que precisam de perceber rapidamente o que contém um token de acesso ou um ID token: algoritmo, emissor, audiência e datas de validade. Lê o token, mas não verifica a sua assinatura.
Um JWT assinado (RFC 7519, no formato JWS compacto da RFC 7515) é composto por três segmentos separados por pontos: cabeçalho, payload e assinatura. Os dois primeiros são JSON codificado em Base64URL, uma variante do Base64 que substitui + e / por - e _ e remove o preenchimento =. O descodificador separa o token, converte cada segmento em texto UTF-8 e analisa-o como JSON. Por exemplo, o segmento eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 corresponde a {"alg":"HS256","typ":"JWT"}.
O resumo extrai depois os campos úteis: alg e typ do cabeçalho, iss (emissor), sub (sujeito) e aud (audiência) do payload. Os claims exp, iat e nbf são NumericDate, ou seja, um número de segundos desde 1 de janeiro de 1970 UTC: 1767225600 corresponde a 1 de janeiro de 2026 às 00:00 UTC. A ferramenta converte-os para a hora local e indica se o token é válido, expirou ou ainda não é válido. Surge um aviso se o cabeçalho declarar alg: none, isto é, um token sem assinatura.
Cole o token completo, com as três partes separadas por pontos. A descodificação começa durante a escrita, sem clicar em nenhum botão.
Os dois segmentos são apresentados em JSON formatado: algoritmo e tipo no cabeçalho, claims padrão e personalizados no payload.
Verifique o algoritmo, iss, sub, aud e as datas exp, iat e nbf na hora local com o respetivo estado. Para verificar a assinatura, passe ao verificador JWT.
Uma API rejeita o seu pedido: descodifique o token Bearer para ver se expirou, se a audiência aud corresponde à API chamada ou se o emissor iss é o do ambiente certo.
Após um início de sessão OpenID Connect (Auth0, Keycloak, Entra ID, Cognito), consulte claims personalizados como roles, groups ou scope para perceber porque é que um utilizador não acede a uma página.
Compare iat e exp para confirmar que o seu fornecedor de identidade emite de facto tokens de acesso de 5, 15 ou 60 minutos, como previsto na configuração.
Entrada
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5cResultado
Cabeçalho: {"alg":"HS256","typ":"JWT"}; Carga útil: {"sub":"1234567890","name":"John Doe","iat":1516239022}; assinatura não verificadaSim. O cabeçalho e o payload estão apenas codificados em Base64URL, não cifrados, pelo que qualquer pessoa com o token os pode ler. A chave só é necessária para verificar a assinatura, tarefa do verificador JWT e não deste descodificador.
Não, um JWT assinado (JWS) pode ser lido por qualquer pessoa; a assinatura apenas garante que não foi alterado. Nunca coloque palavras-passe ou dados confidenciais no payload. Se o conteúdo tiver de ser secreto, utilize um JWE (RFC 7516).
exp é a data de expiração, iat a data de emissão e nbf a data antes da qual o token não deve ser aceite. São segundos Unix (NumericDate, RFC 7519), não milissegundos. A ferramenta apresenta-os na hora local com o estado válido, expirado ou ainda não válido.
alg: none significa que o token não está assinado. Um servidor que o aceite permite a qualquer pessoa fabricar os seus próprios tokens, uma falha conhecida descrita na RFC 8725. Uma aplicação em produção deve impor sempre uma lista de algoritmos permitidos.
Muitas vezes o token foi truncado ao copiar, ainda contém o prefixo Bearer ou aspas, ou não tem três segmentos. Um segmento que não seja Base64URL válido ou cujo conteúdo não seja JSON também provoca um erro.
Um token de acesso válido é uma credencial: quem o obtiver pode usá-lo até expirar. Aqui, a descodificação é feita no seu navegador e o token não é enviado para nenhum servidor. Ainda assim, prefira tokens de teste ou já expirados sempre que possível.
Fluxo de trabalho recomendado
Descubra ferramentas que se integram naturalmente antes, depois ou em conjunto com esta.
Codifique texto em Base64 ou descodifique uma cadeia Base64 para recuperar o conteúdo original.
Formate, minifique e valide um documento JSON para o tornar mais legível ou compacto.
Calcule de uma só vez os hashes MD5, SHA-1, SHA-256, SHA-384 e SHA-512 de um texto ou ficheiro.
Verifique a assinatura de um JWT com um segredo HMAC ou uma chave pública JWK, JWKS ou PEM e controle exp, nbf, iss e aud.
Saiba o que contém um JWT, o que a sua assinatura prova realmente e porque descodificar um token não equivale a verificá-lo.
Entenda como OAuth 2.0, PKCE, JWT, JWK e JWKS se relacionam: autorização, tokens, chaves públicas e verificação.
Saiba quando usar criptografia, hashing, HMAC ou PBKDF2 para confidencialidade, integridade, autenticação e palavras-passe.