RFC 4648 §5 · base64url
Decodificar Base64URL, com preenchimento e tudo.
Cole Base64 URL-safe — de um JWT, de um parâmetro de URL, de um desafio WebAuthn ou da API do Gmail — e ele é decodificado convertendo - e _ de volta e restaurando o preenchimento = que falta. Cole um JSON Web Token inteiro e o cabeçalho e o payload aparecem em uma tabela.
Atualizado em · Roda inteiramente no seu navegador
Conversor de Decodificar Base64URL
JSON Web Token
Opções
Ctrl+Enter decodificar Ctrl+Shift+C copiar resultado Solte um arquivo na entrada para carregá-lo
Como decodificar Base64URL
- 01
Cole o valor base64url
Cole uma string Base64 URL-safe ou um JWT completo. Os caracteres - e _ e o preenchimento que falta são tratados automaticamente.
- 02
Leia o resultado decodificado
Valores simples são decodificados em texto ou bytes. Um JWT é separado em cabeçalho e payload, com iat, nbf e exp mostrados como datas.
- 03
Copie ou continue decodificando
Copie o JSON, formate-o ou clique em Enviar para a entrada se o payload tiver outro valor codificado.
Base64 vs. Base64URL
O Base64 padrão usa + e /, que têm significado em URLs e nomes de arquivos, e completa com
=, que precisa ser codificado com porcentagem numa query string. O Base64URL, definido na seção 5 da
RFC 4648, troca só esses caracteres para que o valor viaje numa URL sem alterações:
| Base64 | Base64URL | |
|---|---|---|
| Valor 62 | + | - |
| Valor 63 | / | _ |
| Preenchimento | = obrigatório | geralmente omitido |
| Definido em | RFC 4648 §4 | RFC 4648 §5 |
Os outros 62 caracteres são idênticos, então a conversão é uma simples troca de caracteres mais o preenchimento.
Como restaurar o preenchimento que falta
Muitos decodificadores estritos rejeitam entradas sem preenchimento. A regra para recolocá-lo depende só do tamanho da string módulo 4:
- resto 0 — não precisa de preenchimento;
- resto 2 — adicione
==; - resto 3 — adicione
=; - resto 1 — impossível em Base64 válido: o valor está truncado.
Este decodificador aplica a regra para você e avisa quando o valor está truncado, em vez de devolver lixo em silêncio.
Onde você encontra base64url
- JSON Web Tokens — o cabeçalho, o payload e a assinatura são três segmentos base64url unidos por pontos. A assinatura é exibida, mas não verificada, porque isso exige a chave.
- WebAuthn e passkeys — desafios, IDs de credencial e dados do cliente.
- OAuth PKCE — o
code_challengeé um digest SHA-256 em base64url. - API do Gmail — corpos de mensagens e anexos são codificados em base64url.
- IDs curtos e tokens em URLs, cookies e nomes de arquivos.
Decodificar base64url no código
# Python: urlsafe_b64decode still needs the padding back
import base64
def b64url_decode(s: str) -> bytes:
return base64.urlsafe_b64decode(s + "=" * (-len(s) % 4))
// Node.js 16+
Buffer.from(token, "base64url").toString("utf8");
// Go
base64.RawURLEncoding.DecodeString(s)
// Java 8+: the URL decoder accepts unpadded input
Base64.getUrlDecoder().decode(s);
Para Base64 padrão e mais linguagens, veja a página principal para decodificar Base64.
Mais decodificadores
Outras formas de decodificar Base64.
- Decodificar Base64 Decodifique qualquer Base64 em texto, imagem ou arquivo, com mais de 20 conjuntos de caracteres.
- Base64 para imagem Veja um PNG, JPEG, GIF, WebP ou SVG em Base64 e salve como um arquivo de imagem de verdade.
- Base64 para PDF Transforme uma string Base64 de uma API ou e-mail em um PDF para visualizar e salvar.
- Base64 para hexadecimal Veja cada byte decodificado em um dump hex ou copie como uma string hexadecimal contínua.
Perguntas
Decodificar Base64URL: perguntas frequentes.
Como decodifico Base64URL?
Troque - por + e _ por /, adicione preenchimento = até o tamanho ser múltiplo de quatro e decodifique como Base64 normal. Esta página faz as três coisas automaticamente: cole o valor e o resultado aparece na hora.
Base64URL é a mesma coisa que codificação de URL?
Não. A codificação de URL (codificação por porcentagem) escapa caracteres individuais como %XX. O Base64URL é uma variante do Base64 que converte bytes para um alfabeto seguro para URLs. Se um valor contém %2B ou %3D, é Base64 codificado por porcentagem — decodifique a porcentagem primeiro.
Posso decodificar um JWT com esta ferramenta?
Sim. Cole o token inteiro e o cabeçalho e o payload são decodificados de base64url e mostrados em uma tabela, com os timestamps convertidos em datas. A assinatura é exibida, mas não verificada, porque isso exige a chave secreta ou pública.
Por que o Python dá “Incorrect padding” com base64url?
base64.urlsafe_b64decode espera o preenchimento = que o base64url geralmente omite. Adicione "=" * (-len(s) % 4) à string antes de decodificar, como no exemplo desta página.