Aller au contenu

ICO · 5 fichiers ICO d’exemple disponibles

Télécharger des fichiers ICO exemples

Téléchargez des fichiers ICO d’exemple gratuits : favicons web multi-résolutions, suites d’icônes d’applications Windows, ressources Retina et DIB classiques.

5 fichiers ICO d’exemple disponibles 16×16 à 256×256 · Multi-Résolution & PNG/DIB Format standard de favicon et icônes d’applications

Suite de tests ICO

Fichiers ICO d’exemple gratuits à télécharger

5 fichiers ICO d’exemple disponibles

Spécifications techniques et guide

Architecture du format ICO, standards de favicon et spécifications de conteneur

Le format d’icône Microsoft Windows (.ico) est un conteneur d’images conçu pour regrouper plusieurs bitmaps matriciels et images PNG compressées dans différentes résolutions, profondeurs de couleur et palettes au sein d’un seul fichier physique. Apparu avec Windows 1.0 (1985) et adopté comme standard universel de favicon par Internet Explorer 5 en 1999, ICO reste la norme fondamentale pour l’affichage des icônes de bureau et l’identité des onglets de navigateurs.

Évolution de Windows 1.0 à Windows Vista et aux favicons web modernes

Introduit en 1985 avec Microsoft Windows 1.0, le format ICO contenait initialement des bitmaps monochromes de taille fixe (1 bit, 32×32 pixels). Avec Windows 3.0 et 95, les palettes se sont élargies à 16 couleurs (EGA 4 bits) et 256 couleurs (VGA 8 bits), avec une séparation entre masque de transparence booléen AND 1 bit et matrice de pixels de couleur XOR.

Avec Windows XP (2001), Microsoft a introduit les icônes RGBA 32 bits avec canal alpha réel 8 bits (256 niveaux d’ombrage et lissage des contours) au sein de structures DIB (Device-Independent Bitmap).

Windows Vista (2006) a apporté la modernisation majeure : la compression PNG native au sein du conteneur ICO pour les icônes haute densité de 256×256 pixels, réduisant le poids de plusieurs mégaoctets à quelques dizaines de kilo-octets tout en préservant la compatibilité avec les icônes DIB antérieures.

Sur le web, Internet Explorer 5 (mars 1999) a popularisé la convention /favicon.ico à la racine du serveur. Normalisé par le W3C et le WHATWG, les navigateurs web recherchent automatiquement ce fichier pour alimenter onglets, favoris et raccourcis mobiles.

Architecture binaire : ICONDIR, ICONDIRENTRY et codage des données

Un fichier ICO débute par un en-tête de 6 octets (ICONDIR) : deux octets réservés à zéro (0x0000), un identifiant de type de 2 octets (0x0001 pour ICO, 0x0002 pour curseur .cur) et un entier de 2 octets indiquant le nombre total d’images contenues (idCount).

Immédiatement après suit un tableau contigu d’entrées de répertoire de 16 octets (ICONDIRENTRY). Chaque entrée spécifie la largeur (1 octet ; 0 équivaut à 256 px), la hauteur (1 octet ; 0 équivaut à 256 px), le nombre de couleurs (1 octet), un octet réservé (0x00), les plans de couleur (2 octets), les bits par pixel (2 octets, ex. 32 pour RGBA), la taille en octets de l’image (4 octets) et son décalage absolu dans le fichier (4 octets).

Les données d’image suivent deux formats distincts : DIB classique ou flux PNG. Dans les icônes DIB, l’image débute par un BITMAPINFOHEADER de 40 octets où biHeight est exactement le double de la hauteur visuelle (hauteur * 2) pour intégrer la matrice XOR et le masque AND.

Dans les icônes PNG (depuis Windows Vista), le flux débute par la signature standard PNG de 8 octets (0x89 0x50 0x4E 0x47 0x0D 0x0A 0x1A 0x0A), suivie des blocs IHDR, IDAT et IEND. Cela permet une compression Deflate efficace pour les icônes 256×256, 128×128 et 64×64.

Avantages clés et particularités architecturales d’ICO

Conditionnement multi-résolutions : Un seul fichier .ico contient des versions conçues pour 16×16 (onglets / barre des tâches), 32×32 (icône de bureau / explorateur standard), 48×48 (grandes icônes) et 256×256 (Retina / affichage très grand), évitant tout flou de redimensionnement.

Transparence alpha réelle 8 bits : Les icônes RGBA 32 bits offrent 256 niveaux de transparence, autorisant des ombres portées douces sur n’importe quel fond de bureau clair ou sombre.

Compatibilité web universelle : L’ensemble des navigateurs graphiques interrogent /favicon.ico nativement sans configuration HTML ou script supplémentaire.

Moteur de compression hybride : Associe un décodage DIB instantané pour les petites tailles (16×16 et 32×32) à la compression PNG Deflate pour les résolutions supérieures.

Compatibilité avec les systèmes d’exploitation et logiciels

Microsoft Windows : Prise en charge native de Windows 1.0 à Windows 11 pour les raccourcis de bureau, exécutables (.exe, .dll) et barres de titre.

