⇄ Base64 & URL Todas as ferramentas →

Codificador e Decodificador Base64

Base64 e URL encode/decode com UTF-8 correto — acentos e emoji não viram lixo.

Texto normal
Texto codificado
espaço publicitário

Como o Base64 funciona por dentro

O Base64 pega os bytes originais e os reagrupa em blocos de 6 bits. Como 6 bits produzem 64 combinações possíveis, cada bloco vira um caractere de um alfabeto fixo: A-Z, a-z, 0-9, + e /. Na prática, cada 3 bytes de entrada viram 4 caracteres de saída — daí o crescimento de aproximadamente 33% no tamanho.

TextoBytes (UTF-8)Base64
a1YQ==
ab2YWI=
abc3YWJj
Olá4 (o á ocupa 2)T2zDoQ==
ação6YcOnw6Nv
São Paulo10U8OjbyBQYXVsbw==

Base64, Base64URL e hexadecimal

CodificaçãoAlfabetoAumento de tamanhoUso típico
Base64 padrãoA-Z a-z 0-9 + / =+33%E-mail, data URI, PEM, campos JSON
Base64URLA-Z a-z 0-9 - _+33%JWT e valores dentro de URLs, onde + e / atrapalham
Hexadecimal0-9 a-f+100%Hashes, cores, dumps de memória — mais legível, mas o dobro do tamanho
URL encodetexto + %XXvariávelParâmetros de URL e formulários

URL encode: quando e por quê

Use sempre que um valor com espaço, acento ou símbolo entra numa URL: busca interna, UTMs com nome de campanha composto, links de WhatsApp com mensagem pronta. O que acontece é a substituição do caractere pelo seu byte em hexadecimal, precedido de %.

CaractereCodificadoPor que precisa
espaço%20Encerra a URL em muitos parsers e clientes de e-mail
&%26Separa parâmetros — sem escape, o valor é cortado ali
#%23Inicia o fragmento; tudo depois dele nem chega ao servidor
+%2BEm formulários, + significa espaço — comum quebrar telefone +55
ç%C3%A7Dois bytes em UTF-8, logo dois grupos percentuais
/%2FSeparador de caminho; sem escape vira uma rota diferente

Perguntas frequentes

O que é Base64?
É uma forma de representar qualquer dado binário usando apenas 64 caracteres seguros para texto (A-Z, a-z, 0-9, + e /). Usado em anexos de e-mail, imagens embutidas em HTML/CSS e tokens de API.

Base64 é criptografia?
Não! Base64 é só codificação — qualquer pessoa decodifica em um clique. Nunca use Base64 para 'esconder' senhas ou dados sensíveis.

Por que meu Base64 com acentos vira caracteres estranhos?
Ferramentas antigas usam btoa direto, que quebra com caracteres fora do ASCII. Esta página codifica em UTF-8 primeiro, então ção, á e emoji funcionam corretamente.

Para que serve o sinal de igual no final do Base64?
É o padding. O Base64 trabalha em blocos de 3 bytes que viram 4 caracteres; quando o último bloco fica incompleto, entram um ou dois sinais de igual para fechar o grupo. Por isso todo Base64 padrão tem tamanho múltiplo de 4.

Qual a diferença entre Base64 e Base64URL?
O Base64URL troca os caracteres + e / por - e _, e normalmente remove o padding, porque + e / têm significado especial dentro de uma URL. É a variante usada em tokens JWT e em parâmetros de link.

Base64 aumenta o tamanho do arquivo?
Sim, em cerca de 33%: cada 3 bytes viram 4 caracteres. Uma imagem de 300 KB embutida como data URI ocupa aproximadamente 400 KB no HTML ou CSS. Por isso só vale a pena embutir arquivos pequenos, abaixo de uns 5 KB.

Posso decodificar um token JWT aqui?
Sim, mas parte por parte: separe o token nos trechos delimitados por ponto e cole cada um. O primeiro é o cabeçalho e o segundo é o payload, ambos em Base64URL. O terceiro é a assinatura binária e não vira texto legível.

Quando devo usar URL encode em vez de Base64?
Use URL encode quando o valor vai dentro de um endereço — parâmetros de busca, UTMs, links de WhatsApp com mensagem pronta. Use Base64 quando precisa transportar dados binários ou com quebras de linha por um canal que só aceita texto simples.