Codificação

Data URI / Imagem Base64

Codificação de uma imagem em Data URI (data:image/…;base64,…) para inserção em CSS/HTML, e decodificação de um Data URI ou Base64 bruto de volta para um arquivo — tudo diretamente no navegador.

A pré-visualização da imagem aparecerá aqui.

A Data URI embeds a file's contents (usually an image) directly into HTML or CSS as a Base64 string, instead of linking to a separate file. This removes an extra network request at the cost of a larger document.

How to use it

Common uses

Things to keep in mind

Base64 encoding grows the data by about 33% — for large images, a Data URI is usually a worse choice than a separate file with browser caching.

A Data URI isn't cached separately from the document it's embedded in — it gets re-downloaded along with the page every time.

Artigo sobre esta ferramenta: Data URI: quando incorporar imagens diretamente no código

Perguntas frequentes

Quando devo usar um Data URI em vez de um arquivo de imagem normal?

Data URIs são úteis para imagens pequenas e usadas com frequência, como ícones ou logos, quando você quer evitar uma requisição HTTP extra — por exemplo, incorporando uma imagem direto no CSS ou HTML inline.

Existem desvantagens em usar Data URIs para imagens?

Sim. Elas aumentam o tamanho do arquivo (cerca de 33% maior que a imagem crua, por causa do Base64), não são armazenadas em cache separadamente como uma URL de imagem real, e muitos navegadores e clientes de e-mail impõem limites práticos de tamanho.

Esta ferramenta envia minha imagem para algum lugar?

Não. A imagem é lida e codificada inteiramente no seu navegador — nunca é enviada a um servidor.

É possível usar Data URI para SVG sem Base64?

Sim. O SVG é texto (XML), então em vez de Base64 basta o percent-encoding dos caracteres especiais: data:image/svg+xml,%3Csvg...%3E. Essa variante é mais compacta e continua editável diretamente num arquivo CSS.

É possível inserir um Data URI num atributo href ou background-image?

Sim, o Data URI funciona em qualquer lugar onde se espera uma referência a um recurso — em src, href, background-image no CSS e até em @import. A sintaxe e os limites de tamanho são os mesmos que para a tag img.

Artigos: Codificação

Base64: para que serve a codificação e como funciona

Como o Base64 transforma dados binários em texto ASCII e quando isso é realmente necessário.

Base32: em que difere do Base64 e quando é mais prático

O alfabeto do Base32, que não diferencia maiúsculas de minúsculas, e os casos em que é mais prático que o Base64.

URL Encode/Decode: o percent-encoding em links

Como caracteres especiais em endereços e parâmetros se tornam sequências %XX.

HTML Entities: como exibir caracteres especiais com segurança

Por que os caracteres < > & precisam ser escapados e como isso evita que a marcação quebre.

JWT: a estrutura do token e o que significa "decodificar" um JWT

O header, o payload e a signature de um JWT, e por que decodificar não é o mesmo que verificar a assinatura.

Unicode Escape: o que significam as sequências \uXXXX

De onde vêm sequências como \u0041 em JSON e strings JS, e o que significam.

ROT13 e a cifra de César: substituição simples de caracteres

Por que um deslocamento de 13 letras torna o ROT13 autoinverso, e por que ainda se usa hoje.

Punycode: como os domínios internacionalizados funcionam no DNS

Como um domínio com caracteres não latinos se torna uma forma ASCII com o prefixo xn--.

Código Morse: como o texto se transforma em pontos e traços

O princípio de codificar letras em pontos e traços, e onde o Morse ainda é usado hoje.

Gzip + Base64: comprimir dados para transmitir como texto

Por que dados binários comprimidos também são codificados em Base64 antes de irem para um campo de texto.

XML Entities: escapar caracteres em documentos XML

As cinco entidades XML obrigatórias sem as quais o documento quebra ao ser analisado.