Zum Inhalt springen

ICO · 5 ICO-Beispieldateien verfügbar

ICO-Beispieldateien herunterladen

Laden Sie kostenlose ICO-Beispieldateien herunter, darunter Web-Favicons mit mehreren Auflösungen, Windows-App-Suiten, hochauflösende Retina-Icons und klassische DIBs.

5 ICO-Beispieldateien verfügbar 16×16 bis 256×256 · Multi-Res & PNG/DIB Standardformat für Favicons und Anwendungs-Icons

ICO-Testsuite

Kostenlose ICO-Beispieldateien zum Download

5 ICO-Beispieldateien verfügbar

sample-ico-favicon-multi-res-16-32-48.ico

sample-ico-favicon-multi-res-16-32-48.ico

Dimensionen:16×16, 32×32, 48×48

4,9 KB

ICO ICO-Beispiel herunterladen

Technische Spezifikation & Leitfaden

ICO-Formatarchitektur, Favicon-Standards und Container-Spezifikationen

Das Microsoft-Windows-Icon-Format (.ico) ist ein Bild-Containerformat, das entwickelt wurde, um mehrere Raster-Bitmaps und komprimierte PNG-Bilder in verschiedenen Auflösungen, Farbtiefen und Paletten in einer einzigen Datei zu bündeln. Eingeführt in Windows 1.0 (1985) und 1999 von Internet Explorer 5 als universeller Web-Favicon-Standard etabliert, bildet ICO bis heute das Fundament für Windows-Oberflächen-Icons und Browser-Tab-Identität.

Entwicklung von Windows 1.0 bis Windows Vista und modernen Web-Favicons

Eingeführt 1985 mit Microsoft Windows 1.0, kapselte das ICO-Format ursprünglich feste monochrome Bitmaps (1 Bit, 32×32 Pixel). Mit Windows 3.0 und 95 erweiterten sich die Paletten auf 16 Farben (4-Bit-EGA) und 256 Farben (8-Bit-VGA), ergänzt um eine 1-Bit-AND-Transparenzmaske neben der XOR-Farbmatrix.

Mit Windows XP (2001) führte Microsoft 32-Bit-RGBA-Icons mit echtem 8-Bit-Alphakanal (256 Transparenzstufen für sanfte Schlagschatten) innerhalb von DIB-Strukturen (Device-Independent Bitmap) ein.

Windows Vista (2006) brachte die entscheidende Modernisierung: die native Unterstützung von Deflate-komprimierten PNG-Streams innerhalb des ICO-Containers für 256×256-Pixel-Retina-Icons. Dies reduzierte die Dateigröße von mehreren Megabyte auf wenige Kilobyte bei voller Rückwärtskompatibilität zu DIB-Icons.

Im Web führte Microsoft mit dem Internet Explorer 5 (März 1999) die Konvention /favicon.ico im Stammverzeichnis ein. Von W3C und WHATWG standardisiert, fordern Webbrowser weltweit /favicon.ico automatisch an, um Tabs, Lesezeichen und Startbildschirm-Kacheln darzustellen.

Binäre Architektur: ICONDIR, ICONDIRENTRY und Datenkodierung

Eine ICO-Datei beginnt mit einem 6-Byte-Header (ICONDIR): zwei reservierte Null-Bytes (0x0000), eine 2-Byte-Typkennung (0x0001 für ICO, 0x0002 für Cursor .cur) und eine 2-Byte-Ganzzahl, die die Anzahl der enthaltenen Bilder (idCount) angibt.

Unmittelbar darauf folgt ein Array aus 16-Byte-Verzeichniseinträgen (ICONDIRENTRY). Jeder Eintrag spezifiziert Bildbreite (1 Byte; 0 entspricht 256 px), Bildhöhe (1 Byte; 0 entspricht 256 px), Farbanzahl (1 Byte), reserviertes Byte (0x00), Farbebenen (2 Bytes), Bits pro Pixel (2 Bytes, z. B. 32 für RGBA), Bytegröße des Bildes (4 Bytes) und absoluten Dateioffset (4 Bytes).

