Convertir HEIC a JPG desde la línea de comandos

Una guía para desarrolladores sobre cómo convertir imágenes HEIC a JPG desde la terminal. Cubre heif-convert, ImageMagick, FFmpeg, Python, sips de macOS y PowerShell — con instrucciones de instalación, scripts de procesamiento por lotes y una comparación de cada herramienta.

Convertir HEIC a JPG

Sube tu archivo HEIC — obtén un JPG al instante

HEIC JPG

Toca para elegir tu archivo

o

Supports M4A, WAV, FLAC, OGG, AAC, WMA, AIFF, OPUS • Max 100 MB

Subida cifrada vía HTTPS. Los archivos se eliminan automáticamente en 2 horas.

heif-convert (libheif) — la herramienta nativa más rápida

heif-convert es una utilidad de línea de comandos del proyecto libheif — la implementación de referencia del formato HEIF/HEIC. Decodifica archivos HEIC de forma nativa sin depender de delegates de ImageMagick ni de códecs externos. Es la misma biblioteca que utiliza CleverUtils.com en sus servidores backend para el procesamiento HEIC, junto con ImageMagick para el post-procesamiento.

Instalación

Instala las herramientas libheif para tu plataforma:

Bash
# Ubuntu / Debian
sudo apt install libheif-examples

# Fedora / RHEL
sudo dnf install libheif-tools

# macOS (Homebrew)
brew install libheif

# Arch Linux
sudo pacman -S libheif

Verifica la instalación:

Bash
heif-convert --version

Conversión básica

Convierte un único archivo a JPG con calidad 92:

Bash
heif-convert input.heic output.jpg -q 92

La opción -q establece la calidad JPEG (1–100). La calidad 92 es el punto ideal — visualmente idéntica al original HEIC manteniendo un tamaño de archivo razonable.

Conversión por lotes

Convierte cada archivo HEIC del directorio actual:

Bash
for f in *.heic *.HEIC; do
    [ -e "$f" ] || continue
    heif-convert "$f" "${f%.*}.jpg" -q 92
done

La protección [ -e "$f" ] || continue maneja el caso en que ningún archivo coincide con uno de los patrones glob (por ejemplo, no existen archivos .HEIC en mayúsculas).

Opciones útiles

Opción Descripción
-q <1-100>Calidad de salida JPEG. El valor por defecto varía según la build; especifícalo siempre explícitamente.
--with-exifConserva los metadatos EXIF (modelo de cámara, GPS, fecha/hora) en el archivo de salida.
-SExtrae todas las imágenes de secuencias multi-imagen (por ejemplo Live Photos, ráfagas).
-C <value>Establece el método de submuestreo de croma: nearest-neighbor, bilinear.

Consejo: si tus archivos HEIC provienen de un iPhone y necesitas las coordenadas GPS o los ajustes de cámara en la salida JPG, incluye siempre --with-exif. Sin ello, algunas builds de heif-convert descartarán los metadatos silenciosamente.

ImageMagick — la navaja suiza

ImageMagick es el conjunto de herramientas de procesamiento de imágenes más instalado en servidores Linux. Si tu sistema ya lo tiene, puede que no necesites nada más — las versiones recientes incluyen libheif como delegate para decodificar HEIC. CleverUtils.com usa ImageMagick para el post-procesamiento (redimensionado, ajuste de calidad, gestión de metadatos).

Instalación

Bash
# Ubuntu / Debian (with HEIC delegate)
sudo apt install imagemagick libheif-dev

# Fedora
sudo dnf install ImageMagick libheif-devel

# macOS
brew install imagemagick

Comprueba que el delegate HEIC está disponible:

Bash
magick identify -list format | grep -i heic

Si HEIC aparece en la salida, ImageMagick puede leer tus archivos directamente.

Conversión de un solo archivo

Bash
magick convert input.heic -quality 92 output.jpg

O con ImageMagick 7+, la forma más corta:

Bash
magick input.heic -quality 92 output.jpg

Conversión por lotes

