Legacy File Converter-LogoLegacy File Converter
Geschichtsstunde8 Min. Lesezeit

Geschichtsstunde: Was ist eine .ico-Datei? Das Windows-Symbolformat

Das Windows-Symbolformat — eine Datei mit mehreren Größen und Farbtiefen, ein kleiner Header und ein Verzeichnis vorneweg, PNG-komprimierte Bilder seit Windows Vista, ein .cur-Geschwister für Mauszeiger und die favicon.ico, die jede Website bis heute ausliefert.

·Vom Legacy File Converter-Team
Ein Retro-Desktop-PC mit Symbolen auf dem Bildschirm, ein Ordnersymbol in mehreren Größen gestapelt, eine Dokumentkarte und ein Pfeilcursor, ohne Logos

TL;DR

Eine .ico ist eine Windows-Symboldatei. Eine einzige Datei kann mehrere Bilder desselben Symbols in verschiedenen Größen und Farbtiefen enthalten, und Windows wählt das passende für den Desktop, eine Titelleiste oder ein Dialogfeld. Der Aufbau ist schlicht: ein 6-Byte-Header (reserviert, Typ, Bildanzahl), ein 16-Byte-Verzeichniseintrag pro Bild, danach die Bilddaten. Klassische Einträge sind Bitmap-Daten (DIB) mit einer AND-Maske für Transparenz; seit Windows Vista kann ein Eintrag ein vollständiges PNG sein, was 256×256-Symbole praktikabel machte. Das Cursorformat .cur ist ein Beinahe-Zwilling (Typ 2 statt 1, plus Hotspot). Im Web begann Internet Explorer 5 (März 1999), favicon.ico im Stammverzeichnis von Websites abzufragen. Für ein normales Bild konvertieren Sie .ico in PNG lokal — Legacy File Converter erledigt das auf Ihrem eigenen PC, ohne Upload.

Was ist eine .ico-Datei?

Eine .ico-Datei ist das Symbolformat von Windows. Die meisten Bilddateien enthalten ein einziges Bild; eine ICO-Datei enthält eine Symbolressource — eine kleine Sammlung von Bildern, die alle dasselbe Symbol zeigen, jeweils in anderer Größe und/oder Farbtiefe gezeichnet. Microsofts eigene Erklärung, John Hornicks Artikel Icons vom 29. September 1995, sagt es klar: Eine einzelne ICO-Datei oder eine Symbolressource in einer EXE oder DLL kann mehrere Symbolbilder enthalten, jedes mit eigener Größe und/oder Farbtiefe.

Deshalb kommt die Suche „was ist eine .ico-Datei“ meist von jemandem, der eine solche Datei in einem Programmordner, einem Web-Download oder einem alten Projekt gefunden hat und sich wundert, warum die Fotoanzeige nur ein winziges Quadrat zeigt — oder gar nichts. Die Datei ist gültig; sie ist nur ein Container für Symbolbilder, kein gewöhnliches Foto. Zu verwandten Formaten auf dieser Website siehe Geschichtsstunde: Was ist eine .bmp-Datei? und Geschichtsstunde: Was ist eine .png-Datei?.

Frühe Windows-Symbole und die Ära der Einheitsgröße

Symbole gehören seit den frühesten Desktop-Oberflächen zu Windows, doch das frühe System dachte in einer einzigen Symbolgröße. Microsofts Artikel von 1995 merkt an, dass die ursprünglichen Funktionen wie LoadIcon, ExtractIcon und DrawIcon „aus den 16-Bit-Tagen stammen, als das System nur eine Symbolgröße kannte“, und alles, was sie erhalten, auf die große Standardgröße strecken.

Mit Windows 95 und den folgenden Windows-NT-Versionen unterschied Windows kleine und große Symbole für System und Shell, und neue Funktionen (die Ex-Varianten, LoadImage, DrawIconEx) konnten eine bestimmte Größe anfordern. Die Richtlinien von 1995 empfahlen Entwicklern mindestens 16×16 und 32×32 in 16 Farben sowie 48×48 in 256 Farben. Das Format konnte ungewöhnliche Größen schon lange aufnehmen; Windows holte nur auf, um sie auch zu nutzen.

