La versión corta
- Para optimizar imágenes para web, exporta cada imagen al tamaño al que se muestra, aproximadamente el doble para pantallas de alta densidad, en lugar de subir el original.
- AVIF y WebP generan archivos mucho más pequeños que JPEG y PNG con una calidad visual parecida, y todos los navegadores actuales admiten WebP.
- Los atributos srcset y sizes permiten al navegador descargar la imagen más pequeña que siga viéndose nítida en cada pantalla.
- Aplica carga diferida a las imágenes bajo el pliegue con loading="lazy", pero carga la imagen principal de cabecera de inmediato con fetchpriority="high", porque suele decidir el Largest Contentful Paint.
- Define siempre width y height en las imágenes para que el navegador reserve el espacio y el diseño no salte mientras cargan.
En esta página
Para optimizar imágenes para web sin pérdida visible, haz cinco cosas: exporta cada imagen al tamaño en píxeles al que se muestra (más o menos el doble para pantallas nítidas), elige un formato moderno como AVIF o WebP, comprime a una calidad moderada y compara a ojo, sirve varios tamaños con srcset y aplica carga diferida a todo lo que esté bajo el pliegue. Esos pasos eliminan la mayoría de los avisos de imágenes en Lighthouse y suelen reducir muchísimo el peso de la página, porque la foto original recién salida de una cámara o de una herramienta de diseño es muchas veces más grande de lo que necesita la pantalla.
Paso 1: exporta al tamaño al que se muestra
Una imagen que se muestra a 800 píxeles de ancho no necesita medir 4.000. Lighthouse marca las imágenes sobredimensionadas porque esos píxeles de más se descargan, se decodifican y se tiran. Mide el ancho máximo con el que aparece la imagen en tu diseño y exporta aproximadamente al doble de ese ancho para móviles y portátiles de alta densidad. Pasar de dos veces rara vez se ve más nítido y siempre cuesta bytes.
Se muestra a
Ancho de exportación
Se muestra a
Ancho de exportación
Se muestra a
Ancho de exportación
Ancho de exportación
Se muestra a
Ancho de exportación
Cabecera web 1920×1080
1920 × 1080
Banner de blog 1200×600
1200 × 600
Vista previa de enlace 1200×630
1200 × 630
Paso 2: elige el formato adecuado
El formato importa más que cualquier control de compresión. AVIF suele dar el archivo más pequeño, WebP se acerca y funciona en todos los navegadores actuales, y JPEG y PNG siguen siendo las alternativas seguras. WebP vs PNG y PNG vs JPG profundizan en cada pareja.
Notas
Notas
Notas
Notas
Notas
linear-gradient(160deg, #0f172a 0%, #1e3a8a 50%, #0ea5e9 100%)Paso 3: comprime y después mira
Los formatos con pérdida tienen un ajuste de calidad, y el valor correcto depende de la imagen. Empieza en torno a 75 u 80 para WebP y en torno a 50 o 60 para AVIF, exporta y compara con el original al 100% de zoom. Bájalo hasta que notes una diferencia y luego sube un paso. Las caras, el texto fino y los degradados necesitan más calidad que los paisajes recargados. Compresión de imágenes explica qué descarta el codificador.
Ya que estás, elimina metadatos como los datos de la cámara y las miniaturas incrustadas. La mayoría de herramientas de exportación lo hacen con una casilla, y quita bytes que nadie ve.
Paso 4: marcado responsive con srcset y sizes
Con varios anchos exportados, deja que elija el navegador. srcset enumera los archivos y sus anchos; sizes le dice al navegador con qué ancho aparecerá la imagen. Así el navegador descarga el archivo más pequeño que sea lo bastante nítido para esa pantalla.
<picture>
<source type="image/avif"
srcset="/img/hero-960.avif 960w, /img/hero-1440.avif 1440w, /img/hero-1920.avif 1920w"
sizes="100vw" />
<source type="image/webp"
srcset="/img/hero-960.webp 960w, /img/hero-1440.webp 1440w, /img/hero-1920.webp 1920w"
sizes="100vw" />
<img src="/img/hero-1920.jpg" alt="Morning light over the harbour"
width="1920" height="1080" fetchpriority="high" decoding="async" />
</picture>Para una imagen dentro de una columna, describe el diseño en sizes, por ejemplo sizes="(min-width: 1024px) 720px, 100vw". Equivocarse con sizes es la razón más común por la que una configuración responsive sigue descargando el archivo grande.
Paso 5: las indicaciones de carga que importan
<!-- Below the fold: let the browser wait -->
<img src="/img/team-720.webp" alt="The team at the spring workshop"
width="720" height="480" loading="lazy" decoding="async" />
<!-- The hero: fetch first, never lazy -->
<img src="/img/hero-1920.webp" alt="Morning light over the harbour"
width="1920" height="1080" fetchpriority="high" />Errores habituales
loading="lazy"en la imagen de cabecera- Sin width ni height, así que la página salta
- Un único archivo enorme para todas las pantallas
- Un JPEG de un logo plano o una captura
- Fondos degradados guardados como imágenes
En su lugar
- La cabecera carga de inmediato con
fetchpriority="high" - Ambos atributos en cada img
srcsetcon tres o cuatro anchos- SVG o PNG para gráficos planos
- Degradados CSS, con grano si hace falta
Estas indicaciones se corresponden directamente con las Core Web Vitals. La imagen de cabecera suele ser el elemento Largest Contentful Paint, que según web.dev debería mostrarse en menos de 2,5 segundos, y la falta de dimensiones es una causa clásica de desplazamientos del diseño. Si tu cabecera es un vídeo en lugar de una imagen, el mismo razonamiento se aplica en vídeos de fondo para webs.
Lista de comprobación antes de publicar
- 1
Mide el hueco
Averigua el ancho máximo con el que se muestra cada imagen en tu diseño.
- 2
Exporta a los tamaños correctos
Entre una y dos veces el ancho del hueco, más versiones pequeñas para móviles.
- 3
Elige el formato
AVIF o WebP para fotos y degradados, SVG para logos, PNG solo cuando gane.
- 4
Comprime a ojo
Baja la calidad hasta que veas un cambio y luego súbela un paso.
- 5
Escribe el marcado
srcset,sizes,width,height,alty carga diferida bajo el pliegue. - 6
Pruébalo
Pasa Lighthouse en una ventana de incógnito y revisa las auditorías de imágenes y el elemento LCP.
Gran parte de esto es más fácil si la imagen se crea desde el principio a su tamaño final. En Gradiently diseñas una vez y Pro adapta el diseño a todos los tamaños en un paso, y luego exporta PNG, JPG o SVG con dimensiones exactas hasta 4K, así que la cabecera, el banner y la imagen Open Graph parten del tamaño con el que se mostrarán.
Preguntas frecuentes
¿Cómo optimizo imágenes para web sin perder calidad?
Exporta al tamaño mostrado, usa AVIF o WebP, baja la calidad solo hasta que notes una diferencia y sirve varios tamaños con srcset. La mayor parte de la pérdida visible viene de comprimir en exceso, no de redimensionar.
¿Cuál es el mejor formato de imagen para webs?
WebP es la opción moderna segura y AVIF suele ser todavía más pequeño. Usa SVG para logos e iconos, y deja JPEG o PNG como alternativas.
¿Debo aplicar carga diferida a todas las imágenes?
No. Aplícala a las imágenes bajo el pliegue, pero carga la imagen principal de cabecera de inmediato, porque retrasarla ralentiza el Largest Contentful Paint.
¿Qué tamaño deben tener las imágenes de una web?
Aproximadamente el doble del ancho al que se muestran, para pantallas nítidas de alta densidad. Una cabecera a ancho completo de 1920 px cubre la mayoría de pantallas.
¿Por qué Lighthouse dice que mis imágenes no tienen el tamaño adecuado?
El archivo tiene más píxeles que el espacio que ocupa en la página. Exporta una versión más pequeña y usa srcset y sizes para que el navegador elija la correcta.
Escrito por Gradiently
El equipo detrás de Gradiently, una herramienta de diseño creada en torno a los Marks: degradados vivos que hacen que todo lo que diseñas parezca tuyo.
Ver nuestro perfil