Avancé 5 min 1 min de lecture Images & médias

Choisir la bonne taille d’image avec srcset

Servez à chaque écran la plus petite image possible avec srcset et sizes. Pages plus rapides, moins de données gaspillées, meilleur SEO.

Par Nicolas Dupont Mis à jour le 23 juin 2026

Une page web mobile typique pèse plus de 2,6 Mo, dont les deux tiers sont des images. Le potentiel d’optimisation est donc énorme. La règle de base est simple : ne jamais enregistrer une image plus grande que sa taille d’affichage. Deux visuels visuellement identiques peuvent avoir un poids de fichier dix fois différent selon leurs dimensions d’enregistrement.

Le problème, c’est que dans un monde multi-appareils, une image n’est pas toujours affichée à taille fixe. Largeurs en pourcentage, mises en page responsives, écrans à forte densité de pixels : la même image peut s’afficher à des tailles très variées. L’attribut srcset répond à ce défi et améliore directement la vitesse, donc l’expérience et le SEO ; il s’inscrit dans une démarche plus large pour optimiser ses images.

La règle que je martèle est d’une simplicité désarmante : n’enregistrez jamais une image plus grande que sa taille d’affichage. Deux visuels identiques à l’oeil peuvent peser dix fois plus selon leurs dimensions, et dans un monde multi-écrans une seule taille ne suffit jamais. Bien renseigner sizes et générer les variantes adaptées, c’est laisser le navigateur faire le bon choix au bon moment.

— Nicolas Dupont

Pourquoi une seule taille ne suffit pas

Idéalement, on voudrait fournir chaque image en plusieurs tailles et laisser le navigateur choisir la mieux adaptée. Mais il existe un paradoxe : le navigateur devrait prendre la plus petite image possible, sans pouvoir connaître la largeur d’un fichier sans le télécharger d’abord.

C’est précisément le rôle de srcset. Vous enregistrez l’image en plusieurs tailles, puis vous indiquez au navigateur la largeur de chaque version avec un descripteur w. Le navigateur peut alors choisir le plus petit fichier suffisant selon l’écran et la fenêtre, sans téléchargement de vérification, ce qui contribue à réduire le poids des images.

srcset avec descripteurs de largeur
<img src="small.jpg"
     srcset="small.jpg 500w,
             medium.jpg 1000w,
             large.jpg 1500w"
     alt="…">

Préciser la largeur d'affichage avec sizes

Sans information complémentaire, le navigateur suppose que l’image occupe toute la largeur de la fenêtre quand il choisit dans le srcset. L’attribut sizes corrige cela en décrivant la largeur d’affichage réelle de l’image. Le navigateur peut ainsi sélectionner le plus petit fichier adapté avant même de calculer la mise en page.

Dans l’exemple ci-dessous, sizes= »50vw » indique que l’image s’affichera à 50 % de la largeur de la fenêtre. Point important à retenir : ni srcset ni sizes ne définissent la taille d’affichage à l’écran. Ils informent le navigateur, mais c’est toujours le CSS qui contrôle le rendu final.

srcset complété par sizes
<img src="small.jpg"
     srcset="small.jpg 500w, medium.jpg 1000w, large.jpg 1500w"
     sizes="50vw"
     alt="…">

Générer et servir les bonnes variantes

Utiliser srcset suppose de disposer de plusieurs tailles par image. Pour quelques visuels ponctuels comme une image héros, vous pouvez les enregistrer à la main. Pour de gros volumes (catalogues, photos produits), il faut automatiser, par exemple en pensant à précharger les images responsives critiques. Le tableau ci-dessous résume les approches et les cas où chacune est pertinente.

Approche Principe Cas d'usage

Enregistrement manuel

Exporter chaque taille à la main

Peu d’images, visuels ponctuels

Étape de build

Générer les tailles à la compilation

Projet avec processus de build

Service d’images

Tailles et formats générés via l’URL

Gros volumes, recadrage automatique

CDN d’images

Optimisation et format servis dynamiquement

Sites à fort trafic et nombreux visuels

srcset et sizes ne remplacent pas le CSS

srcset fournit au navigateur la largeur enregistrée de chaque fichier, et sizes la largeur d’affichage prévue. Ni l’un ni l’autre ne fixe la taille à laquelle l’image apparaît : c’est le rôle du CSS. Oublier cette distinction conduit à des images mal dimensionnées à l’écran malgré une configuration srcset correcte.

Besoin d'aide pour mettre en pratique ? Nos experts SEO vous accompagnent.
Parler à un expert

À faire

  • enregistrer plusieurs tailles par image
  • renseigner les descripteurs w
  • ajouter sizes pour la largeur d’affichage
  • automatiser la génération sur les gros volumes

À éviter

  • enregistrer une image plus grande que son affichage
  • confondre srcset et taille CSS
  • négliger le repli sur src
  • multiplier les variantes au-delà du nécessaire

Points clés à retenir

  • N'enregistrez jamais une image plus grande que sa taille d'affichage.
  • Décrivez la largeur de chaque version avec un descripteur w.
  • Ajoutez sizes pour indiquer la largeur d'affichage réelle.
  • Laissez le CSS gérer le rendu : srcset et sizes ne le remplacent pas.
  • Automatisez la génération des variantes sur les gros catalogues.

srcset et sizes servent à chaque écran la plus petite image suffisante.

Quiz : testez vos connaissances

  1. Que signifie le descripteur w dans un attribut srcset, par exemple « small.jpg 500w » ?

    • Le poids du fichier en kilo-octets
    • La largeur d'affichage souhaitée de l'image à l'écran
    • La largeur intrinsèque du fichier en pixels, ici 500 pixels de large

    Le descripteur w indique la largeur intrinsèque du fichier en pixels. small.jpg 500w signale au navigateur que ce fichier fait 500 pixels de large.

  2. À quoi sert l'attribut sizes en complément de srcset ?

    • À décrire la largeur d'affichage réelle de l'image pour que le navigateur choisisse le plus petit fichier suffisant
    • À indiquer le poids maximal autorisé pour chaque variante
    • À fixer la taille en pixels à laquelle l'image sera affichée à l'écran

    Sans sizes, le navigateur suppose que l’image occupe toute la largeur de la fenêtre. sizes décrit la largeur d’affichage réelle pour sélectionner le plus petit fichier adapté.

  3. Comment servir un recadrage différent d'une image selon l'écran (direction artistique) ?

    • Avec srcset seul, en ajoutant des descripteurs w supplémentaires
    • Avec l'élément picture et plusieurs sources, car srcset gère la taille mais pas le cadrage
    • En enregistrant une seule image très grande recadrée par le CSS

    srcset gère la taille, pas le cadrage. Pour servir un recadrage différent selon l’écran (direction artistique), on utilise l’élément picture avec plusieurs sources.

À propos de l'auteur

Nicolas Dupont

Nicolas Dupont

Expert SEO Sénior & Fondateur

Il a fait grimper des sites en haut de Google et accompagné plus de 120 entreprises avant de fonder Les Webineurs. Sur votre projet SEO, vous échangez directement avec Nicolas, pas un commercial ni un junior. Un expert dédié et du trafic organique qui dure.

Voir le profil

Besoin d'un accompagnement SEO ?

Servir la bonne taille d'image à chaque appareil peut alléger fortement vos pages et booster vos Core Web Vitals.

Faire le point avec un expert SEO