Convertir des images d’un format à un autre semble être quelque chose de simple — il suffit de changer l’extension, non ? En réalité, des milliers d’utilisateurs rencontrent chaque jour des erreurs obscures, des fichiers de sortie corrompus et des plantages logiciels lorsqu’ils essaient de convertir des images sur leurs machines locales. Pendant ce temps, des outils en ligne comme GuruPDF effectuent exactement les mêmes conversions sans aucun problème en quelques secondes.
Cet article explore en profondeur les erreurs de conversion d’images les plus courantes rencontrées sur Windows, macOS et Linux, explique pourquoi elles se produisent et vous montre comment les éviter totalement.
Les formats d’image les plus courants (et pourquoi ils ne s’entendent pas toujours)
Avant d’aborder les erreurs, comprenons les formats qui causent le plus de problèmes :
| Format | Nom complet | Compression | Transparence | Utilisation typique |
|---|---|---|---|---|
| JPG/JPEG | Joint Photographic Experts Group | Avec perte | Non | Photos, images web |
| PNG | Portable Network Graphics | Sans perte | Oui | Captures d’écran, logos, graphismes |
| WebP | Web Picture | Les deux | Oui | Optimisation web moderne |
| HEIC/HEIF | High Efficiency Image Container | Avec perte/Sans perte | Oui | Photos iPhone/iPad (iOS 11+) |
| AVIF | AV1 Image File Format | Avec perte/Sans perte | Oui | Format web de nouvelle génération |
| SVG | Scalable Vector Graphics | N/A (vectoriel) | Oui | Icônes, illustrations, logos |
| TIFF | Tagged Image File Format | Sans perte | Oui | Impression, numérisation, archivage |
| BMP | Bitmap | Aucune | Non | Ancien format Windows |
| GIF | Graphics Interchange Format | Sans perte | 1-bit | Animations, graphismes simples |
| EPS | Encapsulated PostScript | N/A (vectoriel) | Non | Design pour l’impression, graphismes professionnels |
| DJVU | DjVu | Avec perte | Non | Documents scannés, livres |
Le problème ? La plupart des systèmes d’exploitation et des outils intégrés ne prennent en charge nativement qu’une poignée de ces formats. C’est là que les erreurs commencent.
Erreur #1 : "Windows Photo Viewer Can't Open This Picture" (HEIC/AVIF/WebP)
Codes et messages d’erreur que vous pouvez voir :
"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."Pourquoi cela arrive : Windows 10/11 ne prend pas en charge nativement HEIC (le format photo par défaut des iPhone depuis iOS 11) ni AVIF. Vous devez installer les extensions "HEIF Image Extensions" (0,99 $) et "AV1 Video Extensions" depuis le Microsoft Store. La prise en charge de WebP n’a été ajoutée qu’à partir de Windows 10 version 1809 et ultérieures.
Tentative de correction en local : Installer des packs de codecs, utiliser des visionneuses tierces, ou essayer des outils en ligne de commande comme ImageMagick :
magick convert input.heic output.jpgMais ImageMagick nécessite l’installation de « delegates » supplémentaires (libheif, libde265) — ce qui échoue souvent avec :
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.La solution simple : Téléversez vos fichiers HEIC, AVIF ou WebP sur GuruPDF et convertissez-les en JPG ou PNG en un clic — sans codecs, sans installations, sans erreurs.
Erreur #2 : "No Decode Delegate" — Codecs manquants dans ImageMagick
Message d’erreur complet :
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.Pourquoi cela arrive : ImageMagick est l’un des outils d’images en ligne de commande les plus populaires, mais il n’inclut pas, par défaut, des décodeurs pour tous les formats. Chaque format nécessite une bibliothèque « delegate » :
- WebP nécessite
libwebp - HEIC nécessite
libheif+libde265 - AVIF nécessite
libavif+dav1d - SVG nécessite
librsvgou Inkscape - EPS nécessite Ghostscript (
gs) - DJVU nécessite
djvulibre
Installer tout cela sur Windows est particulièrement pénible — vous devez télécharger des DLL précompilées, les placer dans le bon répertoire, et espérer que les versions correspondent.
Sur macOS :
brew install imagemagick --with-librsvg --with-libheif --with-webpÉchoue souvent avec :
Error: invalid option: --with-librsvgCar Homebrew a modifié la structure de ses formules et ces options ont été supprimées.
Sur Linux (Ubuntu/Debian) :
sudo apt install imagemagick libheif-dev libwebp-devCela peut encore échouer parce que l’ImageMagick du système a été compilé sans le delegate. Il vous faudrait compiler depuis les sources :
./configure --with-heic=yes --with-webp=yes
make && sudo make installCe qui peut prendre plus de 10 minutes et peut entrer en conflit avec les paquets du système.
Erreur #3 : "Not a JPEG File: Starts With 0x89" — Mauvaise extension de fichier
Messages d’erreur :
Not a JPEG file: starts with 0x89 0x50Corrupt JPEG data: premature end of data segmentlibpng error: Not a PNG fileIHDR: CRC errorPourquoi cela arrive : Quelqu’un a renommé un fichier PNG en .jpg (ou l’inverse). L’extension ne correspond pas au contenu binaire réel. Les octets 0x89 0x50 sont le nombre magique PNG (les premiers octets de tout fichier PNG sont 89 50 4E 47). Les fichiers JPEG commencent par FF D8 FF.
Cela arrive étonnamment souvent lorsque :
- Vous téléchargez des images depuis le web (les serveurs définissent parfois de mauvais en-têtes Content-Type)
- Vous renommez des fichiers en lot sans les convertir réellement
- Des clients e-mail ou des applications de messagerie modifient silencieusement les extensions
Comment identifier le vrai format :
file mysterious-image.jpg
# Output: mysterious-image.jpg: PNG image data, 1920 x 1080, 8-bit/color RGBASous 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 JPEGL’avantage en ligne : GuruPDF détecte automatiquement le format réel du fichier, quelle que soit l’extension, et le convertit correctement.
Erreur #4 : Erreurs de conversion Python Pillow (PIL)
Messages d’erreur courants :
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 pixelsPourquoi cela arrive : La bibliothèque Pillow de Python est la référence pour convertir des images par programmation, mais elle a des limitations importantes :
- Pas de prise en charge HEIC sans
pillow-heif(installation séparée nécessitant des bibliothèques système) - RGBA vers JPEG échoue car JPEG ne gère pas la transparence — il faut d’abord convertir en RGB
- Mode palette (P) vers JPEG nécessite une conversion en RGB
- Grandes images déclenchent la protection « decompression bomb » (fonction de sécurité)
Code de contournement typique avec lequel les gens se débattent :
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)C’est beaucoup de code passe-partout juste pour convertir une seule image. Et cela ne gérera toujours pas HEIC, AVIF ou WebP sans bibliothèques supplémentaires.
Erreur #5 : macOS Preview "Could Not Be Exported"
Messages d’erreur :
"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."Pourquoi cela arrive : macOS Preview.app prend en charge une gamme correcte de formats, mais les anciennes versions de macOS (avant Ventura) ne prennent pas en charge WebP ou AVIF nativement. Même sur les versions plus récentes, convertir certaines combinaisons de formats échoue silencieusement ou produit un résultat corrompu.
Erreurs courantes de la commande macOS sips :
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 SVGL’outil sips (Scriptable Image Processing System) est intégré à macOS mais ne prend en charge qu’un ensemble limité de formats : JPEG, TIFF, PNG, GIF, BMP et PICT.
Erreur #6 : Échecs de conversion d’images avec FFmpeg
Erreurs courantes :
[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 typePourquoi cela arrive : FFmpeg est principalement un outil vidéo, et même s’il peut gérer des conversions d’images, il faut que la prise en charge des codecs adéquats soit compilée. Beaucoup de versions de FFmpeg installées via le système ne prennent pas en charge HEIC/AVIF/WebP.
Erreur #7 : Erreurs de traitement par lot dans GIMP
Messages d’erreur dans la console Script-Fu :
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/gfigPourquoi cela arrive : GIMP nécessite des plugins pour les formats plus récents. Le plugin WebP peut ne pas être installé, la prise en charge HEIF nécessite libheif, et la prise en charge AVIF nécessite GIMP 2.10.22+. Le traitement par lot avec Script-Fu ou Python-Fu ajoute une couche de complexité supplémentaire.
Erreur #8 : "EXIF Data Lost" — Destruction des métadonnées lors de la conversion
Ce n’est pas un message d’erreur — c’est une perte de données silencieuse que beaucoup ne remarquent que lorsqu’il est trop tard.
Ce qui peut être perdu :
- Réglages de l’appareil (ouverture, vitesse d’obturation, ISO)
- Coordonnées GPS (où la photo a été prise)
- Date et heure de prise de vue
- Informations de copyright
- Profil colorimétrique (sRGB, Adobe RGB, ProPhoto RGB)
- Orientation (information de rotation — menant à des photos de travers)
Outils qui suppriment souvent l’EXIF :
- Windows Paint (supprime tout)
- De nombreux convertisseurs en ligne (pour des raisons de « confidentialité », sans vous le dire)
- ImageMagick (supprime par défaut, sauf si vous utilisez le paramètre
-strippour le contrôler explicitement) - Python Pillow (nécessite une gestion explicite de l’EXIF avec
exif=img.info.get('exif', b''))
Le problème d’orientation est particulièrement vicieux :
Warning: JPEG file has EXIF orientation tag but image data is not rotated.
Auto-rotating image based on EXIF orientation.Certains outils pivotent l’image mais ne mettent pas à jour le tag EXIF, ce qui entraîne une double rotation dans certains visualiseurs et un affichage correct dans d’autres.
Erreur #9 : Problèmes d’espace colorimétrique et de profil ICC
Messages d’erreur :
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 converterPourquoi cela arrive : Les images professionnelles utilisent souvent des espaces colorimétriques CMYK (pour l’impression) ou des profils à large gamut (Adobe RGB, ProPhoto RGB). Les convertir vers des formats web (qui utilisent sRGB) sans gestion correcte des couleurs produit des couleurs délavées ou sursaturées.
Ce que vous observez : Une image parfaite à l’écran devient vert fluo ou brunâtre après conversion. Ou une photo professionnelle perd complètement ses couleurs vives.
La raison technique : CMYK a 4 canaux (Cyan, Magenta, Yellow, Key/Black) alors que RGB en a 3 (Red, Green, Blue). Une conversion naïve n’applique pas la transformation colorimétrique correcte, ce qui donne des couleurs totalement fausses.
Erreur #10 : Plantages "File Too Large" ou "Out of Memory"
Messages d’erreur :
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.Pourquoi cela arrive : Un fichier TIFF de 100 Mo à 300 DPI peut faire 8000×6000 pixels. Non compressé en mémoire, cela représente :
- 8000 × 6000 × 4 octets (RGBA) = 192 Mo de RAM pour une seule image
- Le traitement (redimensionnement, conversion de format) nécessite 2 à 3× cette quantité
- Convertir 10 images de ce type en lot peut consommer 4 à 6 Go de RAM
La plupart des applications de bureau et scripts ne traitent pas les images en streaming — ils chargent tout en mémoire d’un seul coup.
Les limites de politique par défaut d’ImageMagick sont souvent trop restrictives :
# /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"/>Vous devrez peut-être modifier policy.xml pour augmenter ces limites, mais cela requiert des droits administrateur et une compréhension de la configuration XML.
Erreur #11 : Conversion SVG vers raster — cauchemars de « rendu du texte »
Problèmes courants :
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 surfacePourquoi cela arrive : Les fichiers SVG référencent souvent des polices qui ne sont pas installées sur votre système. Lors de la conversion en PNG ou JPG, le moteur de rendu substitue une police par défaut, modifiant complètement l’apparence du texte. Les dégradés, filtres et images intégrées dans les SVG ajoutent encore des points de défaillance potentiels.
Exemple du problème de polices :
Votre SVG utilise font-family: "Helvetica Neue", mais votre serveur Linux n’a que Liberation Sans. Le rendu est subtilement différent — espacement des lettres, graisses, alignement du texte.
Pourquoi la conversion en ligne fonctionne tout simplement (quand les outils locaux échouent)
Après avoir passé en revue toutes ces erreurs, vous vous demandez peut-être : pourquoi les outils en ligne gèrent-ils ces conversions aussi facilement ?
1. Environnement préconfiguré : Les outils en ligne comme GuruPDF tournent sur des serveurs où chaque codec, bibliothèque et delegate est préinstallé et correctement configuré. Pas de libheif manquant, pas de mauvaise politique ImageMagick, pas de Ghostscript absent.
2. Détection automatique du format : Le serveur identifie le format réel du fichier via son en-tête binaire (magic bytes), pas via l’extension. Un PNG déguisé en .jpg ? Aucun problème.
3. Gestion correcte des couleurs : Les outils côté serveur gèrent correctement les profils ICC et les conversions d’espace colorimétrique, en préservant l’apparence visuelle de vos images.
4. Gestion mémoire : Les serveurs cloud disposent de ressources importantes et traitent efficacement les images, gérant les gros fichiers TIFF et les scans haute résolution sans manquer de mémoire.
5. Toujours à jour : La prise en charge de nouveaux formats comme AVIF et HEIC est ajoutée côté serveur. Vous n’avez rien à mettre à jour sur votre ordinateur.
6. Aucune galère d’installation : Pas d’environnements Python, pas de Homebrew, pas de chaos de DLL, pas d’édition de policy.xml, pas de compilation depuis les sources.
Outils de conversion d’images GuruPDF
GuruPDF prend en charge une gamme complète de conversions de formats d’image, gratuites et accessibles via navigateur :
À partir de photos et d’images :
- JPG to PNG, JPG to WebP, JPG to SVG, JPG to PDF, JPG to GIF
- PNG to JPG, PNG to WebP, PNG to SVG, PNG to PDF, PNG to GIF
- HEIC to JPG, HEIC to PNG, HEIC to PDF
- AVIF to JPG, AVIF to PNG, AVIF to PDF
- WebP to JPG, WebP to PNG, WebP to GIF, WebP to PDF
- TIFF to JPG, TIFF to PNG, TIFF to PDF
- BMP to JPG, BMP to PNG, BMP to PDF
- GIF to PNG, GIF to WebP, GIF to PDF
Formats vectoriels et spécialisés :
Outils d’optimisation :
- Resize Image (tout format)
- Optimize JPG, Optimize PNG, Optimize GIF
- Grayscale PDF
Conclusion : Arrêtez de vous battre avec votre ordinateur
Si vous avez déjà passé 30 minutes à essayer d’installer libheif sur Windows, ou si vous vous êtes demandé pourquoi votre TIFF CMYK devient vert après conversion en JPG, ou si vous avez été perplexe face à une erreur "no decode delegate" — vous n’êtes pas seul. La conversion d’images devrait être simple, mais les outils locaux la rendent inutilement compliquée.
La prochaine fois que vous devez convertir une image, essayez d’abord de la téléverser sur GuruPDF. Il gère tous les formats, préserve la qualité et fonctionne dans n’importe quel navigateur, sur n’importe quel appareil. Aucune installation, aucun code d’erreur, aucune frustration.
Votre temps sera mieux utilisé pour votre vrai travail, pas pour déboguer les delegates d’ImageMagick.