JPEG XL (JXL): El Formato de Imagen de Nueva Generación
¿Qué es JPEG XL?
JPEG XL (extensión .jxl) es un estándar de codificación de imágenes abierto y libre de royalties desarrollado por el Joint Photographic Experts Group — el mismo organismo que creó el JPEG original en 1992. Estandarizado como ISO/IEC 18181 entre 2021 y 2022, JPEG XL fue diseñado desde cero para ser un sucesor universal tanto de JPEG (para fotografías) como de PNG (para contenido sin pérdida y con transparencia), compitiendo a la vez con formatos modernos como WebP, AVIF y HEIC.
Sus dos propiedades definitorias:
- Retranscodificación JPEG sin pérdida: Un JPEG existente puede retranscodificarse sin pérdida a JXL y reducirse aproximadamente un 20% en tamaño, recuperando después los bytes JPEG originales bit a bit. Ningún otro formato ofrece esto.
- Compresión de última generación: A calidad equivalente a JPEG, las imágenes JXL son típicamente un 30–60% más pequeñas; a calidad equivalente a PNG sin pérdida, son un 15–35% más pequeñas.
Arquitectura Técnica
Codificación Modular
JXL utiliza un sofisticado sistema de predicción modular (modo VarDCT para compresión con pérdida, modo Modular para sin pérdida) como motor de codificación central.
Modo VarDCT (con pérdida):
- Tamaños de bloque adaptativos de 8×8 a 256×256 (frente a los 8×8 fijos de JPEG)
- Cuantización adaptativa que preserva bordes con multiplicadores de Lagrange adaptativos
- Espacio de color XYB (perceptualmente uniforme, derivado de las respuestas de los conos LMS) que permite dedicar más bits a donde el ojo humano es más sensible
- Predicción de parches, síntesis de ruido y renderizado de splines para contenido sintético
- Decodificación progresiva: previsualización de baja resolución desde los primeros bytes, refinada conforme llegan más datos
Modo Modular (sin pérdida y casi sin pérdida):
- Predictor de árbol MA (Meta-Adaptativo) usando la estructura local de la imagen
- Compatible con todas las profundidades de bit: arte lineal de 1 bit hasta HDR float de 32 bits
- Paleta delta para codificación eficiente de gráficos e interfaces de usuario
Profundidad de Bit y Color
JXL gestiona de forma nativa:
- 1 a 32 bits por canal — binario, 8 bits, 10 bits, 12 bits, 16 bits, float de 32 bits
- Hasta 4.099 canales — imágenes espectrales de amplia gama, capas de renderizado multipase
- HDR y amplia gama de color: soporte completo para Rec. 2020, Display P3, Pro Photo RGB y perfiles ICC personalizados
- Transparencia alfa: soporte completo, incluyendo alfa premultiplicado y alfa de 16 bits
Animación
JXL admite animación multifotograma con:
- Temporización por fotograma con precisión de milisegundos
- Modos de fusión (reemplazar, composición alfa, multiplicar, etc.)
- Reutilización de fotogramas / fotogramas delta para contenido animado eficiente
- Regiones de recorte por fotograma (almacena solo los píxeles modificados)
Esto posiciona a JXL como un sustituto directo de PNG animado (APNG) y GIF con compresión muy superior.
Retranscodificación JPEG: La Característica Diferencial
Ningún otro formato moderno puede afirmar esto: alimenta un archivo .jpg al codificador cjxl en modo "retranscodificación JPEG sin pérdida" y obtienes un archivo .jxl que:
- Es ~20% más pequeño que el JPEG original
- Puede decodificarse de vuelta al JPEG original exacto (mismos bytes, mismo EXIF, mismo submuestreo de crominancia) usando
djxl --jpeg
# Retranscodificación JPEG → JXL sin pérdida (almacena los coeficientes DCT originales)
cjxl foto.jpg foto.jxl --lossless_jpeg=1
# Restaurar el JPEG original bit a bit
djxl foto.jxl restaurado.jpg --jpeg
# Recodificación con pérdida para máxima compresión
cjxl foto.jpg foto.jxl -q 85 # calidad 0–100 (escala similar a JPEG)
# PNG sin pérdida → JXL
cjxl imagen.png imagen.jxl -q 100
Comparativa de Compresión
Tamaño de archivo típico a calidad visualmente equivalente (vs. JPEG original a Q75):
| Formato | Ratio de tamaño | Notas |
|---|---|---|
| JPEG (original) | 100% | Referencia |
| WebP con pérdida | ~70% | Sin progresivo, profundidad de bit limitada |
| AVIF | ~60–65% | Codificación lenta, sin retranscodificación JPEG |
| JPEG XL | ~50–60% | Progresivo, retranscodificación JPEG, HDR |
| HEIC | ~55–65% | Con patentes, centrado en Apple |
Estado de Soporte en Navegadores
JXL ha tenido un camino de adopción accidentado en navegadores:
- Chrome: Añadido en modo experimental en 2021, eliminado en Chrome 110 (2023) pendiente de finalización de la especificación. En 2025, el equipo de Chromium ha indicado planes para añadir soporte de nuevo.
- Firefox: Compatible desde Firefox 118 (2023) tras activar el indicador
image.jxl.enabled; activo por defecto en Nightly. - Safari: Compatible desde Safari 17.0+ (macOS Sonoma, iOS 17) — soporte completo en producción. Esto convierte a JXL en el formato nativo en dispositivos Apple.
- Edge: Sin soporte nativo; sigue a Chromium.
Para la entrega de imágenes en la web hoy: sirve JXL a los usuarios de Safari y AVIF/WebP a los de Chrome/Firefox detectando la cabecera Accept: image/jxl.
Herramientas de Línea de Comandos
La implementación de referencia es libjxl:
# Retranscodificación JPEG → JXL sin pérdida
cjxl foto.jpg foto.jxl --lossless_jpeg=1
# PNG → JXL sin pérdida
cjxl diagrama.png diagrama.jxl --lossless
# Con nivel de esfuerzo (1=rápido, 9=lento+más pequeño)
cjxl foto.jpg foto.jxl -q 85 -e 7
# Decodificar a PNG
djxl foto.jxl foto.png
# Recuperar el JPEG original
djxl foto.jxl foto.jpg --jpeg
# Ver metadatos
jxlinfo foto.jxl
ImageMagick (7.1+), libvips y FFmpeg (compilaciones recientes) también leen y escriben JXL.
Casos de Uso Donde JXL Destaca
- Archivos fotográficos: retranscodificación JPEG sin pérdida — archiva millones de JPEGs existentes con un 20% menos de almacenamiento, sin pérdida de calidad, con recuperación total del JPEG
- Fotografía HDR: imágenes de 10/12/16 bits HDR en Rec. 2020 o Display P3 con perfiles ICC correctos
- Impresión profesional: canales float de 32 bits, amplia gama, perfiles compatibles con CMYK
- Contenido animado: mejor que APNG y WebP animado para animación de alta calidad
- Entrega progresiva: previsualización de baja calidad visible tras ~1% de los bytes; refinada progresivamente
- Imágenes científicas: imágenes espectrales multicanal, imágenes médicas, imágenes de satélite
Consejos Prácticos
- Usa calidad 85–90 para fotografía web (la escala de calidad JXL no es idéntica a JPEG — calibra visualmente)
- Nivel de esfuerzo 7 (
-e 7) ofrece la mejor relación tamaño/velocidad para producción;-e 9para archivo - Incrusta siempre perfiles ICC para contenido HDR/amplia gama; los navegadores los usan para renderizado correcto
- Para entrega web hoy: detecta
Accept: image/jxlen las cabeceras de solicitud y sirve JXL a Safari, AVIF/WebP a otros - La codificación progresiva está activada por defecto para calidad < 100
- La retranscodificación JPEG es el caso de uso inmediato ganador para grandes archivos JPEG incluso antes de que el soporte en navegadores sea universal
JPEG XL combina retranscodificación JPEG sin pérdida, compresión líder en su clase, soporte HDR real y entrega progresiva, convirtiéndolo en el formato de imagen técnicamente más ambicioso jamás estandarizado.
Conversiones relacionadas
Lo más habitual al trabajar con imágenes son estas direcciones de conversión: