Codificador de Imagem para Base64
Converta qualquer imagem para string Base64 codificada. Obtenha código pronto para usar em <img> HTML, CSS background-image e Markdown. 100% no cliente — seus arquivos nunca saem do seu navegador.
Solte sua imagem aquiToque para escolher sua imagem
ou
PNG, JPEG, GIF, WebP, SVG, BMP, ICO
Como Codificar Imagem para Base64
Enviar
Solte ou selecione sua imagem. Suporta formatos PNG, JPEG, GIF, WebP, SVG, BMP e ICO.
Codificar
Sua imagem é convertida instantaneamente para Base64 diretamente no seu navegador. Sem upload necessário — a codificação acontece no cliente.
Copiar
Copie o trecho de código pronto para uso em HTML, CSS ou Markdown. Cole diretamente no seu projeto.
O que é Codificação de Imagem Base64?
Base64 é um esquema de codificação binário-para-texto que converte dados binários em uma sequência de caracteres ASCII. Quando aplicado a imagens, ele transforma os dados do arquivo binário bruto em uma representação de texto usando 64 caracteres (A–Z, a–z, 0–9, +, /) mais o caractere de preenchimento =.
A string codificada pode ser incorporada diretamente em HTML, CSS, JavaScript, JSON, XML e outros formatos baseados em texto usando o esquema URI de Dados. Em vez de fazer referência a um arquivo de imagem externo através de uma URL, você inclui todos os dados de imagem inline como uma string data:image/png;base64,.... O navegador decodifica esta string e renderiza a imagem sem fazer uma requisição HTTP adicional.
Codificação Base64 é definida em RFC 4648 e o esquema URI de Dados em RFC 2397. Ambos são amplamente suportados em todos os navegadores modernos, clientes de e-mail e frameworks de desenvolvimento.
Quando Usar Imagens Base64
Imagens codificadas em Base64 são ideais em cenários específicos onde eliminar dependências de arquivo externo é mais importante que tamanho de arquivo:
- Inline em HTML — Incorpore ícones pequenos, logos ou imagens decorativas diretamente em seu HTML. Elimina uma requisição HTTP extra, o que pode melhorar o tempo de carregamento percebido para imagens diminutas (abaixo de 2–5 KB).
- Fundos CSS — Inclua padrões de fundo pequenos, sprites ou ícones de interface diretamente na sua folha de estilo. Sem arquivo externo para gerenciar, e a imagem carrega com o CSS sem uma requisição separada.
- Modelos de e-mail — E-mails HTML não podem contar com hospedagem de imagem externa sendo acessível. Incorporar imagens como URIs de Dados Base64 garante que sejam exibidas mesmo quando o cliente de e-mail do destinatário bloqueia imagens remotas.
- Aplicações em arquivo único — Ao construir arquivos HTML autossuficientes, painéis ou relatórios que devem funcionar offline, Base64 permite agrupar todas as imagens em um arquivo.
- Payloads de API — Ao enviar dados de imagem através de APIs JSON, codificação Base64 converte dados de imagem binária em uma string segura para JSON. Comum em APIs de upload, sistemas de avatar e pipelines de dados.
- Geração dinâmica de imagem — Scripts do lado do servidor que geram imagens em tempo real podem retornar strings Base64 em vez de gerenciar arquivos temporários.
Quando NÃO Usar Imagens Base64
Codificação Base64 nem sempre é a escolha certa. Aqui estão situações onde arquivos de imagem regulares são melhores:
- Imagens grandes (acima de 20–30 KB) — Codificação Base64 adiciona aproximadamente 33% ao tamanho do arquivo. Uma imagem de 100 KB se torna ~133 KB de texto Base64 incorporado no seu HTML ou CSS. Isto aumenta o tamanho do documento, desacelera o parsing e desperdiça banda.
- Cache do navegador — Arquivos de imagem externa podem ser cacheados independentemente pelo navegador. Imagens Base64 incorporadas em HTML são baixadas novamente toda vez que a página carrega. Incorporadas em CSS, elas são cacheadas com a folha de estilo mas não podem ser compartilhadas entre páginas.
- Desempenho de renderização — O navegador deve decodificar a string Base64 de volta para binário antes de renderizar. Para imagens grandes, esta etapa de decodificação adiciona atraso mensurável comparado a renderizar um arquivo binário cacheado diretamente.
- SEO e acessibilidade — Mecanismos de busca não conseguem indexar imagens codificadas em Base64 para busca de imagens. Use tags
<img>próprias com URLs desrcpara imagens que você quer que apareçam em resultados de busca de imagens. - Redes de Distribuição de Conteúdo — CDNs são projetadas para servir ativos estáticos (incluindo imagens) de servidores de borda perto do usuário. Imagens inline em Base64 ignoram completamente benefícios de CDN.
Sobrecarga de Tamanho Base64
Codificação Base64 aumenta o tamanho do arquivo por aproximadamente 33%. Esta é uma propriedade inerente da codificação: cada 3 bytes de dados binários se tornam 4 bytes de texto Base64 (cada caractere Base64 representa 6 bits, mas ocupa 8 bits em texto). A fórmula exata é:
Tamanho Base64 = ceil(tamanho original / 3) × 4
Para referência prática:
- Um ícone de 1 KB se torna ~1,33 KB em Base64 — sobrecarga negligenciável
- Uma miniatura de 10 KB se torna ~13,3 KB — ainda razoável para uso inline
- Uma foto de 100 KB se torna ~133 KB — considere usar um arquivo regular em vez disso
- Uma imagem de 1 MB se torna ~1,33 MB — definitivamente use um arquivo externo
O ponto ideal para imagens Base64 é sob 10–20 KB de tamanho de arquivo original. Nesta faixa, eliminar uma requisição HTTP frequentemente compensa o aumento de tamanho, especialmente em conexões de alta latência.
Perguntas Frequentes
data:image/png;base64,... para arquivos PNG). src de uma tag <img>. Isto elimina a necessidade de hospedagem de imagem externa e evita imagens serem bloqueadas por clientes de e-mail. Porém, alguns clientes de e-mail (notavelmente versões antigas do Outlook) podem não renderizar imagens de URI de Dados. Para compatibilidade máxima, mantenha imagens Base64 pequenas (abaixo de 50 KB de tamanho original) e teste entre clientes de e-mail alvo. data:[tipo-MIME];base64,[dados-codificados]. Para imagens, isto fica como data:image/png;base64,iVBORw0KGgo... — você pode usar esta string em qualquer lugar que uma URL é esperada: em atributos src de <img> HTML, valores url() de CSS ou fontes de imagem JavaScript. URIs de Dados são definidas em RFC 2397.