HEIC naar JPG converteren op Ubuntu in 2 commando's
- Installeer de hulpmiddelen:
sudo apt install libheif-examples - Converteer een bestand:
heif-convert -q 92 photo.heic photo.jpg
Voor een hele map zet je het tweede commando in een lus (zie Batchconversie hieronder). Op Fedora heet het pakket libheif-tools.
heif-convert (libheif) — het snelste native hulpmiddel
heif-convert is een command-line hulpmiddel uit het libheif-project — de referentie-implementatie van het HEIF/HEIC-formaat. Het decodeert HEIC-bestanden native, zonder afhankelijk te zijn van ImageMagick-delegates of externe codecs. CleverUtils.com gebruikt hetzelfde hulpmiddel op zijn servers: HEIC naar JPG loopt via heif-convert op kwaliteit 92, en ImageMagick wordt alleen ingezet als een afbeelding bewerkt moet worden, bijvoorbeeld bij het wijzigen van het formaat.
Installatie
Installeer de libheif-hulpmiddelen voor jouw platform:
# 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
Verifieer de installatie:
heif-convert --version
Basisconversie
Converteer een enkel bestand naar JPG op kwaliteit 92:
heif-convert input.heic output.jpg -q 92
De -q-vlag stelt de JPEG-kwaliteit in (1–100). Kwaliteit 92 is het optimale punt — visueel identiek aan het HEIC-origineel terwijl de bestandsgrootte redelijk blijft.
Batchconversie
Converteer elk HEIC-bestand in de huidige directory:
for f in *.heic *.HEIC; do
[ -e "$f" ] || continue
heif-convert "$f" "${f%.*}.jpg" -q 92
done
De beveiliging [ -e "$f" ] || continue behandelt het geval dat geen enkel bestand aan een glob-patroon voldoet (bijvoorbeeld wanneer er geen .HEIC-bestanden met hoofdletters bestaan).
Nuttige vlaggen
| Vlag | Beschrijving |
|---|---|
-q <1-100> | JPEG-uitvoerkwaliteit. De standaard verschilt per build; specificeer altijd expliciet. |
--with-exif | Schrijft het EXIF-blok daarnaast naar een apart .exif-bestand. JPG-uitvoer bevat de EXIF-gegevens ook zonder deze vlag al. |
--with-aux | Slaat ook hulpafbeeldingen, zoals dieptekaarten, als aparte bestanden op. |
-C <value> | Stelt de chroma-upsamplingmethode in: nearest-neighbor, bilinear. |
Tip: huidige versies van heif-convert kopiëren het EXIF-blok (GPS, camera, datum) en het kleurprofiel standaard in de JPG. We hebben dit op onze eigen server gecontroleerd met een testbestand zoals een iPhone het maakt.
ImageMagick — het Zwitserse zakmes
ImageMagick is de meest geïnstalleerde beeldverwerkings-toolkit op Linux-servers. Als je systeem het al heeft, heb je mogelijk niets anders nodig — recente versies bevatten libheif als delegate voor HEIC-decodering. CleverUtils.com gebruikt ImageMagick alleen als een afbeelding extra verwerking nodig heeft, zoals formaat wijzigen of roteren.
Installatie
# Ubuntu / Debian (with HEIC delegate)
sudo apt install imagemagick libheif-dev
# Fedora
sudo dnf install ImageMagick libheif-devel
# macOS
brew install imagemagick
Controleer of de HEIC-delegate beschikbaar is:
magick identify -list format | grep -i heic
Als HEIC in de uitvoer verschijnt, kan ImageMagick je bestanden direct lezen.
Conversie van één bestand
magick convert input.heic -quality 92 output.jpg
Of met ImageMagick 7+, de kortere vorm:
magick input.heic -quality 92 output.jpg
Batchconversie
for f in *.heic *.HEIC; do
[ -e "$f" ] || continue
magick "$f" -quality 92 "${f%.*}.jpg"
done
Geavanceerde opties
Met ImageMagick kun je in hetzelfde commando formaat wijzigen, metadata verwijderen of de kleurruimte aanpassen:
# 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 — voor video-georiënteerde workflows
FFmpeg is in de eerste plaats een videogereedschap, maar kan HEIC-bestanden decoderen als het met HEVC-ondersteuning is gecompileerd. Dit is handig als FFmpeg al deel uitmaakt van je pipeline en je geen extra tools wilt installeren.
Installatie
# Ubuntu / Debian
sudo apt install ffmpeg
# Fedora
sudo dnf install ffmpeg-free
# macOS
brew install ffmpeg
Conversie
ffmpeg -i input.heic output.jpg
Om de JPEG-kwaliteit in te stellen (FFmpeg gebruikt een schaal van 2–31, waarbij 2 het beste is):
ffmpeg -i input.heic -q:v 2 output.jpg
Batchconversie
for f in *.heic *.HEIC; do
[ -e "$f" ] || continue
ffmpeg -i "$f" -q:v 2 "${f%.*}.jpg" -y
done
De -y-vlag overschrijft bestaande uitvoerbestanden zonder te vragen.
Let op: de HEIC-ondersteuning van FFmpeg hangt af van hoe het is gecompileerd. Sommige Linux-distributiepakketten (bijv. ffmpeg-free op Fedora) missen HEVC-decodering vanwege patentkwesties. Als je een decoderfout krijgt, gebruik dan heif-convert of ImageMagick.
Python — pillow-heif + Pillow
Voor ontwikkelaars die HEIC-conversie nodig hebben binnen een Python-applicatie of -script voegt de bibliotheek pillow-heif HEIC-ondersteuning toe aan Pillow (PIL). Dit is handig om conversie te integreren in datapijplijnen, webbackends of automatiseringsscripts.
Installatie
pip install pillow-heif Pillow
Conversie van één bestand
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)
Batchconversiescript
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}")
EXIF-gegevens behouden
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)
De parameter exif geeft de onbewerkte EXIF-bytes door aan de JPG-uitvoer en bewaart camera-instellingen, GPS-coördinaten en tijdstempels.
macOS Terminal — sips (ingebouwd)
macOS bevat standaard sips (Scriptable Image Processing System). Het ondersteunt HEIC native omdat macOS de HEVC-codec meelevert. Geen installatie vereist.
Conversie van één bestand
sips -s format jpeg input.heic --out output.jpg
Batchconversie
mkdir -p converted
for f in *.heic *.HEIC; do
[ -e "$f" ] || continue
sips -s format jpeg "$f" --out "converted/${f%.*}.jpg"
done
Kanttekening: in onze test behield sips bij het converteren van HEIC naar JPEG de EXIF-gegevens (camera, datum, GPS) en het Display P3-profiel. Het behoudt de oriëntatietag in plaats van de pixels te roteren.
PowerShell (Windows) — ImageMagick-lus
Op Windows biedt ImageMagick de meest betrouwbare command-line optie. Na installatie kun je PowerShell gebruiken voor batchconversie:
Installatie
- Download het Windows-installatieprogramma van
imagemagick.org/script/download.php(kies «Win64 dynamic»). - Voer het installatieprogramma uit en vink «Add application directory to your system path» aan.
- Open een nieuw PowerShell-venster en verifieer:
magick --version
Enkel bestand
magick convert photo.heic -quality 92 photo.jpg
Batchconversie
Get-ChildItem *.heic | ForEach-Object {
magick convert $_.FullName -quality 92 ($_.DirectoryName + "\" + $_.BaseName + ".jpg")
}
Dit converteert elk .heic-bestand in de huidige map naar JPG op kwaliteit 92. Oorspronkelijke bestanden blijven onaangeroerd.
Vergelijking van hulpmiddelen
| Hulpmiddel | Platforms | Batch | Kwaliteit ctrl | EXIF | Snelheid* |
|---|---|---|---|---|---|
| heif-convert | Linux, macOS | Ja | -q 1-100 | Standaard | ~0,3 s / bestand |
| ImageMagick | Linux, macOS, Win | Ja | -quality | Standaard | ~0,5 s / bestand |
| FFmpeg | Linux, macOS, Win | Ja | -q:v 2-31 | Nee | ~0,6 s / bestand |
| Python | Linux, macOS, Win | Ja | quality= | Handmatig | ~0,8 s / bestand |
| sips | alleen macOS | Ja | Beperkt | Behouden | ~0,4 s / bestand |
| PowerShell | Windows | Ja | -quality | Standaard | ~0,5 s / bestand |
*Indicatieve tijden voor een iPhone 12 MP-foto (4032 × 3024) op moderne hardware. Werkelijke snelheid varieert met CPU, schijf-I/O en afbeeldingscomplexiteit.
Kwaliteitsinstellingen uitgelegd
Verschillende hulpmiddelen gebruiken verschillende kwaliteitsschalen. Zo krijg je gelijkwaardige uitvoer tussen hulpmiddelen:
| Doelkwaliteit | heif-convert / IM | FFmpeg (-q:v) | Python (Pillow) |
|---|---|---|---|
| Maximaal | -q 100 |
-q:v 2 |
quality=100 |
| Optimaal (CleverUtils) | -q 92 |
-q:v 3 |
quality=92 |
| Goed | -q 85 |
-q:v 5 |
quality=85 |
| Web-geoptimaliseerd | -q 75 |
-q:v 8 |
quality=75 |
Waarom kwaliteit 92? Dit is de instelling die CleverUtils.com in productie gebruikt. Bij 92 is de geconverteerde JPG onder normale kijkomstandigheden visueel identiek aan het HEIC-origineel. Hoger gaan maakt bestanden merkbaar groter met weinig zichtbare winst. Onder 85 worden compressie-artefacten zichtbaar in luchtverlopen en fijne texturen.
Geen zin in de command line?
Als je liever geen hulpmiddelen installeert, delegates configureert en shell-loops schrijft — de converterwidget bovenaan deze pagina doet hetzelfde in je browser. Upload een HEIC-bestand en ontvang binnen enkele seconden een JPG. CleverUtils.com draait heif-convert op zijn servers op kwaliteit 92, dus het resultaat is gelijk aan dat van de eerste methode in dit artikel.
HEIC-bestanden openen en bekijken op Linux
- Afbeeldingsviewers (Eye of GNOME, gThumb): installeer het pakket
heif-gdk-pixbuf, zodat viewers op basis van GTK HEIC kunnen openen. - GIMP: versie 2.10.2 en hoger opent HEIC-bestanden rechtstreeks.
- Miniaturen in de bestandsbeheerder: het pakket
heif-thumbnailervoegt HEIC-miniaturen toe. - Geen installatie toegestaan: converteer het bestand met de converter hierboven en open de JPG.