Conversor de imagem para Base64
O conversor de imagem para Base64 transforma um arquivo de imagem em data URI, pronto para colar em CSS, HTML ou JSON, e faz o caminho inverso, reconstruindo a imagem a partir do Base64.
Quando embutir imagem compensa
Ícone pequeno, logo, imagem de placeholder e sprite minúsculo compensam: você elimina uma requisição HTTP e o conteúdo chega junto com o CSS. Imagem grande não compensa: ela cresce cerca de 33 por cento ao ser codificada, não é cacheada separadamente e bloqueia a renderização da folha de estilo enquanto baixa.
A regra prática comum é embutir abaixo de alguns kilobytes e servir como arquivo acima disso. Com HTTP/2 e HTTP/3 o argumento de economizar requisição perdeu força, então o limite hoje é mais baixo do que era.
Para ícone, o melhor dos dois mundos costuma ser SVG inline: menor que o PNG equivalente, escalável e recolorível por CSS, sem passar por Base64.
Data URI
O resultado sai no formato definido pela RFC 2397: a palavra data, o tipo MIME, a marca base64 e o conteúdo. É o formato que src de img e url de CSS aceitam diretamente, documentado também na MDN.
Na decodificação, o tipo é inferido do próprio conteúdo, então mesmo um Base64 cru sem cabeçalho costuma abrir corretamente, porque o navegador faz sniff dos primeiros bytes.
Nada do que você cola aqui sai do seu navegador. O processamento é todo local, em JavaScript, sem envio para servidor, sem log e sem armazenamento. A imagem não é enviada para nenhum servidor.
Perguntas frequentes
Minha imagem é enviada para algum servidor?
Não. O arquivo é lido pelo navegador e convertido localmente. Nada é transmitido, o que importa quando a imagem é um documento ou uma captura de tela com dado sensível.
Vale a pena embutir imagem em Base64?
Vale para arquivo pequeno, onde economizar uma requisição compensa. Para imagem grande é contraproducente: aumenta o tamanho em cerca de um terço e impede o cache separado do arquivo.
Quais formatos funcionam?
Qualquer formato que o navegador abra, incluindo PNG, JPEG, WebP, GIF e SVG. A conversão é sobre os bytes do arquivo, independente do formato.
Data URI funciona em e-mail?
Em geral não. Boa parte dos clientes de e-mail, Outlook e Gmail entre eles, bloqueia imagem em data URI. Para e-mail, hospede a imagem e use URL absoluta.
Referências
- RFC 2397 (The data URL scheme)A especificação do formato data, com a sintaxe do tipo MIME e da marca base64.
- MDN: data URLsUso prático em HTML e CSS, com as limitações de cada navegador.