Saltar al contenido

Convertir imagen a Base64

Convierte imágenes PNG, JPG, SVG y otras a una data URL en Base64 y cópiala como HTML, CSS o Markdown. Y al revés: convierte Base64 en imagen y descárgala.

Resultado

Añade una imagen para obtener su data URL y el código HTML, CSS y Markdown listo para pegar.

Los archivos se procesan solo en este dispositivo y nunca se suben a un servidor. Cómo funciona

Una imagen representada por una vista parcial de su URL de datos PNG Base64

Cómo se usa

En la pestaña «Imagen → Base64», arrastra una imagen, haz clic para elegir una o pega una imagen copiada con Ctrl+V (⌘+V en Mac). Se admiten PNG, JPEG, GIF, WebP, SVG, AVIF, ICO y BMP de hasta 10 MB. Junto a la vista previa verás el formato, el ancho × alto en píxeles, el tamaño original y el tamaño en Base64 con el aumento justo debajo; más abajo aparecen cinco formatos de salida, uno por línea:

  • Data URL: data:image/png;base64,…, el valor que pones directamente en src o url()
  • Base64 sin prefijo: solo los datos, sin el prefijo data:…;base64, (para API o JSON)
  • HTML: <img src="…" alt="">
  • CSS: background-image: url("…");
  • Markdown: ![](…)

Las cadenas largas se acortan por el medio en pantalla, pero el botón de copiar siempre copia la cadena completa. El atributo alt del HTML queda vacío: rellénalo con un texto que describa la imagen.

Para detectar el formato se mira primero la firma del inicio del archivo (bytes mágicos), antes que el nombre. Un archivo con extensión .jpg que en realidad es PNG se indica correctamente como image/png.

La vista previa de SVG usa un elemento img, por lo que no se ejecutan los scripts incluidos en él.

El formato de una data URL

Una data URL sigue el formato definido en el RFC 2397: data:[<tipo de medio>][;base64],<datos>. El tipo de medio (por ejemplo, image/png) indica al navegador qué clase de datos son, y ;base64 señala que los datos están codificados en Base64. Sin ;base64, los datos se leen como texto con codificación URL (codificación por porcentaje). Los datos binarios, como las imágenes, suelen insertarse en Base64; los datos de texto, como SVG, también pueden insertarse con codificación URL.

Cada carácter de Base64 solo lleva 6 bits, así que cada 3 bytes se representan con 4 de 64 caracteres posibles (RFC 4648) y el resultado ocupa alrededor de un 33 % más que el original. Por ejemplo, si añades un PNG de 10 KB (10.240 bytes), obtienes 13.656 caracteres, unos 13,3 KB, y en «Aumento» aparece +33,4 %. «Tamaño en Base64» no cuenta el prefijo data:image/png;base64, de 22 caracteres, por eso el número de caracteres junto a la línea «Data URL» es algo mayor: 13.678. En archivos muy pequeños, el relleno = final puede subir un poco el aumento.

Cuándo conviene insertar la imagen y cuándo no

Si insertas una imagen en HTML o CSS como data URL, el navegador no tiene que pedir un archivo de imagen aparte. Esto encaja con iconos y logotipos pequeños de pocos KB, y con documentos HTML o ejemplos de código que deben funcionar en un único archivo.

Con fotos grandes, en cambio, no sale a cuenta:

  • El tamaño crece alrededor de un 33 %. El porcentaje es casi el mismo en cualquier archivo, pero lo que realmente se añade no es lo mismo. Un icono de 2 KB (2.048 bytes) pasa a 2.732 caracteres y solo suma 684 bytes, mientras que una foto de 2 MB (2.097.152 bytes) pasa a 2.796.204 caracteres y suma unos 683 KB. Después de añadir la imagen, compara «Tamaño original» con «Tamaño en Base64» y decide si tu archivo HTML o CSS puede crecer esa cantidad.
  • La imagen va dentro del archivo HTML o CSS, así que no se almacena en caché por separado. Si varias páginas usan la misma imagen, se descarga de nuevo con cada una.
  • Un archivo CSS más grande puede retrasar el renderizado hasta que llega la hoja de estilos completa.

En SVG, la codificación URL es más corta

