O que é Base64
Base64 escreve bytes quaisquer com 64 caracteres seguros (A–Z, a–z, 0–9, + e /), para que dados binários passem por sistemas feitos para texto: anexos de e-mail (MIME), data URLs, campos JSON, o cabeçalho de autenticação HTTP Basic e tokens JWT usam esse formato. Cada 3 bytes viram 4 caracteres, então o resultado fica cerca de 33% maior que o original. Os sinais = no fim são padding, que deixa o tamanho múltiplo de quatro.
A variante URL-safe, Base64url, troca + e / por - e _ e costuma dispensar o padding, para caber em URLs e nomes de arquivo. Os JWTs usam essa variante. Este decodificador aceita os dois alfabetos automaticamente.
Exemplo resolvido
T2zDoSwgVXRpbE5lc3Qh vira Olá, UtilNest!. Agrupe os caracteres de quatro em quatro: cada caractere carrega 6 bits, então quatro caracteres carregam exatamente três bytes. Repare que o "á" ocupa dois bytes em UTF-8.
Quando a decodificação falha
Se o resultado não for UTF-8 válido, a entrada provavelmente representa dados binários, como uma imagem ou um arquivo compactado. Um tamanho que deixa um caractere sobrando no último grupo de quatro, ou caracteres como $ e %, indicam que o texto foi cortado ou não é Base64.
Como funciona
A página segue a RFC 4648: remove espaços, troca - e _ de volta por + e /, recoloca o padding = e converte cada grupo de quatro caracteres (24 bits) em três bytes. Os bytes são lidos como UTF-8; se não forem UTF-8 válido, a página avisa em vez de mostrar caracteres embaralhados. Mude para Codificar para fazer o caminho inverso. Tudo roda nesta aba e nada do que você cola é enviado.
Perguntas frequentes
Base64 é criptografia?
Não. Base64 é uma codificação que qualquer pessoa desfaz sem chave. Nunca use para esconder senhas ou segredos.
Por que o texto decodificado saiu embaralhado?
Os dados provavelmente são binários (imagem, PDF, bytes compactados) ou foram codificados de um charset antigo como o Latin-1. Esta página decodifica para UTF-8 e avisa quando a sequência é inválida.
Preciso do padding =?
Não. O decodificador completa o padding sozinho e também aceita os caracteres - e _ usados em JWTs.
Meus dados são enviados?
Não. A decodificação roda inteira no seu navegador; nada é enviado, guardado ou registrado.
Fontes
- RFC 4648 — The Base16, Base32, and Base64 Data Encodings
- The Unicode Standard, latest version
- Wikipedia — Base64
Revisado em 17 de out. de 2026 · vetores de teste fixtures/dev/base64-decode/