Navigateurs web : Support universel sur Google Chrome, Mozilla Firefox, Apple Safari, Microsoft Edge, Opera et Internet Explorer.

Logiciels graphiques : Adobe Photoshop (avec plugin ICOFormat), GIMP (prise en charge native complète), Inkscape, ImageMagick, IcoFX et Axialis IconWorkshop.

Environnements de développement : Visual Studio, Electron, Node.js (sharp, png-to-ico), Python (Pillow), Go, Rust et .NET System.Drawing.Icon.

Comparatif technique des formats : ICO vs PNG vs SVG vs WebP vs CUR

Comparez les caractéristiques du conteneur Microsoft ICO face aux formats matriciels autonomes, graphiques vectoriels et curseurs Windows.

Caractéristique techniqueICO (Conteneur d’icônes)PNG (Matriciel portable)SVG (Graphique vectoriel)WebP (Matriciel moderne)CUR (Curseur Windows)Considérations d’usage
Type de conteneurConteneur multi-images (DIB/PNG)Flux d’image uniqueDocument vectoriel XMLMatriciel unique/multiple RIFFConteneur de curseur (DIB/PNG)ICO et CUR regroupent plusieurs résolutions différentes dans un seul fichier.
Prise en charge des résolutionsPlusieurs tailles fixes (16 à 256 px)Dimension fixe uniqueRésolution vectorielle infinieDimension fixe uniquePlusieurs tailles fixes (16 à 128 px)Le SVG est calculé mathématiquement, tandis que l’ICO préserve le dessin pixel par pixel en 16×16.
Point actif (Hotspot)Aucun (point d’ancrage centré)Non applicableNon applicableNon applicableCoordonnées X/Y (2 octets chacun)CUR a une structure identique à ICO à l’exception du type=2 et des coordonnées de point d’impact.
CompressionHybride (DIB non compressé + PNG Deflate)Deflate (ZLIB sans perte)Texte brut / Gzip (SVGZ)VP8 / VP8L avec et sans perteFlux DIB ou PNGL’ICO utilise la compression PNG pour les icônes 256×256 depuis Windows Vista.
Requête automatique webOui (/favicon.ico automatique)Nécessite <link rel="icon">Nécessite <link rel="icon">Nécessite <link rel="icon">Utilisé via la propriété CSS cursorLes navigateurs émettent une requête HTTP GET implicite vers /favicon.ico.
Couleurs et transparence1 bit, 4 bits, 8 bits, 32 bits RGBATruecolor 24 bits + alpha 8/16 bitsEspace colorimétrique CSS / sRGB / P3RGB 24 bits + alpha 8 bitsMasque 1 bit ou alpha RGBA 32 bitsICO et PNG prennent tous deux en charge 256 niveaux de transparence pour des ombres douces.

Intégration développeur : Favicon HTML, Node.js, Python et ImageMagick

Exemples de code prêts pour la production pour déclarer des favicons en HTML, compiler des fichiers ICO en Node.js avec sharp, exporter avec Python Pillow et traiter par lot avec ImageMagick.

HTML5 Favicon & Web Manifest Declaration:

<!-- Déclaration standard de Favicon et Manifeste HTML5 -->
<!-- 1. Compatibilité universelle classique (/favicon.ico) -->
<link rel="shortcut icon" href="/favicon.ico" sizes="16x16 32x32 48x48">

<!-- 2. Icônes PNG haute résolution pour onglets de navigateurs modernes -->
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">

<!-- 3. Icône vectorielle SVG adaptable avec prise en charge du mode sombre -->
<link rel="icon" type="image/svg+xml" href="/favicon.svg">

<!-- 4. Apple Touch Icon pour l'écran d'accueil iOS -->
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">

<!-- 5. Manifeste Web App pour Chrome Android et PWA -->
<link rel="manifest" href="/site.webmanifest">

Node.js (Sharp & png-to-ico Packaging):

// Node.js : Générer un fichier ICO multi-résolution avec sharp et png-to-ico
import { writeFileSync } from 'node:fs';
import pngToIco from 'png-to-ico';
import sharp from 'sharp';

async function generateMultiResIco(masterSvgPath, outputPath) {
  const sizes = [16, 32, 48, 64, 128, 256];
  const pngBuffers = [];

  for (const size of sizes) {
    const buf = await sharp(masterSvgPath)
      .resize(size, size, { fit: 'contain', background: { r: 0, g: 0, b: 0, alpha: 0 } })
      .png({ compressionLevel: 9 })
      .toBuffer();
    pngBuffers.push(buf);
  }

  const icoBuffer = await pngToIco(pngBuffers);
  writeFileSync(outputPath, icoBuffer);
  console.log(`ICO généré : ${outputPath} (${icoBuffer.length} octets, 6 tailles)`);
}

Python (Pillow Multi-Resolution Export):

# Python : Générer un fichier ICO multi-résolution avec Pillow (PIL)
from PIL import Image

def create_ico(source_path, output_path):
    img = Image.open(source_path).convert("RGBA")
    icon_sizes = [(16, 16), (24, 24), (32, 32), (48, 48), (64, 64), (128, 128), (256, 256)]
    
    img.save(
        output_path,
        format='ICO',
        sizes=icon_sizes
    )
    print(f"ICO enregistré avec succès dans {output_path} ({len(icon_sizes)} tailles).")

