Prenez n'importe quel fichier .jpg et ouvrez-le dans un éditeur hexadécimal. Les deux premiers octets :
FF D8
C'est le marqueur Start of Image (début d'image). Chaque fichier JPEG commence par lui, et chaque décodeur JPEG sur Terre le recherche. Les octets suivants indiquent au décodeur quelle variante de JPEG est utilisée, quel espace colorimétrique est attendu et où commencent les données de pixels. Le format est plus ancien que le navigateur Web, mais il représente encore environ 57 % de toutes les images diffusées sur le Web moderne, selon le Web Almanac 2025.
La crise de stockage qui a créé JPEG
En 1986, une image en niveaux de gris brute de 640 × 480 occupait 307 Ko d'espace disque. Une image couleur à la même résolution en demandait 921 Ko. À une époque où un disque dur de 20 Mo coûtait des centaines de dollars et où les disquettes de 1,44 Mo servaient de support d'échange standard, une seule photo non compressée pouvait remplir les deux tiers d'une disquette.
Le besoin était simple : un format de compression standard pour les images à tons continus, des photographies plutôt que des dessins au trait. Plusieurs groupes travaillaient sur le problème. Le Joint Photographic Experts Group, formé en 1986 par l'ISO/IEC et l'ITU-T, a fusionné les meilleures idées en un seul projet. Après six ans d'affinage, la norme a été publiée en 1992 sous le nom d'ISO/IEC 10918-1.
JPEG n'a jamais été pensé comme le seul format d'image. Il a été conçu pour une tâche précise : rendre les photographies assez petites pour être stockées et transmises. Il y parvient en supprimant des informations dans un ordre très précis.
Pourquoi JPEG compresse si bien
La compression JPEG est un pipeline, pas un algorithme unique. Chaque étape élimine des données que le système visuel humain est le moins susceptible de remarquer.
Conversion d'espace colorimétrique (RGB → YCbCr)
Votre écran affiche du RGB, mais JPEG stocke du YCbCr. Le canal Y porte la luminance (luminosité). Cb et Cr portent la chrominance (différence de bleu et différence de rouge). Cela compte parce que l'œil humain compte environ 2,5 millions de cônes sensibles à la luminance et seulement 100 000 sensibles à la couleur. Nous voyons les détails de luminance bien mieux que les détails de couleur.
Sous-échantillonnage chromatique (chroma subsampling)
La plupart des JPEG utilisent un sous-échantillonnage 4:2:0. Pour chaque 4 échantillons de luminance, il y a 1 échantillon Cb et 1 échantillon Cr. Les canaux de chrominance sont ainsi stockés à un quart de la résolution du canal de luminance. Pour une image de 4000 × 3000, le plan Y reste en pleine résolution, tandis que les plans Cb et Cr tombent à 2000 × 1500 chacun. Les données brutes ont déjà fondu d'environ 50 % avant même que la compression réelle ne commence, et la plupart des spectateurs ne s'en aperçoivent jamais.
La transformée en cosinus discrète (DCT)
L'image est divisée en blocs de 8 × 8 pixels. Chaque bloc subit une DCT, qui convertit les données spatiales (valeurs de pixels) en données de fréquence (la vitesse à laquelle les valeurs changent dans le bloc). Le résultat est une matrice de 8 × 8 coefficients. La valeur en haut à gauche est le coefficient DC, la luminosité moyenne du bloc. Les 63 autres sont des coefficients AC représentant des détails de plus en plus haute fréquence.
Les coefficients haute fréquence encodent les textures fines : cheveux, herbe, bruit. Les coefficients basse fréquence encodent les formes larges : cieux, murs, teintes de peau.
Quantification
C'est ici que la perte se produit. JPEG applique une table de quantification à chaque bloc DCT. La table est une seconde matrice de 8 × 8 de diviseurs. Chaque coefficient DCT est divisé par son quantificateur correspondant et arrondi à l'entier le plus proche.
La table de quantification standard frappe les coefficients haute fréquence le plus durement :
16 11 10 16 24 40 51 61
12 12 14 19 26 58 60 55
14 13 16 24 40 57 69 56
14 17 22 29 51 87 80 62
18 22 37 56 68 109 103 77
24 35 55 64 81 104 113 92
49 64 78 87 103 121 120 101
72 92 95 98 112 100 103 99
Un coefficient haute fréquence de, disons, 7 est divisé par 121 et arrondi à 0. Il est parti. Irréversible. Le décodeur ne le voit jamais. C'est la compression avec perte : les données sont détruites, pas simplement recodées.
À une qualité de 90, les quantificateurs sont divisés par un facteur d'échelle plus petit. À une qualité de 50, le facteur d'échelle est plus élevé. Plus de coefficients deviennent nuls, le fichier rétrécit et l'image s'adoucit.
Codage entropique
Après la quantification, les coefficients restants sont balayés en zigzag, encodés par plages (RLE), puis compressés avec un codage de Huffman. Cette étape est sans perte. Elle ne fait que compacter les données déjà détruites plus efficacement.
Le résultat : une image RGB non compressée de 12 MP fait 36 Mo. Sauvegardée en JPEG qualité 90 avec sous-échantillonnage 4:2:0, elle tombe à ~3,5 Mo. C'est une réduction de 10:1 avec une perte de qualité visible uniquement sous grossissement.
À quel point est-ce vraiment avec perte ?
Les dommages ne sont pas uniformément répartis.
| Qualité | Taille typique (12 MP) | Impact visuel |
|---|---|---|
| 95+ | ~8 Mo | Quasi invisible ; préféré pour l'archivage |
| 90 | ~3,5 Mo | Adoucissement mineur ; standard pour les appareils photo |
| 75 | ~1,8 Mo | Flou visible dans les détails fins ; défaut Web |
| 50 | ~1,0 Mo | Artefacts de blocage évidents au zoom à 100% |
| 30 | ~600 Ko | Banding de couleur, bruit de moustique, inutilisable pour l'impression |
Trois artefacts distincts apparaissent à mesure que la qualité diminue.
Le blocage se manifeste par des bords de grille 8 × 8 visibles, particulièrement dans les dégradés lisses comme les cieux. Le ringing produit des halos oscillants autour des bords à fort contraste, par exemple du texte sur fond. Le saignement de couleur vient du sous-échantillonnage chromatique, qui étale la couleur au-delà des limites nettes.
Le vrai problème est la perte de génération (generation loss). Quand vous ouvrez un JPEG, l'éditez et le réenregistrez en JPEG, chaque sauvegarde relance l'ensemble du pipeline : RGB → YCbCr → sous-échantillonnage → DCT → quantification. Les erreurs d'arrondi se cumulent. Après 10 générations, une image peut ressembler à une aquarelle. Après 50, elle est méconnaissable.
Le décalage vers le vert et autres bizarreries de recompression
Re-sauvegardez un JPEG suffisamment de fois et vous remarquerez peut-être une dérive de la température de couleur. Certaines images prennent une légère dominante verte, d'autres dérivent vers le magenta. La raison est enfouie dans les canaux de chrominance.
JPEG stocke Cb et Cr à une résolution réduite et les quantifie agressivement. Chaque enregistrement introduit une erreur d'arrondi dans les deux canaux. La conversion vers RGB utilise cette matrice :
R = Y + 1.402 x (Cr - 128)
G = Y - 0.344136 x (Cb - 128) - 0.714136 x (Cr - 128)
B = Y + 1.772 x (Cb - 128)
Remarquez que le vert est calculé à partir de Cb et Cr. Lorsqu'une quantification répétée pousse Cb vers le haut et Cr vers le bas, même d'un seul pas de quantification, le canal G dérive. Un biais positif dans Cb pousse le vert vers le bas. Un biais négatif dans Cr pousse le vert vers le haut. L'interaction n'est pas symétrique, car les coefficients -0.344136 et -0.714136 ont des amplitudes différentes. Le résultat est une accumulation lente de vert dans certaines régions de l'image, particulièrement là où les valeurs de chrominance d'origine étaient déjà proches des limites de quantification.
Ce n'est pas un effet garanti. Il dépend des tables de quantification de l'encodeur, du mode de sous-échantillonnage et du contenu de l'image. Mais il est réel, reproductible, et l'une des raisons pour lesquelles les workflows professionnels évitent de re-sauvegarder des JPEG.
Si JPEG est si défectueux, pourquoi tout le monde l'utilise ?
JPEG n'est pas populaire parce qu'il est parfait. Il est populaire parce qu'il est suffisant et universel.
Le brevet JPEG de base, détenu par Forgent Networks, a expiré en 2006. Le format est donc libre de droits. Chaque appareil photo, téléphone, imprimante et navigateur dispose d'un décodeur JPEG en silicium ou en C hautement optimisé, ce qui rend le rendu quasiment gratuit. Pour les réseaux sociaux, les sites d'actualités et les pièces jointes de courriel, un JPEG qualité 75 est souvent indiscernable de la source sur un écran de téléphone.
Reste l'inertie de l'écosystème. Les systèmes de gestion de contenu, les CDN, les bibliothèques d'images et les archives héritées parlent tous JPEG. Les remplacer demande plus qu'un meilleur format. Il faut aussi une raison de migrer des pétaoctets d'actifs existants.
Les formats qui auraient dû gagner
Plusieurs formats ont essayé de détrôner JPEG. Aucun n'y est complètement parvenu.
| Format | Avec perte | Sans perte | Transparence | Animation | Profondeur de bits max | Avantage clé |
|---|---|---|---|---|---|---|
| JPEG | Oui | Non | Non | Non | 8 bits | Support universel |
| PNG | Non | Oui | Oui | Non | 16 bits | Sans perte parfait, alpha |
| WebP | Oui | Oui | Oui | Oui | 8 bits | 25-35% plus petit que JPEG, natif navigateur |
| HEIC | Oui | Oui | Oui | Oui | 16 bits | ~50% plus petit que JPEG, défaut Apple |
| AVIF | Oui | Oui | Oui | Oui | 12 bits | Meilleure compression aujourd'hui, libre de droits |
| JPEG XL | Oui | Oui | Oui | Oui | 32 bits | Recompression JPEG sans perte, décodage progressif |
PNG a résolu le problème sans perte, mais produit des fichiers 5 à 10 fois plus gros que JPEG pour les photos. Il domine les captures d'écran, les ressources d'interface et les graphiques.
WebP (Google, 2010) bat JPEG en taille et ajoute la transparence et l'animation. Il est maintenant livré dans chaque grand navigateur. Le Web Almanac 2025 place WebP à 11 % des images LCP, contre 7 % en 2024. C'est le chemin de mise à niveau aujourd'hui.
HEIC (Apple, 2017) utilise la compression HEVC dans un conteneur ISOBMFF. Il est ~40-50 % plus petit que JPEG et contient plusieurs images par fichier. Il domine l'écosystème Apple et stagne ailleurs à cause des pools de brevets HEVC.
AVIF (AOM, 2019) dérive de la vidéo AV1. Il atteint les meilleurs ratios de compression de tout format largement supporté, environ 30 % plus petit que WebP à qualité équivalente. L'inconvénient est la vitesse de décodage. Les images AVIF peuvent prendre 2 à 3 fois plus longtemps à s'afficher que JPEG sur les appareils mobiles, consommant de la batterie et retardant le Largest Contentful Paint.
JPEG XL (ISO/IEC 18181, 2021) est techniquement supérieur à tous les autres. Il compresse 50-60 % plus petit que JPEG, décode rapidement et supporte le décodage progressif : une image utilisable apparaît après le téléchargement d'à peine ~1 % du fichier. Plus important encore, il peut recompresser les JPEG existants sans perte pour des économies d'environ 20 % avec récupération bit-pour-bit de l'original. Aucun autre format ne peut faire cela.
Où nous en sommes
JPEG XL a eu une enfance difficile. Google a ajouté un support expérimental à Chrome en 2021, puis l'a supprimé le 31 octobre 2022, surnommée la "décision d'Halloween". La raison invoquée : bénéfice incrémental insuffisant par rapport aux formats existants. Le contre-coup a été immédiat. Le problème Chromium est devenu le deuxième le plus suivi de l'histoire du projet. Certains y ont vu une volonté de protéger AVIF, un format lié à l'Alliance for Open Media que Google a co-fondée.
Fin 2025, Chromium a fait volte-face. Un nouveau décodeur Rust (jxl-rs) a atterri dans Chrome Canary. Chrome 145, sorti en février 2026, a livré le support JPEG XL derrière un drapeau (flag). Safari le supporte depuis 2023. Firefox Nightly intègre le même décodeur Rust. JPEG XL n'est pas encore activé par défaut, mais il est de retour dans la base de code.
AVIF, quant à lui, est le choix pragmatique pour 2026. Avec un support navigateur large et des encodeurs qui s'améliorent, il est maintenant servi automatiquement par Cloudinary et Cloudflare via la négociation d'en-tête Accept. La page médiane diffusant AVIF ou WebP affiche 81 % de bons taux LCP contre 64 % pour les pages JPEG uniquement, selon les données CoreDash.
JPEG en 2026 : quelques règles pratiques
JPEG est un compromis vieux de 33 ans. Il sacrifie la résolution des couleurs, la texture haute fréquence et la précision numérique en échange de tailles de fichiers qui ont rendu la photographie numérique viable dans les années 1990. Les artefacts, la perte de génération et la dérive verte font partie du paysage connu du format.
Il persiste pour la même raison que QWERTY persiste : le coût du changement dépasse la douleur de rester.
En pratique, trois habitudes suffisent à limiter les dégâts.
Archivez les originaux en PNG, TIFF ou JPEG qualité 95+. Ne rééditez jamais à partir d'une exportation Web qualité 75. Conserver un master propre évite de cumuler les générations.
Servez les formats modernes dynamiquement. Utilisez un CDN ou un service d'images qui négocie AVIF, WebP ou JPEG XL en fonction de l'en-tête Accept du navigateur. Stockez un master ; laissez le bord convertir à la demande.
Ne re-encodez pas les JPEGs en masse. Chaque génération détruit des données. Si vous avez besoin de fichiers plus petits, re-encodez à partir du master, pas à partir d'un autre JPEG.
JPEG ne va pas disparaître du jour au lendemain. Il s'éteindra probablement comme GIF : toujours supporté et toujours ouvrable dans n'importe quelle visionneuse, mais de plus en plus dépassé par des formats qui font le même travail avec moins d'octets et moins d'artefacts. Cette fois, les remplaçants semblent vraiment gagner du terrain.



