Logo de Legacy File ConverterLegacy File Converter
Leçon d’histoire8 min de lecture

Leçon d’histoire : Qu’est-ce qu’un fichier .ico ? Le format d’icônes de Windows

Le format d’icônes de Windows : un fichier qui contient plusieurs tailles et profondeurs de couleur, un petit en-tête et un répertoire au début, des images compressées en PNG depuis Windows Vista, un frère .cur pour les curseurs et le favicon.ico que chaque site web sert encore.

·Par l'équipe Legacy File Converter
Un ordinateur de bureau rétro avec des icônes à l’écran, une icône de dossier empilée en plusieurs tailles, une carte de document et un curseur en flèche, sans logos

TL;DR

Un .ico est un fichier d’icônes Windows. Un seul fichier peut contenir plusieurs images de la même icône à différentes tailles et profondeurs de couleur, et Windows choisit la mieux adaptée au bureau, à une barre de titre ou à une boîte de dialogue. La structure est simple : un en-tête de 6 octets (réservé, type, nombre d’images), une entrée de répertoire de 16 octets par image, puis les données. Les entrées classiques sont des bitmaps (DIB) avec un masque AND pour la transparence ; depuis Windows Vista, une entrée peut être un PNG complet, ce qui a rendu pratiques les icônes 256×256. Le format de curseur .cur est presque jumeau (type 2 au lieu de 1, plus un point chaud). Sur le web, Internet Explorer 5 (mars 1999) a commencé à demander favicon.ico à la racine des sites. Pour obtenir une image normale, convertissez .ico en PNG en local : Legacy File Converter le fait sur votre propre PC, sans rien envoyer.

Qu’est-ce qu’un fichier .ico ?

Un fichier .ico est le format d’icônes de Windows. La plupart des fichiers image contiennent une seule image ; un fichier ICO contient une ressource d’icône : une petite collection d’images montrant toutes la même icône, chacune dessinée à une taille et/ou une profondeur de couleur différente. L’article de Microsoft Icons, de John Hornick, daté du 29 septembre 1995, le dit clairement : un seul fichier ICO, ou une ressource d’icône dans un EXE ou une DLL, peut contenir plusieurs images d’icône, chacune d’une taille et/ou d’une profondeur de couleur différente.

C’est pourquoi la recherche « qu’est-ce qu’un fichier .ico » vient souvent de quelqu’un qui en a trouvé un dans un dossier de programme, un téléchargement web ou un ancien projet et se demande pourquoi sa visionneuse de photos n’affiche qu’un petit carré, voire rien. Le fichier est valide ; c’est simplement un conteneur d’images d’icône, pas une photo ordinaire. Pour des formats voisins sur ce site, voir Leçon d’histoire : Qu’est-ce qu’un fichier .bmp ? et Leçon d’histoire : Qu’est-ce qu’un fichier .png ?.

Les premières icônes Windows et l’ère de la taille unique

Les icônes font partie de Windows depuis ses premiers environnements de bureau, mais le système d’origine raisonnait en une seule taille d’icône. L’article de Microsoft de 1995 note que les fonctions d’origine comme LoadIcon, ExtractIcon et DrawIcon dataient « de l’époque 16 bits, quand le système ne définissait qu’une seule taille d’icône », et qu’elles étirent ce qu’elles reçoivent jusqu’à la grande taille standard.

Avec Windows 95 et les versions suivantes de Windows NT, Windows a géré des icônes petites et grandes pour le système comme pour le shell, et de nouvelles fonctions (les variantes Ex, LoadImage, DrawIconEx) pouvaient demander une taille précise. Les recommandations de 1995 encourageaient les développeurs à fournir au moins 16×16 et 32×32 en 16 couleurs, plus 48×48 en 256 couleurs. Le format savait contenir des tailles inhabituelles depuis longtemps ; c’était Windows qui rattrapait son retard pour les utiliser.

Un fichier, plusieurs tailles et profondeurs de couleur

Quand Windows a besoin d’une icône, il parcourt les images de la ressource. Selon les règles de Microsoft de 1995, il choisit l’image de taille la plus proche de celle demandée ; si plusieurs ont cette taille, il préfère celle qui correspond à la profondeur de couleur de l’écran, sinon la plus profonde qui ne la dépasse pas. Les petites tailles ne sont pas de simples copies réduites : les graphistes les redessinent souvent pour que la version 16×16 reste lisible.

Les recommandations d’icônes de Windows Vista ont ensuite fixé le jeu complet des icônes d’application à 16×16, 32×32, 48×48 et 256×256, avec un dessin en 32 bits (alpha compris) plus des versions à palette 8 bits et 4 bits pour des cas comme le bureau à distance. Un petit .ico peut donc contenir une douzaine d’images ou plus, ce que l’on voit justement en l’ouvrant dans un éditeur d’icônes.

Plusieurs images, une icône

Si une visionneuse affiche une image différente ou minuscule, elle a probablement choisi une entrée parmi plusieurs. Convertir en PNG revient généralement à choisir une entrée — en principe la plus grande — et à l’exporter.

Comment un fichier .ico est organisé

La structure tient en un paragraphe. Le fichier commence par un en-tête ICONDIR de trois mots de 2 octets : une valeur réservée qui doit valoir 0, un type égal à 1 pour les icônes et un nombre d’images. Vient ensuite une ICONDIRENTRY par image — 16 octets chacune — indiquant la largeur, la hauteur, le nombre de couleurs, les plans, les bits par pixel, le nombre d’octets de données d’image et le décalage où ces données commencent dans le fichier.