Bash
for f in *.heic *.HEIC; do
    [ -e "$f" ] || continue
    magick "$f" -quality 92 "${f%.*}.jpg"
done

Opciones avanzadas

ImageMagick te permite redimensionar, eliminar metadatos o ajustar el espacio de color en el mismo comando:

Bash
# Convert and resize to max 2048px on the longest side
magick input.heic -quality 92 -resize 2048x2048\> output.jpg

# Convert and strip all metadata
magick input.heic -quality 92 -strip output.jpg

# Convert with specific colorspace
magick input.heic -quality 92 -colorspace sRGB output.jpg

FFmpeg — para flujos orientados a vídeo

FFmpeg es principalmente una herramienta de vídeo, pero puede decodificar archivos HEIC si se compiló con soporte HEVC. Resulta cómodo si FFmpeg ya forma parte de tu pipeline y quieres evitar instalar herramientas adicionales.

Instalación

Bash
# Ubuntu / Debian
sudo apt install ffmpeg

# Fedora
sudo dnf install ffmpeg-free

# macOS
brew install ffmpeg

Conversión

Bash
ffmpeg -i input.heic output.jpg

Para establecer la calidad JPEG (FFmpeg usa una escala de 2–31, donde 2 es la mejor):

Bash
ffmpeg -i input.heic -q:v 2 output.jpg

Conversión por lotes

Bash
for f in *.heic *.HEIC; do
    [ -e "$f" ] || continue
    ffmpeg -i "$f" -q:v 2 "${f%.*}.jpg" -y
done

La opción -y sobrescribe los archivos de salida existentes sin preguntar.

Nota: el soporte HEIC de FFmpeg depende de cómo se compiló. Algunos paquetes de distribución Linux (por ejemplo ffmpeg-free en Fedora) pueden carecer de decodificación HEVC por motivos de patentes. Si obtienes un error de decodificador, usa heif-convert o ImageMagick en su lugar.

Python — pillow-heif + Pillow

Para desarrolladores que necesitan convertir HEIC dentro de una aplicación o script Python, la biblioteca pillow-heif añade soporte HEIC a Pillow (PIL). Es útil para integrar la conversión en pipelines de datos, backends web o scripts de automatización.

Instalación

Bash
pip install pillow-heif Pillow

Conversión de un solo archivo

Python
from pillow_heif import register_heif_opener
from PIL import Image

register_heif_opener()

img = Image.open("input.heic")
img.save("output.jpg", "JPEG", quality=92)

Script de conversión por lotes

Python
import os
from pathlib import Path
from pillow_heif import register_heif_opener
from PIL import Image

register_heif_opener()

input_dir = Path("./photos")
output_dir = Path("./converted")
output_dir.mkdir(exist_ok=True)

for heic_file in input_dir.glob("*.heic"):
    img = Image.open(heic_file)
    jpg_path = output_dir / f"{heic_file.stem}.jpg"
    img.save(jpg_path, "JPEG", quality=92)
    print(f"Converted: {heic_file.name} -> {jpg_path.name}")

Preservar los datos EXIF

Python
from pillow_heif import register_heif_opener
from PIL import Image

register_heif_opener()

img = Image.open("input.heic")
exif_data = img.info.get("exif", b"")
img.save("output.jpg", "JPEG", quality=92, exif=exif_data)

El parámetro exif pasa los bytes EXIF sin procesar a la salida JPG, conservando ajustes de cámara, coordenadas GPS y marcas de tiempo.

Terminal de macOS — sips (integrado)

macOS incluye sips (Scriptable Image Processing System) de serie. Admite HEIC de forma nativa porque macOS incorpora el códec HEVC. No requiere instalación.

Conversión de un solo archivo

Bash
sips -s format jpeg input.heic --out output.jpg

Conversión por lotes

Bash
mkdir -p converted
for f in *.heic *.HEIC; do
    [ -e "$f" ] || continue
    sips -s format jpeg "$f" --out "converted/${f%.*}.jpg"
done

