Codificación

Data URI / Imagen Base64

Codificación de una imagen en Data URI (data:image/…;base64,…) para insertarla en CSS/HTML, y decodificación de un Data URI o Base64 sin procesar de vuelta a un archivo — todo directamente en el navegador.

La vista previa de la imagen aparecerá aquí.

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.

Artículo sobre esta herramienta: Data URI: cuándo incrustar imágenes directamente en el código

Preguntas frecuentes

¿Cuándo conviene usar un Data URI en vez de un archivo aparte?

Es útil para imágenes pequeñas (iconos, texturas) que quieres incluir directamente en CSS o HTML sin una petición HTTP extra. No sustituye a los archivos normales para imágenes grandes, porque aumenta el tamaño de la página y no se cachea como un archivo independiente.

¿Hay un límite de tamaño para los Data URI?

Sí, aunque el estándar no fija un límite estricto, en la práctica navegadores y clientes de correo imponen límites de tamaño (algunos correos truncan Data URI muy largos), por lo que se recomienda reservarlos para imágenes pequeñas.

¿Se sube mi imagen a un servidor para generar el Data URI?

No, la lectura del archivo y la codificación a Base64 ocurren completamente en tu navegador; la imagen nunca se envía a ningún servidor.

¿Se puede usar un Data URI para SVG sin Base64?

Sí. SVG es texto (XML), así que en vez de Base64 basta con percent-encoding de los caracteres especiales: data:image/svg+xml,%3Csvg...%3E. Este enfoque es más compacto y sigue siendo editable directamente en un archivo CSS.

¿Se puede insertar un Data URI en un atributo href o en background-image?

Sí, el Data URI funciona en cualquier lugar donde se espere una referencia a un recurso: en src, href, background-image en CSS e incluso en @import. La sintaxis y los límites de tamaño son los mismos que para la etiqueta img.

Artículos: Codificación

Base64: para qué sirve la codificación y cómo funciona

Cómo Base64 convierte datos binarios en texto ASCII y cuándo esto realmente hace falta.

Base32: en qué se diferencia de Base64 y cuándo es más práctico

El alfabeto de Base32, que no distingue mayúsculas, y los casos donde resulta más práctico que Base64.

URL Encode/Decode: el percent-encoding en los enlaces

Cómo los caracteres especiales en direcciones y parámetros se convierten en secuencias %XX.

HTML Entities: cómo mostrar caracteres especiales de forma segura

Por qué hay que escapar los caracteres < > & y cómo esto evita que el marcado se rompa.

JWT: la estructura del token y qué significa "decodificar" un JWT

El header, el payload y la signature de un token JWT, y por qué decodificar no es lo mismo que verificar la firma.

Unicode Escape: qué significan las secuencias \uXXXX

De dónde salen las secuencias tipo \u0041 en JSON y cadenas JS, y qué significan.

ROT13 y el cifrado César: sustitución simple de caracteres

Por qué un desplazamiento de 13 letras hace que ROT13 sea su propio inverso, y por qué se sigue usando hoy.

Punycode: cómo funcionan los dominios internacionalizados en el DNS

Cómo un dominio con caracteres no latinos se convierte en una representación ASCII con el prefijo xn--.

Código Morse: cómo el texto se convierte en puntos y rayas

El principio de codificar letras con puntos y rayas, y dónde se usa el código Morse hoy en día.

Gzip + Base64: comprimir datos para transmitirlos como texto

Por qué los datos binarios comprimidos también se codifican en Base64 antes de meterlos en un campo de texto.

XML Entities: escapar caracteres en documentos XML

Las cinco entidades XML obligatorias sin las cuales el documento se rompe al analizarlo.