Convertir HEIC en JPG sous Ubuntu en 2 commandes
- Installez les outils :
sudo apt install libheif-examples - Convertissez un fichier :
heif-convert -q 92 photo.heic photo.jpg
Pour un dossier entier, placez la seconde commande dans une boucle (voir Conversion par lots ci-dessous). Sous Fedora, le paquet s'appelle libheif-tools.
heif-convert (libheif) — l'outil natif le plus rapide
heif-convert est un utilitaire en ligne de commande du projet libheif — l'implémentation de référence du format HEIF/HEIC. Il décode les fichiers HEIC nativement sans dépendre des delegates ImageMagick ni de codecs externes. CleverUtils.com utilise le même outil sur ses serveurs : la conversion HEIC vers JPG passe par heif-convert en qualité 92, et ImageMagick n'intervient que lorsqu'une image doit être modifiée, par exemple redimensionnée.
Installation
Installez les outils libheif pour votre plateforme :
# 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
Vérifiez l'installation :
heif-convert --version
Conversion de base
Convertir un fichier unique en JPG à qualité 92 :
heif-convert input.heic output.jpg -q 92
L'indicateur -q définit la qualité JPEG (1–100). La qualité 92 est le point idéal — visuellement identique à l'original HEIC tout en gardant une taille de fichier raisonnable.
Conversion par lots
Convertir chaque fichier HEIC du répertoire courant :
for f in *.heic *.HEIC; do
[ -e "$f" ] || continue
heif-convert "$f" "${f%.*}.jpg" -q 92
done
La protection [ -e "$f" ] || continue gère le cas où aucun fichier ne correspond à un motif glob (par exemple, aucun fichier .HEIC en majuscules n'existe).
Indicateurs utiles
| Indicateur | Description |
|---|---|
-q <1-100> | Qualité de sortie JPEG. La valeur par défaut varie selon la build ; spécifiez-la toujours explicitement. |
--with-exif | Écrit en plus le bloc EXIF dans un fichier .exif séparé. La sortie JPG contient déjà les données EXIF sans cet indicateur. |
--with-aux | Enregistre aussi les images auxiliaires, comme les cartes de profondeur, dans des fichiers séparés. |
-C <value> | Définit la méthode de suréchantillonnage chroma : nearest-neighbor, bilinear. |
Astuce : les versions actuelles de heif-convert copient par défaut le bloc EXIF (GPS, appareil, date) et le profil de couleur dans le JPG. Nous l'avons vérifié sur notre propre serveur avec un fichier de test de type iPhone.
ImageMagick — le couteau suisse
ImageMagick est la boîte à outils de traitement d'images la plus largement installée sur les serveurs Linux. Si votre système l'a déjà, vous n'aurez peut-être besoin de rien d'autre — les versions récentes incluent libheif comme delegate pour le décodage HEIC. CleverUtils.com n'utilise ImageMagick que lorsqu'une image nécessite un traitement supplémentaire, comme un redimensionnement ou une rotation.
Installation
# Ubuntu / Debian (with HEIC delegate)
sudo apt install imagemagick libheif-dev
# Fedora
sudo dnf install ImageMagick libheif-devel
# macOS
brew install imagemagick
Vérifiez que le delegate HEIC est disponible :
magick identify -list format | grep -i heic
Si HEIC apparaît dans la sortie, ImageMagick peut lire vos fichiers directement.
Conversion d'un fichier unique
magick convert input.heic -quality 92 output.jpg
Ou avec ImageMagick 7+, la forme plus courte :
magick input.heic -quality 92 output.jpg
Conversion par lots
for f in *.heic *.HEIC; do
[ -e "$f" ] || continue
magick "$f" -quality 92 "${f%.*}.jpg"
done
Options avancées
ImageMagick vous permet de redimensionner, supprimer les métadonnées ou ajuster l'espace colorimétrique dans la même commande :
# 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 — pour les workflows orientés vidéo
FFmpeg est avant tout un outil vidéo, mais il peut décoder les fichiers HEIC s'il a été compilé avec le support HEVC. C'est pratique si FFmpeg fait déjà partie de votre pipeline et que vous voulez éviter d'installer d'autres outils.
Installation
# Ubuntu / Debian
sudo apt install ffmpeg
# Fedora
sudo dnf install ffmpeg-free
# macOS
brew install ffmpeg
Conversion
ffmpeg -i input.heic output.jpg
Pour définir la qualité JPEG (FFmpeg utilise une échelle de 2–31, où 2 est le meilleur) :
ffmpeg -i input.heic -q:v 2 output.jpg
Conversion par lots
for f in *.heic *.HEIC; do
[ -e "$f" ] || continue
ffmpeg -i "$f" -q:v 2 "${f%.*}.jpg" -y
done
L'indicateur -y écrase les fichiers de sortie existants sans demander confirmation.
Remarque : la prise en charge HEIC de FFmpeg dépend de sa compilation. Certains paquets de distribution Linux (par exemple ffmpeg-free sur Fedora) peuvent manquer du décodage HEVC en raison de problèmes de brevets. Si vous obtenez une erreur de décodeur, utilisez plutôt heif-convert ou ImageMagick.
Python — pillow-heif + Pillow
Pour les développeurs qui ont besoin de convertir HEIC à l'intérieur d'une application ou d'un script Python, la bibliothèque pillow-heif ajoute le support HEIC à Pillow (PIL). C'est utile pour intégrer la conversion dans des pipelines de données, des backends web ou des scripts d'automatisation.
Installation
pip install pillow-heif Pillow
Conversion d'un fichier unique
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 conversion par lots
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}")
Préservation des données EXIF
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)
Le paramètre exif transmet les octets EXIF bruts à la sortie JPG, préservant les réglages de l'appareil, les coordonnées GPS et les horodatages.
Terminal macOS — sips (intégré)
macOS inclut sips (Scriptable Image Processing System) par défaut. Il prend en charge HEIC nativement car macOS embarque le codec HEVC. Aucune installation requise.
Conversion d'un fichier unique
sips -s format jpeg input.heic --out output.jpg
Conversion par lots
mkdir -p converted
for f in *.heic *.HEIC; do
[ -e "$f" ] || continue
sips -s format jpeg "$f" --out "converted/${f%.*}.jpg"
done
Remarque : lors de notre test, sips a conservé les données EXIF (appareil, date, GPS) et le profil Display P3 en convertissant le HEIC en JPEG. Il conserve la balise d'orientation au lieu de faire pivoter les pixels.
PowerShell (Windows) — boucle ImageMagick
Sous Windows, ImageMagick offre l'option en ligne de commande la plus fiable. Une fois installé, vous pouvez utiliser PowerShell pour convertir par lots :
Installation
- Téléchargez l'installeur Windows sur
imagemagick.org/script/download.php(choisissez « Win64 dynamic »). - Lancez l'installeur et cochez « Add application directory to your system path ».
- Ouvrez une nouvelle fenêtre PowerShell et vérifiez :
magick --version
Fichier unique
magick convert photo.heic -quality 92 photo.jpg
Conversion par lots
Get-ChildItem *.heic | ForEach-Object {
magick convert $_.FullName -quality 92 ($_.DirectoryName + "\" + $_.BaseName + ".jpg")
}
Cela convertit chaque fichier .heic du dossier courant en JPG à qualité 92. Les fichiers originaux restent intacts.
Comparaison des outils
| Outil | Plateformes | Lots | Ctrl qualité | EXIF | Vitesse* |
|---|---|---|---|---|---|
| heif-convert | Linux, macOS | Oui | -q 1-100 | Par défaut | ~0,3 s / fichier |
| ImageMagick | Linux, macOS, Win | Oui | -quality | Par défaut | ~0,5 s / fichier |
| FFmpeg | Linux, macOS, Win | Oui | -q:v 2-31 | Non | ~0,6 s / fichier |
| Python | Linux, macOS, Win | Oui | quality= | Manuel | ~0,8 s / fichier |
| sips | macOS uniquement | Oui | Limité | Conservées | ~0,4 s / fichier |
| PowerShell | Windows | Oui | -quality | Par défaut | ~0,5 s / fichier |
*Temps approximatifs pour une photo iPhone 12 MP (4032 × 3024) sur du matériel moderne. La vitesse réelle varie selon le CPU, l'E/S disque et la complexité de l'image.
Réglages de qualité expliqués
Chaque outil utilise une échelle de qualité différente. Voici comment obtenir un rendu équivalent d'un outil à l'autre :
| Qualité cible | heif-convert / IM | FFmpeg (-q:v) | Python (Pillow) |
|---|---|---|---|
| Maximum | -q 100 |
-q:v 2 |
quality=100 |
| Optimal (CleverUtils) | -q 92 |
-q:v 3 |
quality=92 |
| Bon | -q 85 |
-q:v 5 |
quality=85 |
| Optimisé pour le web | -q 75 |
-q:v 8 |
quality=75 |
Pourquoi la qualité 92 ? C'est le réglage utilisé par CleverUtils.com en production. À 92, le JPG converti est visuellement identique à l'original HEIC dans des conditions de visualisation normales. Monter plus haut alourdit nettement les fichiers pour un gain visible minime. En dessous de 85, les artefacts de compression deviennent visibles dans les dégradés de ciel et les textures fines.
Pas envie de la ligne de commande ?
Si vous préférez éviter l'installation d'outils, la configuration de delegates et l'écriture de boucles shell — le widget de conversion en haut de cette page fait la même chose dans votre navigateur. Envoyez un fichier HEIC, récupérez un JPG en quelques secondes. CleverUtils.com exécute heif-convert sur ses serveurs en qualité 92 : le résultat est donc identique à celui de la première méthode de cet article.
Ouvrir et afficher des fichiers HEIC sous Linux
- Visionneuses d'images (Eye of GNOME, gThumb) : installez le paquet
heif-gdk-pixbufpour que les visionneuses basées sur GTK puissent ouvrir les HEIC. - GIMP : les versions 2.10.2 et ultérieures ouvrent directement les fichiers HEIC.
- Miniatures du gestionnaire de fichiers : le paquet
heif-thumbnailerajoute les miniatures HEIC. - Installation impossible : convertissez le fichier avec le convertisseur ci-dessus et ouvrez le JPG.