Chaque image classique est un DIB (bitmap indépendant du périphérique) : un BITMAPINFOHEADER, une table de couleurs facultative, le masque XOR (les pixels de couleur) et un masque AND à 1 bit qui marque les zones transparentes. Microsoft signale un piège classique : la hauteur de l’en-tête est la hauteur combinée des deux masques, elle apparaît donc comme le double de la hauteur réelle de l’icône. Dans la même famille, les icônes stockées dans les fichiers EXE et DLL utilisent des structures presque identiques sous forme de ressources RT_GROUP_ICON et RT_ICON.

Du PNG dans l’icône depuis Windows Vista

Des icônes plus grandes alourdissaient les données bitmap. Un article de MSDN Magazine de 2008 sur le décodage des icônes de Windows Vista explique qu’en grandissant, les bitmaps prenaient trop de place sur le disque et en mémoire ; Microsoft a donc choisi le PNG : les icônes de Windows Vista peuvent intégrer des images PNG à la place des DIB, ce qui a rendu pratiques les icônes 256×256 en 32 bits pour une fraction de la taille. Les recommandations de Vista précisent que seule l’image 256×256 doit être compressée, les petites tailles restant sous forme classique.

Un champ largeur ou hauteur d’un octet ne peut pas stocker 256 ; un 0 dans l’entrée de répertoire se lit donc 256. Pour un logiciel écrit avant Vista, une entrée compressée en PNG est une donnée inconnue, ce qui explique en partie pourquoi certains anciens outils échouent sur des fichiers .ico modernes alors que Windows les affiche sans problème.

Vieil outil, nouvelle icône

Un éditeur de l’époque Windows XP peut ouvrir les petites entrées bitmap d’une icône moderne mais échouer sur l’entrée PNG 256×256 — ou rejeter tout le fichier. L’icône n’est pas abîmée ; le lecteur est simplement antérieur à l’ajout du PNG dans l’ICO.

Le frère .cur pour les curseurs

Les pointeurs de souris utilisent un format presque identique avec l’extension .cur. L’article de Microsoft de 1995 indique que les curseurs sont « très proches des icônes », au point que son éditeur d’icônes d’exemple pouvait lire les fichiers .CUR en assouplissant un seul contrôle : le type d’en-tête 2 pour les curseurs au lieu de 1 pour les icônes. L’article MSDN de 2008 reprend la règle : le deuxième mot vaut 1 pour les icônes et 2 pour les curseurs.

L’ajout important d’un curseur est le point chaud (hotspot), les coordonnées du pixel qui compte comme la pointe du pointeur. Comme le décrit Raymond Chen sur The Old New Thing, les ressources d’image de curseur commencent par les coordonnées x et y du point chaud avant les données bitmap. Les curseurs animés (.ani) sont un format distinct qui ne fait pas partie de cette leçon.

favicon.ico sur le web

Le format .ico a quitté le bureau par le navigateur. Internet Explorer 5, sorti en mars 1999, demandait un fichier nommé favicon.ico à la racine d’un site lorsqu’un utilisateur l’ajoutait aux Favoris, et affichait cette icône dans la liste des Favoris. Raymond Chen a expliqué plus tard qu’IE ne le cherchait qu’à l’ajout d’une page aux Favoris, pas à chaque visite, pour ne pas surcharger les serveurs. Les pages pouvaient aussi indiquer un autre emplacement grâce à un élément link dans le HTML.

Les navigateurs acceptent aujourd’hui d’autres formats pour les icônes de site, mais beaucoup de sites gardent un favicon.ico à la racine, et l’équipe IE de Microsoft a noté que la capacité de l’ICO à contenir plusieurs tailles convient aux nombreux endroits où apparaît une icône de site : onglets, favoris, raccourcis. Un .ico dans votre dossier Téléchargements n’est donc souvent qu’une icône de site enregistrée depuis le web.

Convertir un .ico en PNG en local

Renommer .ico en .png ne fonctionne pas : le fichier commence par l’en-tête ICONDIR, pas par une signature PNG, et peut contenir de nombreuses images. Une vraie conversion lit le répertoire, choisit une entrée — généralement la plus grande —, décode les données bitmap ou PNG, applique le masque de transparence et écrit un PNG normal qui conserve le canal alpha. Choisissez JPG seulement si vous n’avez pas besoin de transparence.

Legacy File Converter ouvre les fichiers .ico sur votre propre PC Windows et les convertit en PNG ou JPG — rien n’est envoyé en ligne, ce qui compte lorsque les icônes appartiennent au projet d’un client ou à une application interne. C’est une façon simple de transformer des fichiers anciens comme de vieux jeux d’icônes en images que n’importe quelle application peut ouvrir. Pour les leçons voisines, voir BMP, PNG et WebP.

Prêt à ouvrir vos anciens fichiers ?

Commencez gratuitement, puis débloquez les conversions illimitées avec une licence Standard à $79.95 en paiement unique. Téléchargez le programme d'installation Windows — toutes les fonctionnalités pour jusqu'à 10 fichiers.

Essai gratuit

Toutes les fonctionnalités · jusqu'à 10 fichiers

Windows 10 ou 11

Le même essai gratuit que toujours — téléchargez le programme d'installation Windows et convertissez en local sur votre PC.

Commencer l'essai gratuit — Télécharger le programme d'installation

Programme d'installation Windows direct · MSI hors ligne

Est-ce sûr ? — éditeur, programme d'installation et aide SmartScreen

Acheter Standard — $79.95

Nécessite Windows 10 ou 11. Sans abonnement. 100 % natif Windows.