Die Bilddaten folgen zwei Formaten: klassisches DIB oder moderner PNG-Stream. Bei DIB-Icons beginnt das Bild mit einem 40-Byte-BITMAPINFOHEADER, bei dem biHeight genau doppelt so hoch deklariert ist wie die sichtbare Höhe, um Pixeldaten und AND-Maske aufzunehmen.

Bei PNG-Icons (Standard seit Windows Vista) beginnt der Datenstrom mit der 8-Byte-PNG-Signatur (0x89 0x50 0x4E 0x47 0x0D 0x0A 0x1A 0x0A), gefolgt von IHDR-, IDAT- und IEND-Chunks für verlustfreie Deflate-Kompression bei 256×256, 128×128 und 64×64 Pixeln.

Kernvorteile und architektonische Merkmale von ICO

Multi-Auflösungs-Paketierung: Eine einzige .ico-Datei enthält maßgeschneiderte Grafiken für 16×16 (Browser-Tab / Taskleiste), 32×32 (Desktop-Icon / Dateimanager), 48×48 (große Symbole) und 256×256 (Retina / Extra-Großansicht), wodurch unscharfe Skalierungen vermieden werden.

Echte 8-Bit-Alphatransparenz: 32-Bit-RGBA-Icons unterstützen 256 Deckkraftstufen für weiche Schatten und saubere Kanten auf hellen wie dunklen Hintergründen.

Universeller Fallback: Jeder grafische Webbrowser ruft /favicon.ico standardmäßig ohne zusätzliche HTML-Tags oder JavaScript ab.

Hybride Kompressions-Engine: Verbindet verzögerungsfreie DIB-Dekodierung für Kleinstformate (16×16 und 32×32) mit PNG-Deflate-Kompression für hochauflösende Grafiken.

Betriebssystem- und Softwarekompatibilität

Microsoft Windows: Vollständige native Unterstützung von Windows 1.0 bis Windows 11 für Desktop-Verknüpfungen, ausführbare Dateien (.exe, .dll) und Fensterleisten.

Webbrowser: Universelle Unterstützung in Chrome, Firefox, Safari, Edge, Opera und Internet Explorer.

Grafiksoftware: Adobe Photoshop (über ICOFormat-Plugin), GIMP (vollständige native Unterstützung), Inkscape, ImageMagick, IcoFX und Axialis IconWorkshop.

Entwicklungsumgebungen: Visual Studio, Electron, Node.js (sharp, png-to-ico), Python (Pillow), Go, Rust und .NET System.Drawing.Icon.

Technischer Formatvergleich: ICO vs. PNG vs. SVG vs. WebP vs. CUR

Vergleichen Sie die Container-Eigenschaften von Microsoft ICO mit eigenständigen Rasterformaten, Vektorgrafiken und Windows-Cursor-Dateien.

