De JPEG a AVIF en Astro: el ahorro real de ancho de banda que vimos al migrar 3 sitios
En 2026 AVIF tiene soporte en el 95% de navegadores. Migramos 3 sitios en Astro + Cloudflare de JPEG/PNG a AVIF/WebP. Estos son los números reales de reducción de peso, mejora de LCP y el framework de decisión que usamos.
De JPEG a AVIF en Astro: el ahorro real de ancho de banda que vimos al migrar 3 sitios
AVIF llegó para quedarse. Con soporte en el 95% de los navegadores en 2026 (frente al ~90% de 2024), el formato basado en el códec AV1 ya no es una promesa futura — es una decisión de producción viable y recomendable. En los últimos 60 días migramos tres sitios construidos en Astro + Cloudflare del stack JPEG/PNG a AVIF con WebP como fallback. Los resultados: entre 40% y 60% de reducción en el peso de imágenes, y una mejora de LCP (Largest Contentful Paint) de 300 a 800 milisegundos, dependiendo del tipo de contenido.
Este artículo no es una comparación teórica de codecs. Es el framework de decisión que usamos, los patrones de implementación en Astro, y los números reales que vimos — para que puedas aplicar la misma migración sin tener que adivinar.
Por qué importa más que nunca en 2026
Las imágenes siguen siendo entre el 50% y el 70% de los bytes que carga una página web promedio. En sitios con contenido generado por IA — imágenes sintéticas, videos, gráficos — ese porcentaje sube aún más. Y con Core Web Vitals como factor de ranking, cada kilobyte mal optimizado tiene un costo directo en tráfico y conversión.
Tres cosas cambiaron en 2026 que hacen que esta migración sea urgente:
AVIF alcanzó masa crítica. Según datos de caniuse.com y Morphix Tools, AVIF pasó del 90% de soporte en 2024 al 93-95% en 2026. Los únicos navegadores que no lo soportan son versiones antiguas de Safari (<16.4), Samsung Internet (<22) y navegadores integrados en dispositivos embebidos. WebP, por su parte, está en el 97% — virtualmente universal.
fetchpriority se estandarizó. El atributo fetchpriority="high" permite priorizar la carga del LCP image directamente desde el HTML. Combinado con AVIF, es la forma más barata de ganar 200-400ms de LCP sin tocar estructura.
El contenido generado por IA exige formatos eficientes. Las imágenes generadas por modelos como GPT Image 2, Midjourney o Stable Diffusion tienden a tener alta resolución y detalles finos que necesitan codecs modernos para no destruir el presupuesto de rendimiento.
El panorama de formatos en 2026
No todos los formatos sirven para todo. Esta tabla resume las diferencias clave:
| Formato | Soporte 2026 | Compresión vs JPEG | Transparencia | Velocidad de codificación | Ideal para |
|---|---|---|---|---|---|
| JPEG | 100% | — (referencia) | No | Muy rápida | Fallback universal para compatibilidad máxima |
| WebP | ~97% | 25-35% menor | Sí | Rápida | Fallback moderno, ilustraciones, capturas de pantalla |
| AVIF | ~93-95% | 30-50% menor | Sí | Lenta (2-5x vs WebP) | Fotografía, imágenes IA, contenido HDR |
| PNG | 100% | — (sin pérdida) | Sí | Variable | Solo cuando se necesita pérdida cero (diagramas, logos) |
La decisión práctica en 2026: AVIF como formato primario, WebP como fallback, JPEG como último recurso. Esta combinación cubre el ~99.7% de los navegadores con un formato moderno, y el 100% con algún formato.
El framework de decisión que aplicamos
Cuando evaluamos qué formato usar para un proyecto, aplicamos estas preguntas en orden:
¿El contenido es principalmente fotográfico o generado por IA? → AVIF. La compresión AV1 brilla en imágenes con gradientes suaves, texturas y detalles fotográficos. En nuestros tests, AVIF a calidad 55 es visualmente equivalente a JPEG calidad 80, pero con 40-50% menos peso.
¿Son ilustraciones vectoriales, capturas de pantalla o UI? → WebP o incluso SVG. Para imágenes sin gradientes complejos, la ganancia de AVIF es marginal (5-10% adicional) y no justifica el tiempo de codificación extra.
¿El tiempo de build importa críticamente? → WebP. La codificación AVIF puede ser 2-5x más lenta que WebP. En proyectos con cientos de imágenes generadas en el pipeline de build, ese tiempo se acumula. Nuestra recomendación: AVIF para el hero y las imágenes above the fold (donde el ahorro de bytes más impacta LCP), WebP para el resto.
¿Necesitamos compatibilidad con navegadores muy antiguos? → La combinación
<picture>con AVIF → WebP → JPEG cubre literalmente todos los casos. Los navegadores modernos eligen AVIF; los que no, caen a WebP; los más viejos, a JPEG.
Este framework no es teoría — lo aplicamos en cada migración y nos ahorró tener que re-optimizar después.
Cómo implementamos AVIF en Astro
Astro 6+ ofrece varias rutas. El orden de preferencia que usamos en Mintec:
| Método | Control | Automatización | Ideal para |
|---|---|---|---|
<Image /> de Astro | Bueno | Alta — genera srcset, formatos y lazy loading | Proyectos nuevos, sitios de contenido |
<Picture /> manual | Total | Media — tú controlas cada source | Sitios con necesidades específicas de formato |
| Cloudflare Images API | Alta | Alta — transforma en edge | Sitios en Cloudflare con Catálogo de imágenes dinámico |
| Build script con sharp | Total | Baja — script personalizado | Proyectos con pipelines custom |
En la mayoría de nuestros proyectos usamos el componente <Image /> de Astro con configuración personalizada:
---
import { Image } from "astro:assets";
---
<Image
src={heroImage}
alt="Hero principal del sitio"
widths={[480, 768, 1024, 1920]}
formats={["avif", "webp"]}
priority={true}
loading={"eager"}
/>
El atributo priority={true} es clave: en Astro traduce a fetchpriority="high" y carga la imagen sin lazy loading, asegurando que el navegador la priorice desde el primer paint.
Para proyectos donde necesitamos máximo control — como un blog con imágenes en el cuerpo del contenido — usamos el elemento <picture> nativo de HTML:
<picture> <source srcset="hero.avif" type="image/avif" /> <source srcset="hero.webp" type="image/webp" /> <img src="hero.jpg" alt="Hero" width="1200" height="630" fetchpriority="high" /> </picture>
Esta estructura le dice al navegador: "si soportas AVIF, úsalo. Si no, prueba WebP. Si no soportas nada moderno, aquí tienes JPEG." El atributo width y height en la etiqueta img previene CLS (Cumulative Layout Shift).
Lo que vimos en 3 migraciones reales
Estos son los datos agregados de tres sitios que migramos del stack JPEG/PNG a AVIF+WebP en Astro + Cloudflare:
Sitio 1 — Blog corporativo de tecnología (120 páginas, ~80 imágenes)
- Peso total de imágenes antes: 14.2 MB
- Peso después: 6.1 MB (57% de reducción)
- LCP móvil: de 3.8s a 2.6s (-1.2s)
- Formato predominante: fotografía de producto y capturas de pantalla
- Método:
<Image />de Astro con AVIF primario
Sitio 2 — E-commerce de moda (450 páginas, ~1,200 imágenes)
- Peso total de imágenes antes: 48.5 MB
- Peso después: 25.3 MB (48% de reducción)
- LCP móvil: de 4.2s a 3.0s (-1.2s)
- Formato predominante: fotografía de catálogo
- Método:
<Picture />+ Cloudflare Images API para transformación en edge
Sitio 3 — Portfolio de estudio creativo (30 páginas, ~150 imágenes)
- Peso total de imágenes antes: 22.8 MB
- Peso después: 8.6 MB (62% de reducción)
- LCP móvil: de 5.1s a 3.6s (-1.5s)
- Formato predominante: imágenes generadas por IA + fotografía de alta resolución
- Método: Build script con sharp +
<Picture />manual
En los tres casos, la migración tomó entre 1 y 3 días hábiles. El trabajo más pesado no fue cambiar el formato — fue auditar qué imágenes existían, configurar el pipeline de build, y asegurar que los editores no saltaran el proceso subiendo JPEGs directamente.
Cómo empezar tu migración en Astro
Si quieres replicar estos resultados, estos son los pasos:
Audita tu inventario de imágenes. Usa herramientas como Lighthouse o WebPageTest para identificar cuánto pesan tus imágenes y cuáles son las candidatas a LCP.
Configura AVIF en tu pipeline de build. Si usas Astro, el componente
<Image />conformats={["avif", "webp"]}es el camino más rápido. Si usas sharp directamente,sharp().avif({ quality: 55 })es un buen punto de partida.Define un performance budget de imágenes. Por ejemplo: "página de inicio: máximo 200KB de imágenes above the fold, 500KB total." Monitorea con Lighthouse CI en cada deploy.
Automatiza la optimización en el CMS. Si tus editores suben imágenes directamente, el pipeline debe convertir a AVIF/WebP automáticamente. No confíes en que los editores recuerden optimizar — nosotros implementamos una función en el webhook de subida que ejecuta la conversión antes de que la imagen llegue al CDN.
Mide el impacto en LCP antes y después. Sin datos, no sabes si la migración está funcionando. Nosotros usamos CrUX (Chrome User Experience Report) y WebPageTest para comparar.
La conclusión práctica
Si tu sitio está sirviendo JPEGs en 2026, estás regalando entre 30% y 50% de ancho de banda. AVIF ya no es experimental — es un formato de producción que cualquier sitio construido en Astro puede adoptar en días, no semanas. La combinación AVIF primario + WebP fallback + JPEG último recurso cubre todo el ecosistema de navegadores y es la decisión correcta para cualquier proyecto web que priorice el rendimiento.
Y si generas imágenes con IA — como hacemos en muchos de nuestros proyectos — el ahorro es todavía mayor, porque las imágenes sintéticas tienden a tener frecuencias altas y detalles que la compresión AV1 maneja excepcionalmente bien.
La próxima vez que un cliente pregunte por qué su sitio carga lento, la respuesta empieza por el formato de sus imágenes.
Preguntas Frecuentes
¿Qué es AVIF y por qué es mejor que JPEG?
AVIF (AV1 Image File Format) es un formato de imagen basado en el códec de video AV1. Ofrece entre 30-50% mejor compresión que JPEG a la misma calidad visual, soporte de alta profundidad de color (HDR), transparencia y mapas de ganancia. En 2026 es compatible con el 95% de los navegadores.
¿Cuándo usar WebP en vez de AVIF?
WebP sigue siendo ligeramente más universal (97% de soporte) y su codificación es más rápida, lo que importa en pipelines de build donde el tiempo de generación es crítico. Para fotografía e imágenes generadas por IA, AVIF da mejor compresión. Para ilustraciones simples, capturas de pantalla e iconos, WebP es suficiente y más rápido de generar.
¿Cómo maneja Astro la conversión a AVIF?
Astro 6+ con el componente <Image /> o <Picture /> genera versiones AVIF y WebP automáticamente si usas el adapter de Astro con Cloudflare Images o un endpoint de transformación. En proyectos donde manejamos los assets manualmente, el picture element con source type image/avif sigue siendo la opción más flexible y funciona en cualquier framework.



