Imagen JPEG (.jpg)
ISO/IEC EstándarJPEG es el estándar de compresión con pérdida más utilizado para fotografías digitales e imágenes web. Aprovecha que el ojo humano es más sensible a la luminancia que a la crominancia.
Convertir de PNG a JPG
Convertidor gratuito de PNG a JPG en el navegador. Convierte archivos al instante en tu dispositivo.
Comprimir JPG en línea
Privado - los archivos nunca salen de tu dispositivo
Inspección y metadatos
Los sistemas operativos y analizadores de archivos identifican los archivos de JPG inspeccionando la secuencia de bytes binarios inicial:
Firma de cabecera a nivel de bytes (bytes mágicos)
Los sistemas operativos y analizadores de archivos identifican los archivos de JPG inspeccionando la secuencia de bytes binarios inicial:
FIRMA HEXADECIMAL (DESPLAZAMIENTO 0):
FF D8 FFREPRESENTACIÓN ASCII: ÿØÿ
Estandarización: ISO/IEC 10918-1 / ITU-T T.81
Especificaciones técnicas
| Arquitectura del contenedor | Flujo binario delimitado por marcadores (prefijo 0xFF), dentro de una cabecera JFIF o EXIF |
| Compresión | Transformada discreta del coseno (DCT) con pérdida, seguida de codificación de entropía por longitud de secuencia y Huffman |
| Orden de bytes (Endianness) | Big-endian para las longitudes de marcadores y las tablas de cuantización; Exif puede usar little-endian (II) o big-endian (MM) |
| Espacios de color | sRGB, Adobe RGB, CMYK, Y'CbCr, Grayscale |
| Canales y estructura | 8 bits por canal (color verdadero de 24 bits) o escala de grises de 8 bits |
| Dimensiones máximas | 65,535 x 65,535 píxeles (enteros sin signo de 2 bytes) |
| Transparencia | Ninguna: solo admite imágenes opacas, sin canal alfa. |
| Streaming y progresivo | La codificación JPEG progresiva almacena varias pasadas espectrales, de menor a mayor resolución. |
Matriz de comparación técnica: JPG frente a la competencia
| Atributo técnico | JPG (Actual) | WebP | AVIF | PNG |
|---|---|---|---|---|
| Paradigma de compresión | DCT con pérdida y codificación Huffman | Con pérdida (VP8) y sin pérdida | Con pérdida (AV1) y sin pérdida | Deflate sin pérdida |
| Transparencia alfa | No admite canal alfa (siempre opaco) | Transparencia alfa de 8 bits | Alfa de 8 bits / 10 bits / 12 bits | Alfa completo de 8 o 16 bits |
| Decodificación por hardware | La decodificación JPEG por hardware dedicado varía según el chip y el dispositivo. | Descodificación por hardware generalizada en los SoC modernos | La descodificación por hardware se extiende rápidamente a las GPU modernas | Decodificación rápida basada en CPU |
| Eficiencia de compresión | Buena base para fotografías | Puede ocupar menos que JPEG; el resultado varía según la imagen y el codificador. | Puede ocupar menos que JPEG; el resultado varía según la imagen y el codificador. | Ineficiente para contenido fotográfico |
| Profundidad de bits de color | Estándar de 8 bits por canal (color verdadero de 24 bits) | 8 bits por canal | Gama cromática amplia HDR de 10 y 12 bits | 8 o 16 bits por canal |
Modos de corrupción comunes y guía de recuperación hexadecimal
El visor de imágenes muestra «Fin prematuro del archivo JPEG» o la parte inferior de la foto aparece en gris uniforme o con bandas de colores.
Causa raíz: La descarga o la escritura en el almacenamiento quedó incompleta; faltan el marcador de cierre 0xFFD9 (EOI) y los datos de la imagen.
Recuperación: Añade el marcador 0xFFD9 al final del flujo truncado para que los descodificadores puedan mostrar la parte intacta de la fotografía.
Los colores de la imagen aparecen muy alterados, invertidos o psicodélicos.
Causa raíz: La cabecera del espacio de color CMYK está invertida o el perfil ICC incrustado no es válido.
Recuperación: Convierte el espacio de color de CMYK a sRGB con ImageMagick («magick broken.jpg -colorspace sRGB fixed.jpg»).
El archivo no se abre y aparece el mensaje «Se ha encontrado un marcador no válido».
Causa raíz: Hay bits dañados en las cabeceras de la tabla de cuantización (DQT 0xFFDB) o de la tabla Huffman (DHT 0xFFC4).
Recuperación: Sustituya los marcadores de cabecera dañados por tablas Huffman y de cuantización JFIF estándar de línea base extraídas de un JPEG intacto.
Análisis de seguridad y vectores de ataque al analizador
La seguridad de JPEG implica principalmente fugas de privacidad de metadatos (EXIF) y desbordamientos de búfer en decodificadores C heredados (libjpeg).
Vectores de ataque conocidos
- Divulgación de metadatos sensibles: cabeceras EXIF sin eliminar que contienen coordenadas GPS, números de serie de la cámara y vistas previas en miniatura.
- Lecturas fuera de los límites del búfer y desbordamientos de enteros al analizar archivos con libjpeg antiguo; pueden corromper los marcadores de reinicio (RST) o las secuencias de escaneo progresivo.
- Archivos políglotas que combinan cabeceras JPEG con archivos ejecutables ZIP o RAR.
Mejores prácticas defensivas: Al publicar fotos de usuarios, elimina siempre los metadatos EXIF y de geolocalización GPS para proteger su privacidad. Usa descodificadores modernos con gestión segura de memoria (como image-rs en Rust) o descodificadores WebAssembly aislados.
Orígenes históricos e hitos
Ventajas principales
- La decodificación JPEG está muy extendida en programas y dispositivos de imagen, aunque la compatibilidad varía según el dispositivo y la aplicación.
- Excelente relación de compresión (de 10:1 a 20:1) para tonos continuos fotográficos.
- Archivos ligeros y posibilidad de mostrar la imagen de forma progresiva.
Limitaciones técnicas
- La compresión con pérdida genera artefactos (halos y bloques) alrededor de los bordes nítidos.
- No admite canales de transparencia.
- La calidad se degrada cada vez que el archivo se descomprime, edita y vuelve a guardar.
Curiosidades técnicas interesantes
- La clásica imagen de prueba «Lenna», usada para desarrollar la compresión JPEG, se digitalizó de un número de noviembre de 1972 de la revista Playboy.
- El submuestreo JPEG 4:2:0 reduce a la mitad la resolución de crominancia tanto horizontal como verticalmente, con una pérdida perceptible casi nula.
- Cada JPEG estándar comienza con el marcador 0xFFD8 (Inicio de imagen) y termina con 0xFFD9 (Fin de imagen).
Preguntas técnicas frecuentes
¿Por qué guardar un archivo JPEG varias veces reduce la calidad de la imagen?
JPEG es un formato de compresión con pérdida irreversible. Cada vez que se descomprime y se vuelve a guardar una imagen JPEG, la cuantización DCT descarta detalles espaciales de alta frecuencia y vuelve a aproximar bloques de 8 x 8 píxeles. Esto acumula artefactos de pérdida generacional.
¿Qué es el JPEG progresivo y por qué es útil?
Un JPEG de línea base se descodifica línea a línea, de arriba abajo. El JPEG progresivo codifica los datos de la imagen en varias pasadas espectrales, de modo que los navegadores muestran enseguida una versión borrosa y de baja resolución de toda la imagen, que va ganando nitidez a medida que se descargan los datos.
¿Qué es el submuestreo de croma (4:2:0 vs 4:4:4)?
La retina humana tiene más bastones (sensibles a la luminancia o el brillo) que conos (sensibles al color). JPEG aprovecha esta diferencia: conserva toda la resolución de brillo (Y) y reduce a la mitad, en horizontal y vertical, la resolución del color (Cb, Cr; 4:2:0). Así elimina el 50 % de los datos originales antes de comprimirlos, con una pérdida imperceptible.
¿Puede una imagen JPEG tener un fondo transparente?
No. La especificación estándar de JPEG no contempla un canal alfa. Si necesitas transparencia, convierte la imagen a WebP, AVIF o PNG.
Pares de conversión de JPG relacionados
Convertir imágenes ráster PNG a JPEG reduce su tamaño mediante compresión con pérdida, lo que permite que se carguen más rápido en sitios web y ocupen menos espacio de almacenamiento.
Convertir una imagen JPEG con pérdida a una imagen PNG sin pérdida evita una pérdida adicional de calidad y añade compatibilidad con la transparencia del canal alfa.
Convertir imágenes JPEG a WebP puede reducir el tamaño del archivo con una calidad visual comparable, aunque el resultado depende del contenido y los ajustes de codificación.
Convierte imágenes WebP a JPEG cuando la herramienta de destino requiera JPEG. JPEG no admite la transparencia ni la animación que pueden incluir algunos archivos WebP.
Convertir fotos HEIC a imágenes JPEG cambia el formato de cámara predeterminado de Apple en archivos ráster universalmente legibles para software y navegadores web más antiguos.
Convertir imágenes AVIF a JPEG puede ayudar con software antiguo que no admite el formato AV1 Image File Format.
Convertir una imagen JPEG heredada a formato AVIF reduce significativamente el tamaño del archivo a la vez que preserva una alta fidelidad visual mediante tecnología avanzada de codificación de vídeo moderna.
Convierte composiciones PSD de Adobe Photoshop de gran tamaño en imágenes JPEG compactas y compatibles con prácticamente cualquier dispositivo.