Eine Datei, viele Größen und Farbtiefen

Braucht Windows ein Symbol, durchsucht es die Bilder der Ressource. Nach Microsofts Regeln von 1995 wählt es das Bild, dessen Größe der angeforderten am nächsten kommt; teilen sich mehrere diese Größe, bevorzugt es das, das zur Farbtiefe des Bildschirms passt, sonst das tiefste, das sie nicht überschreitet. Kleine Größen sind keine bloß verkleinerten Kopien — Designer zeichnen sie oft neu, damit eine 16×16-Version lesbar bleibt.

Microsofts Symbolrichtlinien für Windows Vista nannten später als vollständigen Satz für Anwendungssymbole 16×16, 32×32, 48×48 und 256×256, mit 32-Bit-Grafik (inklusive Alpha) plus 8-Bit- und 4-Bit-Palettenversionen etwa für Remotedesktop. Eine kleine .ico kann daher ein Dutzend Bilder oder mehr enthalten — genau das sieht man, wenn man sie in einem Symboleditor öffnet.

Viele Bilder, ein Symbol

Zeigt ein Betrachter ein anders aussehendes oder winziges Bild, hat er wahrscheinlich einen von mehreren Einträgen gewählt. In PNG umwandeln heißt meist, einen Eintrag — normalerweise den größten — auszuwählen und zu exportieren.

Wie eine .ico-Datei aufgebaut ist

Der Aufbau passt in einen Absatz. Die Datei beginnt mit einem ICONDIR-Header aus drei 2-Byte-Wörtern: einem reservierten Wert, der 0 sein muss, einem Typ, der 1 für Symbole ist, und einer Anzahl der Bilder. Danach folgt pro Bild ein ICONDIRENTRY — je 16 Byte — mit Breite, Höhe, Farbanzahl, Ebenen, Bits pro Pixel, der Anzahl der Bytes an Bilddaten und dem Offset, an dem diese Daten in der Datei beginnen.

Jedes klassische Bild ist ein DIB (geräteunabhängige Bitmap) — ein BITMAPINFOHEADER, eine optionale Farbtabelle, die XOR-Maske (die Farbpixel) und eine 1-Bit-AND-Maske, die transparente Bereiche markiert. Microsoft weist auf eine klassische Falle hin: Die Höhe im Header ist die kombinierte Höhe beider Masken und erscheint daher doppelt so groß wie die echte Symbolhöhe. In derselben Familie nutzen Symbole in EXE- und DLL-Dateien nahezu dieselben Strukturen als RT_GROUP_ICON- und RT_ICON-Ressourcen.

PNG im Symbol seit Windows Vista

Größere Symbole machten Bitmap-Daten schwer. Ein Artikel im MSDN Magazine von 2008 über das Dekodieren von Windows-Vista-Symbolen erklärt, dass die wachsenden Bitmaps zu viel Platz auf der Festplatte und im Speicher belegten, weshalb Microsoft PNG wählte: Symbole in Windows Vista können PNG-Bilder statt DIBs einbetten, was 256×256-Symbole in 32 Bit zu einem Bruchteil der Größe praktikabel machte. Microsofts Vista-Richtlinien sagen, dass nur das 256×256-Bild komprimiert werden soll und kleinere Größen in klassischer Form bleiben.

Ein 1-Byte-Feld für Breite oder Höhe kann 256 nicht speichern, daher wird eine 0 im Verzeichniseintrag als 256 gelesen. Für Software, die vor Vista geschrieben wurde, ist ein PNG-komprimierter Eintrag unbekannte Daten — ein Grund, warum manche älteren Werkzeuge an modernen .ico-Dateien scheitern, obwohl Windows selbst sie problemlos anzeigt.

Altes Werkzeug, neues Symbol

Ein Editor aus der Windows-XP-Zeit öffnet vielleicht die kleinen Bitmap-Einträge eines modernen Symbols, scheitert aber am 256×256-PNG-Eintrag — oder lehnt die ganze Datei ab. Das Symbol ist nicht beschädigt; das Programm ist einfach älter als PNG-in-ICO.

