Saltar al contenido principal
🇬🇧 English 🇧🇷 Português 🇩🇪 Deutsch
Convertidor de imágenes Convertidor de vídeo Convertidor de audio Convertidor de documentos
Herramientas Guías Formatos Precios API
Iniciar sesión
Guía

Convertir imagen a Base64: incrustar imágenes en HTML y CSS

PC Por Pablo Cirre

Preguntas frecuentes

Por debajo de 4 KB la incrustación gana siempre: ahorras una petición HTTP y el overhead del 33% es mínimo. Entre 4–10 KB depende del contexto (caché, HTTP/2). Por encima de 10 KB casi siempre es peor incrustar: rompes la cacheabilidad del HTML/CSS y el navegador no puede paralelizar la descarga. Regla práctica: iconos sí, fotos no.

Funciona en clientes web (Gmail web, Outlook web) pero NO en clientes nativos: Outlook desktop bloquea data URIs por defecto desde 2007 por seguridad. Para HTML email lo robusto sigue siendo CID (Content-ID) en multipart/related o imágenes alojadas con URL absoluta. Base64 solo en plantillas que jamás verán Outlook desktop.

Sí, el overhead de Base64 es estructural: cada 3 bytes binarios pasan a 4 caracteres ASCII (+33%). El formato fuente (PNG, JPG, WebP) no cambia eso. Por eso conviene optimizar a WebP/AVIF antes de codificar — el 33% se aplica sobre un binario más pequeño, así que el resultado final es mucho menor.

Decodificar es seguro (es solo cambiar de codificación). El riesgo está en lo que decodificas: un Data URI puede contener <code>image/svg+xml</code> con JavaScript embebido y ejecutar XSS si lo renderizas dentro del DOM. Sanitiza siempre SVG con DOMPurify y nunca uses <code>innerHTML</code> con Base64 sin validar el MIME real.

Usamos cookies y tecnologías similares para personalizar contenido y anuncios, y para analizar el tráfico. Más información sobre cookies.