Advertencia: sips elimina la mayoría de los metadatos EXIF durante la conversión de formato. Si necesitas conservar las coordenadas GPS o los ajustes de cámara, usa heif-convert --with-exif o ImageMagick en macOS en su lugar. Ambos están disponibles vía Homebrew.

PowerShell (Windows) — bucle de ImageMagick

En Windows, ImageMagick ofrece la opción de línea de comandos más fiable. Una vez instalado, puedes usar PowerShell para convertir por lotes:

Instalación

  1. Descarga el instalador de Windows desde imagemagick.org/script/download.php (elige «Win64 dynamic»).
  2. Ejecuta el instalador y marca «Add application directory to your system path».
  3. Abre una nueva ventana de PowerShell y verifica: magick --version

Archivo único

PowerShell
magick convert photo.heic -quality 92 photo.jpg

Conversión por lotes

PowerShell
Get-ChildItem *.heic | ForEach-Object {
    magick convert $_.FullName -quality 92 ($_.DirectoryName + "\" + $_.BaseName + ".jpg")
}

Esto convierte cada archivo .heic de la carpeta actual a JPG con calidad 92. Los archivos originales permanecen intactos.

Comparación de herramientas

Herramienta Plataformas Lotes Ctrl calidad EXIF Velocidad*
heif-convert Linux, macOS -q 1-100 --with-exif ~0,3 s / archivo
ImageMagick Linux, macOS, Win -quality Por defecto ~0,5 s / archivo
FFmpeg Linux, macOS, Win -q:v 2-31 Por defecto ~0,6 s / archivo
Python Linux, macOS, Win quality= Manual ~0,8 s / archivo
sips solo macOS Limitado Elimina la mayoría ~0,4 s / archivo
PowerShell Windows -quality Por defecto ~0,5 s / archivo

*Tiempos aproximados para una foto de iPhone 12 MP (4032 × 3024) en hardware moderno. La velocidad real varía según CPU, E/S de disco y complejidad de la imagen.

Ajustes de calidad explicados

Cada herramienta utiliza una escala de calidad distinta. Así es como obtener resultados equivalentes entre herramientas:

Calidad objetivo heif-convert / IM FFmpeg (-q:v) Python (Pillow)
Máxima -q 100 -q:v 2 quality=100
Óptima (CleverUtils) -q 92 -q:v 3 quality=92
Buena -q 85 -q:v 5 quality=85
Optimizada para web -q 75 -q:v 8 quality=75

¿Por qué calidad 92? Es el ajuste que CleverUtils.com usa en producción. A 92, el JPG convertido es visualmente idéntico al original HEIC en condiciones normales de visualización. Subir más (95+) infla el tamaño del archivo un 30–50 % sin mejora perceptible. Por debajo de 85, los artefactos de compresión se hacen visibles en los degradados del cielo y en las texturas finas.

¿No quieres usar la línea de comandos?

Si prefieres saltarte la instalación de herramientas, la configuración de delegates y los bucles de shell — el widget de conversión al principio de esta página hace lo mismo en tu navegador. Sube un archivo HEIC y recibe un JPG en segundos. CleverUtils.com utiliza heif-convert + ImageMagick en sus servidores — las mismas herramientas tratadas en este artículo, ya configuradas y optimizadas.

¿Listo para convertir?

Sáltate la configuración — convierte HEIC a JPG online en segundos

HEIC JPG

Toca para elegir tu archivo

o

Supports M4A, WAV, FLAC, OGG, AAC, WMA, AIFF, OPUS • Max 100 MB

Preguntas frecuentes

El método más rápido es heif-convert del paquete libheif. Instálalo con sudo apt install libheif-examples en Ubuntu/Debian o sudo dnf install libheif-tools en Fedora, y luego ejecuta: heif-convert input.heic output.jpg -q 92. Decodifica HEIC de forma nativa sin depender de los delegates de ImageMagick, procesando una foto típica de 12 MP en unos 0,3 segundos.

Sí. El comando es simplemente ffmpeg -i input.heic output.jpg. Para obtener la mejor calidad, añade -q:v 2. Sin embargo, el soporte HEIC de FFmpeg depende de cómo se haya compilado — algunos paquetes de distribución carecen de decodificación HEVC debido a restricciones de patentes. Si obtienes un error de decodificador, prueba con heif-convert o ImageMagick, que son más fiables para esta tarea específica.

Usa un bucle de shell con heif-convert: for f in *.heic *.HEIC; do heif-convert "$f" "${f%.*}.jpg" -q 92; done. Esto convierte cada archivo HEIC del directorio actual a JPG con calidad 92. En macOS, también puedes usar el comando integrado sips: for f in *.heic; do sips -s format jpeg "$f" --out "${f%.heic}.jpg"; done. Para Python, utiliza un script con pillow-heif y Path.glob para procesar directorios enteros.

Depende de la herramienta. heif-convert conserva los datos EXIF cuando usas la opción --with-exif. ImageMagick mantiene todos los perfiles de metadatos por defecto salvo que añadas -strip. FFmpeg también conserva los metadatos por defecto. Python con pillow-heif preserva EXIF si pasas el parámetro exif al método de guardado. La excepción es sips en macOS, que elimina la mayoría de los datos EXIF durante la conversión de formato.

Un ajuste de calidad de 92 ofrece un excelente equilibrio entre tamaño de archivo y fidelidad visual — es el que CleverUtils.com usa en producción. A 92, el JPG convertido es visualmente idéntico al original HEIC. Por encima de 95, el tamaño del archivo aumenta un 30–50 % con una mejora visible mínima. Por debajo de 85, los artefactos de compresión se hacen evidentes en áreas detalladas como los degradados del cielo y las texturas finas. Para imágenes optimizadas para web donde el tamaño importa más, la calidad 75 es un límite inferior razonable.

Más guías de HEIC a JPG

Cómo convertir HEIC a JPG en Windows
¿Has recibido fotos de iPhone que Windows se niega a abrir? HEIC es el formato de imagen predeterminado de Apple desd...
Cómo convertir HEIC a JPG en Mac
Tu Mac puede abrir archivos HEIC de forma nativa, pero el resto del mundo sigue usando JPG. Ya sea que necesites envi...
Cómo hacer que el iPhone guarde las fotos como JPG en lugar de HEIC
Una guía completa para cambiar el formato de la cámara de tu iPhone de HEIC a JPG. Aprende a configurar los ajustes d...
Cómo abrir y convertir fotos HEIC en Android
¿Has recibido fotos HEIC de un usuario de iPhone y no puedes abrirlas? Aquí te mostramos cómo convertir HEIC a JPG en...
Convertir HEIC a JPG por lotes — varios archivos, un solo clic
Ya sea que esté migrando una biblioteca de fotos, haciendo copia de seguridad de fotos de vacaciones o moviendo archi...
Convertir HEIC a JPG desde Google Drive & Google Photos
Los servicios de almacenamiento en la nube como Google Photos, Google Drive, iCloud y Dropbox guardan tus fotos del i...
¿Qué es HEIC? Guía completa del formato de fotos de Apple
HEIC es el formato de imagen que tu iPhone usa desde 2017. Genera archivos la mitad de pesados que JPEG con mejor cal...
Por qué las fotos del iPhone son HEIC (y cómo cambiar a JPG)
Desde iOS 11, cada iPhone guarda las fotos como HEIC en lugar de JPEG. Los archivos son más pequeños y de mayor calid...
HEIC vs JPG: ¿Qué formato es mejor?
Apple cambió los iPhone a HEIC en 2017 y nunca miró atrás. Pero el resto del mundo sigue usando JPG. ¿Qué formato pro...
Por qué las fotos HEIC se ven diferentes tras convertirlas
Convertiste una foto de iPhone de HEIC a JPG y los colores se ven mal — deslavados, sobresaturados o sutilmente despl...
Ajustes de calidad HEIC a JPG: Cómo convertir sin perder calidad
La conversión de HEIC a JPG siempre implica una recodificación, lo que significa que se pierden algunos datos. Pero ¿...
Volver al conversor HEIC a JPG

Solicitar una función

0 / 2000