Das .cur-Geschwister für Mauszeiger

Mauszeiger nutzen ein fast identisches Format mit der Endung .cur. Microsofts Artikel von 1995 nennt Cursor „Symbolen sehr ähnlich“ — so ähnlich, dass der Beispiel-Symboleditor .CUR-Dateien lesen konnte, wenn man eine einzige Prüfung lockerte: den Header-Typ 2 für Cursor statt 1 für Symbole. Der MSDN-Artikel von 2008 wiederholt die Regel: Das zweite Wort ist 1 für Symbole und 2 für Cursor.

Die wesentliche Ergänzung eines Cursors ist der Hotspot, die Pixelkoordinaten, die als Spitze des Zeigers gelten. Wie Raymond Chen in The Old New Thing beschreibt, beginnen Cursor-Bildressourcen vor den Bitmap-Daten mit den x- und y-Koordinaten des Hotspots. Animierte Cursor (.ani) sind ein eigenes Format und nicht Teil dieser Lektion.

favicon.ico im Web

Über den Browser verließ das .ico-Format den Desktop. Internet Explorer 5, erschienen im März 1999, fragte eine Datei namens favicon.ico im Stammverzeichnis einer Website ab, wenn ein Nutzer sie zu den Favoriten hinzufügte, und zeigte dieses Symbol in der Favoritenliste. Raymond Chen erklärte später, dass IE nur beim Hinzufügen zu den Favoriten danach suchte, nicht bei jedem Besuch, um Server nicht zu belasten. Seiten konnten mit einem link-Element im HTML auch einen anderen Speicherort angeben.

Heutige Browser akzeptieren auch andere Formate für Website-Symbole, doch viele Websites halten weiterhin eine favicon.ico im Stammverzeichnis bereit, und Microsofts IE-Team merkte an, dass die Fähigkeit von ICO, mehrere Größen zu enthalten, zu den vielen Orten passt, an denen ein Website-Symbol erscheint — Tabs, Favoriten, Verknüpfungen. Eine .ico im Downloads-Ordner ist daher oft einfach ein aus dem Web gespeichertes Website-Symbol.

.ico lokal in PNG umwandeln

Umbenennen von .ico in .png funktioniert nicht: Die Datei beginnt mit dem ICONDIR-Header, nicht mit einer PNG-Signatur, und kann viele Bilder enthalten. Eine echte Konvertierung liest das Verzeichnis, wählt einen Eintrag — meist den größten —, dekodiert die Bitmap- oder PNG-Daten, wendet die Transparenzmaske an und schreibt ein normales PNG, das den Alphakanal behält. Wählen Sie JPG nur, wenn Sie keine Transparenz brauchen.

Legacy File Converter öffnet .ico-Dateien auf Ihrem eigenen Windows-PC und konvertiert sie in PNG oder JPG — nichts wird hochgeladen, was zählt, wenn die Symbole zu einem Kundenprojekt oder einer internen Anwendung gehören. So werden Legacy-Dateien wie alte Symbolsätze in aller Ruhe zu Bildern, die jede Anwendung öffnen kann. Zu benachbarten Lektionen siehe BMP, PNG und WebP.

Bereit, Ihre alten Dateien zu öffnen?

Starten Sie kostenlos und schalten Sie dann mit einer einmaligen Standard-Lizenz für $79.95 unbegrenzte Konvertierungen frei. Laden Sie das Windows-Installationsprogramm herunter – alle Funktionen für bis zu 10 Dateien.

Kostenlose Testversion

Alle App-Funktionen · bis zu 10 Dateien

Windows 10 oder 11

Dieselbe kostenlose Testversion wie immer – laden Sie das Windows-Installationsprogramm herunter und konvertieren Sie lokal auf Ihrem PC.

Kostenlos testen – Installationsprogramm herunterladen

Direktes Windows-Installationsprogramm · Offline-MSI

Ist das sicher? — Herausgeber, Installationsprogramm und SmartScreen-Hilfe

Standard kaufen – $79.95

Erfordert Windows 10 oder 11. Kein Abo. 100 % Windows-nativ.