Skip to main content

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.

100% no Cliente Sem Upload Necessário Codificação Instantânea Pronto para Copiar & Colar

Toque para escolher sua imagem

ou

PNG, JPEG, GIF, WebP, SVG, BMP, ICO

Seus arquivos nunca saem do seu navegador. Toda codificação é feita no cliente — nada é enviado para servidor algum.

Como Codificar Imagem para Base64

1

Enviar

Solte ou selecione sua imagem. Suporta formatos PNG, JPEG, GIF, WebP, SVG, BMP e ICO.

2

Codificar

Sua imagem é convertida instantaneamente para Base64 diretamente no seu navegador. Sem upload necessário — a codificação acontece no cliente.

3

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 de src para 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

Codificação Base64 representa dados binários usando apenas 64 caracteres ASCII (A–Z, a–z, 0–9, +, /). Como cada caractere Base64 codifica 6 bits de dados mas ocupa 8 bits (1 byte) em texto, a saída codificada é aproximadamente 33% maior que o arquivo binário original. Por exemplo, uma imagem PNG de 30 KB se torna aproximadamente 40 KB como uma string Base64. Esta sobrecarga é o trade-off por conseguir incorporar dados binários diretamente em formatos baseados em texto como HTML, CSS e JSON.
Não. Esta ferramenta roda inteiramente no seu navegador usando a API JavaScript FileReader. Seu arquivo de imagem nunca sai do seu dispositivo — toda codificação é realizada no cliente. Nenhum dado é enviado para servidor algum, tornando esta ferramenta completamente privada e segura para imagens sensíveis. Você pode verificar isto desconectando da internet e usando a ferramenta — ela ainda funcionará.
Esta ferramenta suporta todos os formatos de imagem web comuns: PNG, JPEG (JPG), GIF, WebP, SVG, BMP e ICO. O codificador lê os dados binários do arquivo e os converte para Base64 independentemente do conteúdo da imagem. O tipo MIME correto é detectado automaticamente a partir da extensão do arquivo e incluído na URI de Dados (ex., data:image/png;base64,... para arquivos PNG).
Sim, mas com ressalvas. Imagens codificadas em Base64 podem ser incorporadas em e-mails HTML usando o esquema URI de Dados no atributo 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.
Para uso prático, mantenha imagens codificadas em Base64 abaixo de 20–30 KB (tamanho de arquivo original). Imagens maiores aumentam significativamente o tamanho de arquivo HTML/CSS, não podem ser cacheadas separadamente pelos navegadores e desaceleram renderização de página porque o navegador deve decodificar a string inteira antes de exibir. Para imagens maiores que 30 KB, geralmente é melhor usar um arquivo de imagem regular servido via HTTP — o navegador pode cacheá-lo, carregá-lo em paralelo e decodificá-lo mais eficientemente.
Uma URI de Dados (Identificador de Recurso Uniforme) é um esquema que permite incorporar dados de arquivo diretamente em um documento em vez de fazer ligação para um arquivo externo. O formato é: 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.

Ferramentas Relacionadas

Solicitar um recurso

0 / 2000