create_ico("master-logo.png", "favicon.ico")

ImageMagick CLI (Multi-Res ICO Compilation):

# ImageMagick CLI : Combiner plusieurs PNGs dans un seul conteneur ICO
# 1. Générer les images carrées individuelles depuis une source vectorielle
magick master.svg -resize 16x16 icon-16.png
magick master.svg -resize 32x32 icon-32.png
magick master.svg -resize 48x48 icon-48.png
magick master.svg -resize 256x256 icon-256.png

# 2. Assembler tous les cadres dans le fichier ICO final
magick convert icon-16.png icon-32.png icon-48.png icon-256.png favicon.ico

# 3. Inspecter les cadres internes avec identify
identify favicon.ico

Spécifications techniques détaillées

Paramètres techniques, octets magiques et normes d’encodage qui régissent le format Microsoft Windows ICO.

Nom du format
Icône Microsoft Windows (ICO)
Extensions standard
.ico
Types MIME
image/x-icon, image/vnd.microsoft.icon, image/ico
Lancement initial
1985 (Windows 1.0) · 1999 (IE5 Favicon) · 2006 (Vista PNG)
En-tête de structure
ICONDIR de 6 octets (Réservé 0x0000, Type 0x0001, Total images)
Entrée de répertoire
ICONDIRENTRY de 16 octets (Largeur, Hauteur, Couleurs, Plans, BPP, Taille, Décalage)
Données prises en charge
Windows DIB (BITMAPINFOHEADER + XOR/AND) ou flux PNG
Résolutions standard
16×16, 24×24, 32×32, 48×48, 64×64, 128×128, 256×256 px
Profondeurs de couleur
Monochrome 1 bit, 4 bits (16 coul.), 8 bits (256 coul.), 24 bits RGB, 32 bits RGBA
Transparence
Masque booléen AND 1 bit ou canal alpha réel 8 bits (256 niveaux)
Normalisation web
Norme Favicon W3C HTML5 et WHATWG (requête automatique vers /favicon.ico)
Applications principales
Favicons web, raccourcis de bureau Windows, ressources exécutables Win32

Foire aux questions sur les fichiers ICO

Qu’est-ce qu’un fichier ICO et pourquoi stocke-t-il plusieurs résolutions ?

Un fichier ICO est un conteneur d’images développé par Microsoft pour stocker plusieurs versions d’une même icône dans différentes dimensions et profondeurs de couleur au sein d’un seul fichier. Par exemple, un favicon.ico peut intégrer 16×16 px pour les onglets, 32×32 px pour les raccourcis de bureau et 256×256 px pour les écrans haute densité. Disposer d’images optimisées pour chaque taille évite aux systèmes d’exploitation et navigateurs d’effectuer une interpolation floue.

Quelle est la différence entre un ICO DIB classique et un ICO compressé en PNG ?

Les fichiers ICO classiques encodent les images sous forme de bitmaps indépendants du matériel (DIB), comprenant un BITMAPINFOHEADER de 40 octets, une matrice de pixels XOR non compressée et un masque AND 1 bit pour la transparence. Si cela convient pour 16×16 et 32×32, une image DIB 256×256 occupe 262 Ko par image. Depuis Windows Vista (2006), la norme autorise des flux PNG compressés avec Deflate, réduisant le poids à 10–20 Ko tout en conservant le canal alpha 8 bits.

Les sites web modernes doivent-ils toujours fournir un favicon.ico ou uniquement SVG et PNG ?

Les sites web modernes doivent fournir les deux. Bien que les navigateurs modernes acceptent SVG et PNG via `<link rel="icon">`, d’innombrables navigateurs d’entreprise, agrégateurs RSS, robots d’indexation et moteurs de recherche recherchent systématiquement `/favicon.ico` à la racine du serveur. Proposer un fichier `favicon.ico` multi-résolutions évite les erreurs 404 dans les journaux et assure un affichage parfait partout.

Comment Windows choisit-il la résolution d’icône à afficher ?

Lorsque Windows affiche une icône, le moteur de rendu calcule le nombre exact de pixels physiques requis selon l’échelle DPI de l’écran (100 %, 125 %, 150 % ou 200 %). Il parcourt le tableau ICONDIRENTRY dans le fichier ICO pour trouver une correspondance exacte. À défaut, Windows sélectionne la résolution immédiatement supérieure et applique une réduction bicubique pour préserver netteté et contraste.

Quelle est la différence entre les fichiers .ico (icône) et .cur (curseur) ?

ICO et CUR partagent une structure binaire quasi identique, avec deux distinctions : Le 2e octet de l’en-tête spécifie le type (0x0001 pour ICO et 0x0002 pour CUR). Dans l’entrée de 16 octets, les octets 4 à 7 indiquent les plans et bits par pixel pour un ICO, alors qu’ils définissent les coordonnées X et Y du point d’impact (hotspot) où le clic de souris est enregistré pour un CUR.

← Explorer les autres formats d’image