SVG es un formato de imagen basado en texto, así que no necesita Base64. Base64 aumenta el tamaño alrededor de un 33 %, mientras que la codificación URL solo sustituye unos pocos caracteres problemáticos, por lo que suele ser más corta. Al añadir un archivo SVG puedes elegir «Codificación URL» en «Codificación del SVG», y se muestran los tamaños de ambas opciones uno al lado del otro. La herramienta junta los saltos de línea y los espacios seguidos en un solo espacio, cambia las comillas dobles por simples (si el archivo ya tiene comillas simples, codifica las dobles como %22) y solo codifica caracteres como <, >, # y %. El resultado se puede poner directamente en un atributo HTML o en un url("…") de CSS. Con «Codificación URL», la línea «Base64 sin prefijo» desaparece y la línea de Markdown sale con la forma ![](<…>) por los espacios que quedan en el resultado. Un SVG que no esté en UTF-8 solo admite Base64.

Volver a convertir Base64 en imagen

Pega una data URL o una cadena Base64 sin prefijo en la pestaña «Base64 → Imagen» y aparecerán una vista previa y un botón de descarga. Se ignoran los espacios y saltos de línea, y también se aceptan cadenas con caracteres seguros para URL (-, _) o sin el relleno =. El formato se detecta automáticamente por los bytes mágicos. Por ejemplo, PNG empieza por 89 50 4E 47, JPEG por FF D8 FF y GIF por GIF87a o GIF89a. Si el formato indicado en la data URL no coincide con los datos reales, la imagen se muestra en su formato real y se te avisa. Si no se puede detectar el formato, elígelo tú en «Formato de imagen».

Fuentes

Preguntas frecuentes

¿Puedo convertir varias imágenes a la vez?

No, solo una cada vez. Si arrastras varios archivos juntos, solo se convierte el primero y los demás se omiten sin ningún aviso. Al añadir otra imagen, el resultado anterior se sustituye por el nuevo, así que copia las líneas que necesites antes de añadir la siguiente. Lo que hayas elegido en «Codificación del SVG» también vuelve a «Base64» cada vez que añades una imagen, aunque la nueva también sea un SVG.

¿También se puede volver a convertir en imagen una data URL de SVG con codificación URL?

Sí. La pestaña «Base64 → Imagen» también acepta una data URL sin ;base64, como data:image/svg+xml,%3Csvg…, y la convierte de nuevo en un archivo SVG. Eso sí, una cadena creada con la «Codificación URL» de esta herramienta no vuelve carácter a carácter: los saltos de línea y los espacios seguidos que se juntaron en un solo espacio, y las comillas dobles que se cambiaron por simples, no se recuperan. Si la codificación URL está dañada, por ejemplo un % al que no le siguen dos dígitos hexadecimales, aparece el error de data URL no válida.

¿Pierde calidad una imagen al convertirla a Base64?

No. Esta herramienta no vuelve a dibujar ni a comprimir la imagen: escribe los bytes del archivo tal cual como caracteres Base64. Por eso se conservan la transparencia, la animación de los GIF y los metadatos del archivo, y al decodificar la cadena en la pestaña «Base64 → Imagen» obtienes un archivo idéntico al original, byte a byte. Eso sí, el nombre original del archivo no forma parte del Base64, así que la descarga se llama image con la extensión de su formato, por ejemplo image.png. Elegir otro formato en «Formato de imagen» no convierte los datos a ese formato.

¿Qué hago si al pegar Base64 aparece un error?

Depende del mensaje. El error de carácter no válido muestra el primer carácter que estorba. Junto a la cadena se ha copiado algo que no es Base64, como unas comillas o unos puntos suspensivos (…); bórralo. El error de longitud o relleno (=) aparece cuando la cadena se ha cortado a medias; vuelve a copiarla de principio a fin. El error de data URL no válida aparece cuando el texto empieza por data: pero falta la coma (,) delante de los datos. Si solo ves el aviso de que tu navegador no pudo mostrar la imagen, aún puedes guardar el archivo con el botón de descarga y abrirlo en otro programa.

¿Puedo usar una imagen data URL en un correo HTML?

La compatibilidad con imágenes en Base64 varía según el cliente de correo. Según Can I email, que recopila la compatibilidad de los clientes de correo (consultado en septiembre de 2026), Outlook para Windows 2007–2019 no muestra GIF en Base64, GMX y WEB.DE solo admiten PNG, y algunos servicios de webmail como Orange y LaPoste.net eliminan el atributo src, de modo que la imagen no se ve. En correos que envías a mucha gente, como boletines, prueba antes en los clientes que más usan tus destinatarios.

Última actualización: