sample-ico-favicon-multi-res-16-32-48.ico
Dimensionen:16×16, 32×32, 48×48
4,9 KB
ICO ICO-Beispiel herunterladenICO · 5 ICO-Beispieldateien verfügbar
Laden Sie kostenlose ICO-Beispieldateien herunter, darunter Web-Favicons mit mehreren Auflösungen, Windows-App-Suiten, hochauflösende Retina-Icons und klassische DIBs.
ICO-Testsuite
5 ICO-Beispieldateien verfügbar
sample-ico-favicon-multi-res-16-32-48.ico
Dimensionen:16×16, 32×32, 48×48
4,9 KB
ICO ICO-Beispiel herunterladensample-ico-app-complete-16-to-256.ico
Dimensionen:16×16 to 256×256
20,3 KB
ICO ICO-Beispiel herunterladensample-ico-high-res-256x256.ico
Dimensionen:256×256
10 KB
ICO ICO-Beispiel herunterladensample-ico-standard-32x32.ico
Dimensionen:32×32
1,4 KB
ICO ICO-Beispiel herunterladensample-ico-classic-dib-32x32.ico
Dimensionen:32×32
4,2 KB
ICO ICO-Beispiel herunterladenTechnische Spezifikation & Leitfaden
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.
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.
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.
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.
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.
Vergleichen Sie die Container-Eigenschaften von Microsoft ICO mit eigenständigen Rasterformaten, Vektorgrafiken und Windows-Cursor-Dateien.
| Technisches Merkmal | ICO (Icon-Container) | PNG (Portables Raster) | SVG (Vektorgrafik) | WebP (Modernes Raster) | CUR (Windows-Cursor) | Praxishinweise |
|---|---|---|---|---|---|---|
| Containertyp | Multi-Bild-Container (DIB/PNG) | Einzelbild-Datenstrom | XML-Vektordokument | Einzel-/Mehrbild-RIFF-Raster | Cursor-Container (DIB/PNG) | ICO und CUR bündeln mehrere Auflösungen in einer einzigen Datei. |
| Auflösungsunterstützung | Mehrere feste Größen (16 bis 256 px) | Einzelne feste Abmessung | Beliebig stufenlos skalierbar | Einzelne feste Abmessung | Mehrere 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 zutreffend | Nicht zutreffend | Nicht zutreffend | X/Y-Hotspot (je 2 Bytes) | CUR hat identischen Aufbau wie ICO, unterscheidet sich nur durch Typ=2 und Hotspot-Koordinaten. |
| Komprimierung | Hybrid (Unkomprimiertes DIB + PNG Deflate) | Deflate (ZLIB verlustfrei) | Klartext / Gzip (SVGZ) | VP8 / VP8L verlustbehaftet & verlustfrei | DIB- oder PNG-Datenstrom | ICO nutzt seit Windows Vista PNG-Kompression für 256×256-Icons. |
| Automatischer Web-Abruf | Ja (/favicon.ico automatisch) | Erfordert <link rel="icon"> | Erfordert <link rel="icon"> | Erfordert <link rel="icon"> | Wird über CSS-cursor-Eigenschaft geladen | Webbrowser senden eigenständig eine HTTP-Anfrage an /favicon.ico. |
| Farb- und Alphakanal | 1-Bit, 4-Bit, 8-Bit, 32-Bit RGBA | 24-Bit Truecolor + 8/16-Bit Alpha | Vollständiger CSS / sRGB / P3 Farbraum | 24-Bit RGB + 8-Bit Alpha | 1-Bit-Maske oder 32-Bit-RGBA-Alpha | Sowohl ICO als auch PNG unterstützen 256 Transparenzstufen für weiche Schatten. |
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.icoTechnische Kennzahlen, Magic Bytes und Kodierungsstandards des Microsoft-Windows-ICO-Formats.
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.
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.
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.
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.
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.