Technisches MerkmalICO (Icon-Container)PNG (Portables Raster)SVG (Vektorgrafik)WebP (Modernes Raster)CUR (Windows-Cursor)Praxishinweise
ContainertypMulti-Bild-Container (DIB/PNG)Einzelbild-DatenstromXML-VektordokumentEinzel-/Mehrbild-RIFF-RasterCursor-Container (DIB/PNG)ICO und CUR bündeln mehrere Auflösungen in einer einzigen Datei.
AuflösungsunterstützungMehrere feste Größen (16 bis 256 px)Einzelne feste AbmessungBeliebig stufenlos skalierbarEinzelne feste AbmessungMehrere feste Größen (16 bis 128 px)SVG skaliert stufenlos, während ICO pixelgenaue Handzeichnungen bei 16×16 bewahrt.
Klickpunkt (Hotspot)Keiner (zentrierter Anker)Nicht zutreffendNicht zutreffendNicht zutreffendX/Y-Hotspot (je 2 Bytes)CUR hat identischen Aufbau wie ICO, unterscheidet sich nur durch Typ=2 und Hotspot-Koordinaten.
KomprimierungHybrid (Unkomprimiertes DIB + PNG Deflate)Deflate (ZLIB verlustfrei)Klartext / Gzip (SVGZ)VP8 / VP8L verlustbehaftet & verlustfreiDIB- oder PNG-DatenstromICO nutzt seit Windows Vista PNG-Kompression für 256×256-Icons.
Automatischer Web-AbrufJa (/favicon.ico automatisch)Erfordert <link rel="icon">Erfordert <link rel="icon">Erfordert <link rel="icon">Wird über CSS-cursor-Eigenschaft geladenWebbrowser senden eigenständig eine HTTP-Anfrage an /favicon.ico.
Farb- und Alphakanal1-Bit, 4-Bit, 8-Bit, 32-Bit RGBA24-Bit Truecolor + 8/16-Bit AlphaVollständiger CSS / sRGB / P3 Farbraum24-Bit RGB + 8-Bit Alpha1-Bit-Maske oder 32-Bit-RGBA-AlphaSowohl ICO als auch PNG unterstützen 256 Transparenzstufen für weiche Schatten.

Entwickler-Integration: Favicon-HTML, Node.js, Python und ImageMagick

Erprobte Codebeispiele zur Favicon-Einbindung in HTML, ICO-Erstellung mit Node.js und sharp, Export mit Python Pillow sowie Batch-Kompilierung mit ImageMagick.

HTML5 Favicon & Web Manifest Declaration:

<!-- Standardmäßige HTML5-Favicon- und Manifest-Deklaration -->
<!-- 1. Universeller Standard-Fallback (/favicon.ico) -->
<link rel="shortcut icon" href="/favicon.ico" sizes="16x16 32x32 48x48">

<!-- 2. Hochauflösende PNG-Icons für moderne Browser-Tabs -->
<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. Skalierbares SVG-Vektoricon mit Dark-Mode-Unterstützung -->
<link rel="icon" type="image/svg+xml" href="/favicon.svg">

<!-- 4. Apple Touch Icon für iOS-Startbildschirm-Lesezeichen -->
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">

<!-- 5. Web-App-Manifest für Chrome Android und PWA-Installationen -->
<link rel="manifest" href="/site.webmanifest">

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

