Afbeeldingen tussen formaten converteren klinkt alsof het simpel zou moeten zijn — gewoon de extensie veranderen, toch? In de praktijk lopen dagelijks duizenden gebruikers tegen ondoorgrondelijke fouten, corrupte outputs en softwarecrashes aan wanneer ze lokaal afbeeldingen proberen te converteren. Ondertussen voeren online tools zoals GuruPDF exact dezelfde conversies in enkele seconden foutloos uit.
Dit artikel duikt diep in de meest voorkomende fouten bij het converteren van afbeeldingen op Windows, macOS en Linux, legt uit waarom ze gebeuren en laat zien hoe je ze volledig kunt vermijden.
De meest voorkomende afbeeldingsformaten (en waarom ze niet altijd goed samengaan)
Voordat we naar de fouten gaan, is het handig om de formaten te begrijpen die de meeste problemen veroorzaken:
| Format | Full Name | Compression | Transparency | Typical Use |
|---|---|---|---|---|
| JPG/JPEG | Joint Photographic Experts Group | Lossy | No | Foto’s, webafbeeldingen |
| PNG | Portable Network Graphics | Lossless | Yes | Screenshots, logo’s, graphics |
| WebP | Web Picture | Both | Yes | Moderne weboptimalisatie |
| HEIC/HEIF | High Efficiency Image Container | Lossy/Lossless | Yes | iPhone/iPad-foto’s (iOS 11+) |
| AVIF | AV1 Image File Format | Lossy/Lossless | Yes | Next-gen webformaat |
| SVG | Scalable Vector Graphics | N/A (vector) | Yes | Pictogrammen, illustraties, logo’s |
| TIFF | Tagged Image File Format | Lossless | Yes | Print, scannen, archiveren |
| BMP | Bitmap | None | No | Verouderd Windows-formaat |
| GIF | Graphics Interchange Format | Lossless | 1-bit | Animaties, eenvoudige graphics |
| EPS | Encapsulated PostScript | N/A (vector) | No | Printdesign, professionele graphics |
| DJVU | DjVu | Lossy | No | Gescannde documenten, boeken |
Het probleem? De meeste besturingssystemen en ingebouwde tools ondersteunen er standaard maar een handvol. Daar beginnen de fouten.
Fout #1: "Windows Photo Viewer Can't Open This Picture" (HEIC/AVIF/WebP)
Foutcodes en meldingen die je kunt zien:
"Windows Photo Viewer can't open this picture because either Photo Viewer
doesn't support this file format, or you don't have the latest updates.""It looks like we don't support this file format."
— Microsoft Photos app"0xc00d5212: This item was encoded in a format that's not supported."Waarom dit gebeurt: Windows 10/11 ondersteunt HEIC (het standaard iPhone-fotoformaat sinds iOS 11) of AVIF niet standaard. Je moet de "HEIF Image Extensions" ($0.99) en "AV1 Video Extensions" installeren via de Microsoft Store. WebP-ondersteuning werd pas toegevoegd in Windows 10 versie 1809 en later.
De lokale fix-poging: Codec packs installeren, viewers van derden gebruiken of command-line tools zoals ImageMagick proberen:
magick convert input.heic output.jpgMaar ImageMagick vereist het installeren van extra delegates (libheif, libde265), wat vaak mislukt met:
convert: delegate failed `"dwebp" -pam "%i" -o "%o"' @ error/delegate.c/InvokeDelegate/1911.convert: no decode delegate for this image format `HEIC' @ error/constitute.c/ReadImage/746.De makkelijke oplossing: Upload je HEIC-, AVIF- of WebP-bestanden naar GuruPDF en converteer ze met één klik naar JPG of PNG — geen codecs, geen installaties, geen fouten.
Fout #2: "No Decode Delegate" — ImageMagick mist codecs
Volledige foutmelding:
convert: no decode delegate for this image format `WEBP' @ error/constitute.c/ReadImage/746.convert: no decode delegate for this image format `SVG' @ error/constitute.c/ReadImage/746.convert: no decode delegate for this image format `EPS' @ error/constitute.c/ReadImage/746.Waarom dit gebeurt: ImageMagick is een van de populairste command-line tools voor afbeeldingen, maar bevat niet voor elk formaat standaard decoders. Elk formaat vereist een “delegate”-bibliotheek:
- WebP vereist
libwebp - HEIC vereist
libheif+libde265 - AVIF vereist
libavif+dav1d - SVG vereist
librsvgof Inkscape - EPS vereist Ghostscript (
gs) - DJVU vereist
djvulibre
Dit installeren op Windows is bijzonder vervelend — je moet vooraf gecompileerde DLL’s downloaden, ze in de juiste map zetten en hopen dat de versies overeenkomen.
Op macOS:
brew install imagemagick --with-librsvg --with-libheif --with-webpMislukt vaak met:
Error: invalid option: --with-librsvgOmdat Homebrew de structuur van formulas heeft aangepast en deze opties zijn verwijderd.
Op Linux (Ubuntu/Debian):
sudo apt install imagemagick libheif-dev libwebp-devKan alsnog mislukken omdat de ImageMagick van het systeem zonder de delegate is gecompileerd. Dan moet je vanaf broncode compileren:
./configure --with-heic=yes --with-webp=yes
make && sudo make installDat kan 10+ minuten duren en kan conflicteren met systeempakketten.
Fout #3: "Not a JPEG File: Starts With 0x89" — verkeerde bestandsextensie
Foutmeldingen:
Not a JPEG file: starts with 0x89 0x50Corrupt JPEG data: premature end of data segmentlibpng error: Not a PNG fileIHDR: CRC errorWaarom dit gebeurt: Iemand heeft een PNG-bestand hernoemd naar .jpg (of andersom). De extensie komt niet overeen met de daadwerkelijke binaire inhoud. De bytes 0x89 0x50 zijn het PNG “magic number” (de eerste bytes van elk PNG-bestand zijn 89 50 4E 47). JPEG-bestanden beginnen met FF D8 FF.
Dit gebeurt verrassend vaak bij:
- Afbeeldingen downloaden van het web (servers zetten soms verkeerde Content-Type headers)
- Bestanden in bulk hernoemen zonder ze echt te converteren
- E-mailclients of messaging-apps die stilletjes extensies aanpassen
Zo identificeer je het echte formaat:
file mysterious-image.jpg
# Output: mysterious-image.jpg: PNG image data, 1920 x 1080, 8-bit/color RGBAOp Windows (PowerShell):
Format-Hex -Path .\image.jpg -Count 4
# If you see 89 50 4E 47, it's actually a PNG
# If you see FF D8 FF, it's a real JPEGHet online voordeel: GuruPDF detecteert automatisch het daadwerkelijke bestandsformaat, ongeacht wat de extensie zegt, en converteert het correct.
Fout #4: Python Pillow (PIL) conversiefouten
Veelvoorkomende foutmeldingen:
PIL.UnidentifiedImageError: cannot identify image file 'photo.heic'OSError: cannot write mode RGBA as JPEGOSError: cannot write mode P as JPEGPIL.Image.DecompressionBombError: Image size (178956970 pixels) exceeds limit of 89478485 pixelsWaarom dit gebeurt: Python’s Pillow-bibliotheek is de standaard voor programmatische afbeeldingsconversie, maar heeft belangrijke beperkingen:
- Geen HEIC-ondersteuning zonder
pillow-heif(aparte installatie die systeembibliotheken vereist) - RGBA naar JPEG faalt omdat JPEG geen transparantie ondersteunt — je moet eerst naar RGB converteren
- Paletmodus (P) naar JPEG vereist conversie naar RGB
- Grote afbeeldingen activeren de decompression-bomb bescherming (een securityfunctie)
Typische workaround-code waar mensen mee worstelen:
from PIL import Image
img = Image.open("photo.png")
# Handle transparency for JPEG output
if img.mode in ('RGBA', 'LA', 'P'):
background = Image.new('RGB', img.size, (255, 255, 255))
if img.mode == 'P':
img = img.convert('RGBA')
background.paste(img, mask=img.split()[-1])
img = background
img.save("photo.jpg", "JPEG", quality=95)Dat is een hoop boilerplate om één afbeelding te converteren. En het werkt nog steeds niet met HEIC, AVIF of WebP zonder extra libraries.
Fout #5: macOS Preview “Could Not Be Exported”-fouten
Foutmeldingen:
"The document 'image.webp' could not be exported as 'image.png'.""The file isn't compatible with QuickLook.""The document could not be opened. The file format is not supported."Waarom dit gebeurt: macOS Preview.app ondersteunt een behoorlijk aantal formaten, maar oudere macOS-versies (vóór Ventura) ondersteunen WebP of AVIF niet standaard. Zelfs op nieuwere versies mislukt converteren tussen bepaalde format-combinaties soms stilletjes of levert het corrupte output op.
Veelvoorkomende macOS sips-commandfouten:
sips -s format jpeg input.webp --out output.jpg
# Error: Unable to render input.webp as JPEG
# Error 4: no such operationsips -s format png input.svg --out output.png
# Error: Unable to render SVGDe tool sips (Scriptable Image Processing System) is ingebouwd in macOS, maar ondersteunt slechts een beperkt aantal formaten: JPEG, TIFF, PNG, GIF, BMP en PICT.
Fout #6: FFmpeg afbeeldingsconversie mislukt
Veelvoorkomende fouten:
[image2 @ 0x...] Could not open file : output.webp
av_interleaved_write_frame(): Invalid argumentAvi/ASF stream 0 is not an image stream. Use -c:v png/mjpeg/... to encode it.[svg @ 0x...] Cannot determine type of input[heic @ 0x...] Unknown decoder 'heic'
Discarding frame which has a bad interlace typeWaarom dit gebeurt: FFmpeg is vooral een videotool, en hoewel het image-conversies kan doen, vereist het dat specifieke codec-ondersteuning is meegecompileerd. Veel systeeminstallaties van FFmpeg missen HEIC/AVIF/WebP-ondersteuning.
Fout #7: GIMP batchverwerking-fouten
Foutmeldingen in Script-Fu console:
Error: ( : 1) eval: unbound variable: file-webp-savebatch command experienced an execution error:
Error: Procedure 'file-heif-load' not found(gimp:12345): LibGfig-WARNING **: Bad path: /home/user/.gimp-2.10/gfigWaarom dit gebeurt: GIMP heeft plugins nodig voor nieuwere formaten. De WebP-plugin is mogelijk niet geïnstalleerd, HEIF-ondersteuning vereist libheif, en AVIF-ondersteuning vereist GIMP 2.10.22+. Batchverwerking met Script-Fu of Python-Fu voegt nog een extra complexiteitslaag toe.
Fout #8: "EXIF Data Lost" — metadata gaat verloren tijdens conversie
Dit is geen foutmelding — het is stille dataverlies dat veel mensen pas merken als het te laat is.
Wat er verloren kan gaan:
- Camerainstellingen (diafragma, sluitertijd, ISO)
- GPS-coördinaten (waar de foto is genomen)
- Datum en tijd waarop de foto is gemaakt
- Copyrightinformatie
- Kleurprofiel (sRGB, Adobe RGB, ProPhoto RGB)
- Oriëntatie (rotatie-informatie — wat tot zijwaartse foto’s leidt)
Tools die EXIF vaak strippen:
- Windows Paint (stript alles)
- Veel online converters (om “privacy”-redenen, zonder het je te vertellen)
- ImageMagick (stript standaard, tenzij je de
-stripflag gebruikt om dit expliciet te sturen) - Python Pillow (vereist expliciete EXIF-afhandeling met
exif=img.info.get('exif', b''))
Het oriëntatieprobleem is bijzonder vervelend:
Warning: JPEG file has EXIF orientation tag but image data is not rotated.
Auto-rotating image based on EXIF orientation.Sommige tools roteren de afbeelding maar werken de EXIF-tag niet bij, wat leidt tot dubbele rotatie in sommige viewers en correcte weergave in andere.
Fout #9: Kleurruimte- en ICC-profielproblemen
Foutmeldingen:
lcms: not a valid ICC profilecolor profile 'sRGB IEC61966-2.1' is not compatible with 'CMYK'libpng warning: iCCP: known incorrect sRGB profileJCS_CMYK JPEG image passed to JFIF converterWaarom dit gebeurt: Professionele afbeeldingen gebruiken vaak CMYK-kleurruimtes (voor print) of wide-gamut profielen (Adobe RGB, ProPhoto RGB). Als je die zonder correct kleurbeheer converteert naar webformaten (die sRGB gebruiken), krijg je fletse of juist oververzadigde kleuren.
Wat je ziet: Een afbeelding die er perfect uitziet op je scherm wordt neon-groen of modderbruin na conversie. Of een professionele foto verliest volledig zijn levendige kleuren.
De technische reden: CMYK heeft 4 kleurkanalen (Cyan, Magenta, Yellow, Key/Black) terwijl RGB er 3 heeft (Red, Green, Blue). Een naïeve conversie past niet de juiste kleurtransformatie toe, wat resulteert in extreem verkeerde kleuren.
Fout #10: "File Too Large" of "Out of Memory"-crashes
Foutmeldingen:
java.lang.OutOfMemoryError: Java heap spaceTraceback: MemoryErrorFatal error: Allowed memory size of 134217728 bytes exhaustedconvert: cache resources exhausted `input.tiff' @ error/cache.c/OpenPixelCache/3945.convert: width or height exceeds limit `input.tiff' @ error/cache.c/OpenPixelCache/3912.Waarom dit gebeurt: Een TIFF-bestand van 100 MB op 300 DPI kan 8000×6000 pixels zijn. Ongecomprimeerd in het geheugen is dat:
- 8000 × 6000 × 4 bytes (RGBA) = 192 MB RAM voor één afbeelding
- Bewerking (resizen, formaatconversie) vereist 2–3× zoveel
- 10 van zulke afbeeldingen in batch converteren kan 4–6 GB RAM verbruiken
De meeste desktopapps en scripts verwerken afbeeldingen niet streamend — ze laden alles in één keer in het geheugen.
De standaard policy-limieten van ImageMagick zijn vaak te streng:
# /etc/ImageMagick-6/policy.xml
<policy domain="resource" name="memory" value="256MiB"/>
<policy domain="resource" name="disk" value="1GiB"/>
<policy domain="resource" name="width" value="16KP"/>
<policy domain="resource" name="height" value="16KP"/>Mogelijk moet je policy.xml aanpassen om deze limieten te verhogen, maar dat vereist adminrechten en begrip van XML-configuratie.
Fout #11: SVG naar raster converteren — “Text Rendering”-nachtmerries
Veelvoorkomende issues:
Pango-WARNING **: failed to choose a font, expect ugly outputrsvg-convert: error: Error reading SVG: "Unexpected end of XML input"cairo-WARNING: cairo_surface_destroy: Cannot modify an already-finished surfaceWaarom dit gebeurt: SVG-bestanden verwijzen vaak naar fonts die niet op je systeem zijn geïnstalleerd. Bij conversie naar PNG of JPG vervangt de render-engine het door een standaardfont, waardoor tekst er compleet anders uitziet. Verlopen, filters en embedded images in SVG’s voegen nog meer potentiële faalpunten toe.
Het fontprobleem (voorbeeld):
Je SVG gebruikt font-family: "Helvetica Neue", maar je Linux-server heeft alleen Liberation Sans. De output ziet er subtiel verkeerd uit — andere letterspatiëring, andere diktes, misaligned tekst.
Waarom online conversie gewoon werkt (wanneer lokale tools dat niet doen)
Na al die fouten vraag je je misschien af: waarom kunnen online tools deze conversies zo soepel uitvoeren?
1. Vooraf geconfigureerde omgeving: Online tools zoals GuruPDF draaien op servers waar elke codec, library en delegate vooraf is geïnstalleerd en correct geconfigureerd. Geen ontbrekende libheif, geen verkeerde ImageMagick-policy, geen ontbrekende Ghostscript.
2. Automatische format-detectie: De server identificeert het echte bestandsformaat op basis van de binaire header (magic bytes), niet op basis van de bestandsextensie. Een PNG vermomd als .jpg? Geen probleem.
3. Correct kleurbeheer: Server-side tools verwerken ICC-profielen en kleurruimteconversies correct, zodat het uiterlijk van je afbeeldingen behouden blijft.
4. Geheugenbeheer: Cloudservers hebben ruim voldoende resources en verwerken afbeeldingen efficiënt, zodat grote TIFF-bestanden en high-resolution scans niet vastlopen door geheugentekort.
5. Altijd up-to-date: Ondersteuning voor nieuwe formaten zoals AVIF en HEIC wordt server-side toegevoegd. Je hoeft niets op je computer te updaten.
6. Geen installatiegedoe: Geen Python-omgevingen, geen Homebrew, geen DLL-ellende, geen policy.xml-aanpassingen, geen compilen vanaf broncode.
GuruPDF Image Conversion Tools
GuruPDF ondersteunt een uitgebreid aanbod aan conversies tussen afbeeldingsformaten, volledig gratis en browser-based:
Van foto’s en afbeeldingen:
- JPG naar PNG, JPG naar WebP, JPG naar SVG, JPG naar PDF, JPG naar GIF
- PNG naar JPG, PNG naar WebP, PNG naar SVG, PNG naar PDF, PNG naar GIF
- HEIC naar JPG, HEIC naar PNG, HEIC naar PDF
- AVIF naar JPG, AVIF naar PNG, AVIF naar PDF
- WebP naar JPG, WebP naar PNG, WebP naar GIF, WebP naar PDF
- TIFF naar JPG, TIFF naar PNG, TIFF naar PDF
- BMP naar JPG, BMP naar PNG, BMP naar PDF
- GIF naar PNG, GIF naar WebP, GIF naar PDF
Vector- en speciale formaten:
- SVG naar PNG, SVG naar JPG, SVG naar PDF
- EPS naar JPG, EPS naar PNG, EPS naar PDF
- DJVU naar JPG, DJVU naar PNG
Optimalisatietools:
- Afbeelding resizen (elk formaat)
- JPG optimaliseren, PNG optimaliseren, GIF optimaliseren
- PDF in grijstinten
Conclusie: stop met vechten tegen je computer
Als je ooit 30 minuten hebt besteed aan het proberen te installeren van libheif op Windows, of je hebt afgevraagd waarom je CMYK TIFF er groen uitziet na conversie naar JPG, of je bent compleet vastgelopen op een “no decode delegate”-fout — je bent niet de enige. Afbeeldingen converteren zou simpel moeten zijn, maar lokale tools maken het onnodig ingewikkeld.
De volgende keer dat je een afbeelding moet converteren, probeer eerst om die te uploaden naar GuruPDF. Het verwerkt elk formaat, behoudt kwaliteit en werkt in elke browser op elk apparaat. Geen installaties, geen foutcodes, geen frustratie.
Je tijd kun je beter besteden aan je echte werk, niet aan het debuggen van ImageMagick delegates.