// Node.js: Mehrere PNG-Buffer in eine ICO-Datei mit sharp und png-to-ico packen
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 generiert: ${outputPath} (${icoBuffer.length} Bytes, 6 Größen)`);
}

Python (Pillow Multi-Resolution Export):

# Python: Multi-Auflösungs-ICO-Datei mit Pillow (PIL) erstellen
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 erfolgreich gespeichert: {output_path} ({len(icon_sizes)} Größen)")

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

ImageMagick CLI (Multi-Res ICO Compilation):

# ImageMagick CLI: Mehrere PNGs in eine ICO-Datei bündeln
# 1. Einzelne quadratische PNGs aus einer Vektorquelle rendern
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. Alle Frames in eine Multi-Auflösungs-ICO-Datei packen
magick convert icon-16.png icon-32.png icon-48.png icon-256.png favicon.ico

# 3. Interne Frames mit identify überprüfen
identify favicon.ico

Detaillierte technische Spezifikationen

Technische Kennzahlen, Magic Bytes und Kodierungsstandards des Microsoft-Windows-ICO-Formats.

Formatname
Microsoft Windows Icon (ICO)
Dateiendung
.ico
MIME-Typen
image/x-icon, image/vnd.microsoft.icon, image/ico
Erstveröffentlichung
1985 (Windows 1.0) · 1999 (IE5 Favicon) · 2006 (Vista PNG)
Struktur-Header
6-Byte-ICONDIR (Reserviert 0x0000, Typ 0x0001, Bildanzahl)
Verzeichniseintrag
16-Byte-ICONDIRENTRY (Breite, Höhe, Farben, Ebenen, BPP, Größe, Offset)
Unterstützte Daten
Windows-DIB (BITMAPINFOHEADER + XOR/AND) oder PNG-Stream
Standard-Auflösungen
16×16, 24×24, 32×32, 48×48, 64×64, 128×128, 256×256 px
Farbtiefen
1-Bit Monochrom, 4-Bit (16 F.), 8-Bit (256 F.), 24-Bit RGB, 32-Bit RGBA
Transparenz
1-Bit boolesche AND-Maske oder echter 8-Bit-Alphakanal (256 Stufen)
Web-Standardisierung
W3C HTML5 & WHATWG Favicon-Standard (/favicon.ico Auto-Fetch)
Hauptanwendungen
Browser-Favicons, Windows-Desktop-Icons, Win32-Ressourcendateien

Häufig gestellte Fragen zu ICO-Dateien

Was ist eine ICO-Datei und warum werden mehrere Auflösungen darin gespeichert?

Eine ICO-Datei ist ein Bild-Containerformat von Microsoft, das mehrere Versionen eines Icons in unterschiedlichen Abmessungen und Farbtiefen in einer Datei zusammenfasst. Ein Favicon kann beispielsweise 16×16 px für Browser-Tabs, 32×32 px für Desktop-Verknüpfungen und 256×256 px für hochauflösende Bildschirme enthalten. Durch die Hinterlegung passender Grafiken für jede Darstellungsgröße müssen Betriebssystem und Browser Bilder nicht unscharf interpolieren.

Was ist der Unterschied zwischen klassischem DIB-ICO und PNG-komprimiertem ICO?

Klassische ICO-Dateien kodieren Grafiken als geräteunabhängige Bitmaps (DIB), bestehend aus einem 40-Byte-BITMAPINFOHEADER, unkomprimierten XOR-Farbdaten und einer 1-Bit-AND-Maske für Transparenz. Während dies bei 16×16 und 32×32 sparsam ist, benötigt ein unkomprimiertes 256×256-DIB-Icon 262 KB Speicherplatz. Seit Windows Vista (2006) erlaubt die Spezifikation PNG-komprimierte Streams, wodurch die Dateigröße bei voller 8-Bit-Transparenz auf 10–20 KB sinkt.

Sollten moderne Websites weiterhin favicon.ico verwenden oder nur noch SVG und PNG?

Moderne Webprojekte sollten beides bereitstellen. Zwar unterstützen moderne Browser SVG und PNG über `<link rel="icon">`, jedoch rufen unzählige ältere Unternehmensbrowser, RSS-Reader, Web-Crawler und Suchmaschinen-Bots standardmäßig die Datei `/favicon.ico` im Root-Verzeichnis ab. Das Bereitstellen einer Multi-Resolution-`favicon.ico` verhindert 404-Serverfehler und garantiert lückenlose Kompatibilität.

Wie wählt Windows aus, welche Icon-Auflösung angezeigt wird?

Beim Zeichnen eines Icons berechnet Windows anhand des DPI-Skalierungsfaktors (z. B. 100 %, 125 %, 150 % oder 200 %) die exakt benötigte Pixelgröße. Es durchsucht die ICONDIRENTRY-Tabelle in der ICO-Datei nach einer exakten Übereinstimmung. Wird keine exakte Größe gefunden, wählt Windows das nächstgrößere Bild und skaliert es mit bikubischer Filterung herunter, um Schärfe und Kontrast zu erhalten.

Was ist der Unterschied zwischen .ico- und .cur-Dateien?

ICO und CUR besitzen fast die identische Binärstruktur mit zwei Abweichungen: Byte 2 des Headers definiert den Typ (0x0001 für ICO und 0x0002 für CUR). Im 16-Byte-Verzeichniseintrag stehen beim ICO an den Bytes 4–7 Farbebenen und Bits pro Pixel, während beim CUR dort die X- und Y-Koordinaten des Klick-Hotspots gespeichert sind.

← Weitere Bildformate entdecken