Dateiformate
Was ist BMP? Das Bitmap-Format einfach erklärt
BMP ist das unkomprimierte, verlustfreie Bitmap-Format von Windows. Wir erklären Header-Aufbau, Farbtiefen und Grenzen des Formats und wie Sie die Dateien kleiner bekommen.
Autor: Hemen Dönüştür Editör EkibiVeröffentlicht: 8 Min. Lesezeit

BMP ist eines der ältesten und einfachsten Bildformate der Windows-Welt. Eine BMP-Datei schreibt die Pixel meist Zeile für Zeile ganz ohne Komprimierung auf die Festplatte. Diese Einfachheit macht das Format leicht lesbar und verlustfrei, und dieselbe Einfachheit macht die Dateien riesig. Dieser Artikel zeigt, woher BMP stammt, was in der Datei steckt, welche Details bei Farbtiefe und Transparenz zu beachten sind, wo Ihnen das Format heute noch begegnet und wie Sie BMP-Dateien in praktischere Formate umwandeln.
Was ist BMP?
BMP (Bitmap, Dateiendung .bmp) ist ein pixelbasiertes Rasterbildformat. In technischen Dokumentationen heißt es auch DIB, also geräteunabhängige Bitmap (Device-Independent Bitmap). „Geräteunabhängig“ bedeutet, dass das Bild unabhängig von der Grafikkarte oder dem Drucker, auf dem es entstanden ist, gleich interpretiert werden kann: Die Datei trägt die nötigen Informationen zur Dekodierung ihrer Farben im eigenen Header und in der Farbtabelle.
Laut der Win32-Dokumentation von Microsoft beginnt eine Bitmap-Datei mit der Struktur BITMAPFILEHEADER, gefolgt von einem BITMAPINFOHEADER, BITMAPV4HEADER oder BITMAPV5HEADER, dann einer optionalen Farbtabelle und schließlich den Pixeldaten. Der MIME-Typ lautet image/bmp.
Eine kurze Geschichte: von Windows und OS/2 bis heute
BMP entstand Ende der 1980er-Jahre aus der Zusammenarbeit von Microsoft und IBM an Windows und OS/2. Bitmaps hingen in der Zeit von Windows 1.0 stark vom Ausgabegerät ab; die geräteunabhängige Form setzte sich 1990 mit Windows 3.0 durch. Der für den OS/2 Presentation Manager definierte 12-Byte-Header BITMAPCOREHEADER ist der Grund, warum man bis heute von „OS/2-BMP“-Dateien spricht.
Im Lauf der Jahre wurde das Format erweitert, indem neue Felder ans Ende des Headers angehängt wurden. Laut der Formatbeschreibung der Library of Congress kam Version 5 im Jahr 1998 mit Windows 98 und ermöglichte es, ICC-Farbprofile in der Datei zu hinterlegen. Die heute üblichen Header-Größen:
| Header | Größe | Wichtigste Neuerung |
|---|---|---|
| BITMAPCOREHEADER | 12 Byte | Grundstruktur, kompatibel mit OS/2 1.x |
| BITMAPINFOHEADER | 40 Byte | Der häufigste Header, seit Windows 3.0; Felder für Komprimierung und Auflösung |
| BITMAPV4HEADER | 108 Byte | Farbmasken, eine Alphamaske und Farbrauminformationen |
| BITMAPV5HEADER | 124 Byte | Eingebettete oder verknüpfte ICC-Profile, Rendering Intent |
Lesende Programme erkennen den verwendeten Header am Größenwert in seinem ersten Feld. So kann ältere Software die neueren Felder ignorieren und trotzdem die Grunddaten lesen.
Der Aufbau einer BMP-Datei
Datei-Header und die Signatur „BM“
Jede BMP-Datei beginnt mit einem 14 Byte langen Datei-Header, dessen erste zwei Bytes die ASCII-Zeichen BM (hex 42 4D) sind. Der Header speichert die Gesamtgröße der Datei und den Byte-Offset, an dem die Pixeldaten beginnen. Eine DIB in der Windows-Zwischenablage (Format CF_DIB) lässt diese 14 Byte weg und beginnt direkt mit dem Info-Header.
Info-Header
Der Info-Header enthält Breite, Höhe, Bits pro Pixel (biBitCount), Komprimierungsart, horizontale und vertikale Auflösung (in Pixeln pro Meter) und die Anzahl der in der Farbtabelle verwendeten Farben.
Farbtabelle (Palette)
Bei Bildern mit 8 Bit pro Pixel oder weniger ist ein Pixel keine Farbe, sondern ein Index in die Farbtabelle. Im dokumentierten Beispiel von Microsoft hat eine 32x32-Bitmap mit 16 Farben ein Pixelfeld von 32 x 32 x 4 = 4096 Bit, weil 4 Bit genügen, um 16 Farben zu adressieren.
Pixeldaten: Zeilen von unten nach oben und 4-Byte-Ausrichtung
BMP hat zwei ungewöhnliche Eigenschaften. Erstens werden die Zeilen bei positiver Höhe von unten nach oben gespeichert: Die erste Zeile in der Datei ist die unterste Zeile des Bildes. Eine negative Höhe speichert die Zeilen von oben nach unten, solche Bilder lassen sich jedoch nicht komprimieren. Zweitens wird jede Zeile auf ein Vielfaches von 4 Byte aufgefüllt. Microsoft gibt die Zeilenlänge (Stride) so an:
stride = ((width * bitCount + 31) & ~31) >> 3
imageSize = |height| * stride
Bei einem Bild mit 1920x1080 Pixeln und 24 Bit ist jede Zeile 1920 x 3 = 5.760 Byte lang (bereits ein Vielfaches von 4), die Pixeldaten umfassen also 5.760 x 1.080 = 6.220.800 Byte. Mit den 54 Byte Header ist die Datei rund 6,2 MB groß. Dasselbe Bild als JPG ist meist nur ein kleiner Bruchteil davon.
Farbtiefe, Komprimierung und Transparenz
Die Dokumentation zu BITMAPV5HEADER definiert 1, 4, 8, 16, 24 und 32 Bit pro Pixel (der Wert 0 bedeutet, dass sich die Tiefe aus eingebetteten JPEG- oder PNG-Daten ergibt). 1 Bit ist Schwarzweiß, 4 Bit sind 16 Farben und 8 Bit eine Palette mit 256 Farben. Bei 24 Bit besteht jedes Pixel aus drei Bytes in der Reihenfolge Blau, Grün, Rot.
Das Komprimierungsfeld kann folgende Werte annehmen:
- BI_RGB: Unkomprimiert. In der Praxis die große Mehrheit aller BMP-Dateien.
- BI_RLE8 und BI_RLE4: Einfache Lauflängenkodierung für Palettenbilder mit 8 und 4 Bit. Nützlich bei großen einfarbigen Flächen, bei Fotos fast wirkungslos.
- BI_BITFIELDS: Keine Komprimierung; Masken legen fest, wo die Rot-, Grün- und Blau-Bits in 16- und 32-Bit-Pixeln liegen (zum Beispiel RGB 565).
- BI_JPEG und BI_PNG: Erlauben JPEG- oder PNG-Daten innerhalb der Bitmap. Von gängigen Bildbetrachtern selten unterstützt.
Transparenz ist der uneinheitlichste Bereich von BMP. Die Alphamaske in V4- und V5-Headern kann das vierte Byte eines 32-Bit-Pixels als Deckkraft definieren, in einem klassischen 32-Bit-BMP gilt dieses Byte jedoch als unbenutzt, und viele Programme ignorieren es. Ein 32-Bit-BMP, das in einem Programm transparent aussieht und in einem anderen auf Schwarz liegt, ist daher nichts Ungewöhnliches. Wenn Sie Transparenz brauchen, ist PNG die weitaus sicherere Wahl.
Unterstützung in Systemen, Browsern und Software
BMP lässt sich fast überall öffnen. Die integrierten Bildbetrachter von Windows und Paint, die Vorschau von macOS und gängige Linux-Betrachter lesen es alle. Der Bildformat-Leitfaden von MDN führt BMP-Unterstützung in allen Versionen von Chrome, Edge, Firefox, Opera und Safari. Derselbe Leitfaden betont aber auch, dass unkomprimierte BMP-Dateien im Vergleich zu PNG oder JPG sehr groß sind und für Website-Inhalte grundsätzlich vermieden werden sollten.
Wo wird BMP heute verwendet?
- Ressourcen von Windows-Anwendungen und Altsoftware: Symbolleistenbilder, Grafiken in Installationsassistenten und manche Spielressourcen sind noch immer BMP.
- Eingebettete Systeme und Mikrocontroller: Ein Gerät mit Display braucht keinen JPEG-Decoder; die Pixeldaten können direkt auf den Bildschirm kopiert werden.
- Industriekameras, Scanner und Testwerkzeuge: Wenn eine rohe, verlustfreie Ausgabe gebraucht wird, ist BMP ein einfaches Zwischenformat.
- Lehre: Mit einem Header von nur ein paar Dutzend Bytes ist BMP oft das erste Format, das Studierende in Kursen zur Bildverarbeitung lesen und schreiben.
Stärken und Schwächen
| Stärken | Schwächen |
|---|---|
| Verlustfrei; Pixelwerte ändern sich nie | Unkomprimiert, daher sehr große Dateien |
| Trivial zu lesen und zu schreiben, keine CPU-Last | Uneinheitliche Unterstützung für Transparenz |
| Öffnet in nahezu jedem Betriebssystem und Browser | Schwache Unterstützung für Metadaten (EXIF, Beschreibungen) |
| Palettenmodi eignen sich für Geräte mit wenig Ressourcen | Unpraktisch für Web, E-Mail und Upload-Formulare |
Häufige Probleme und ihre Lösung
Die Datei ist zu groß für E-Mail oder ein Upload-Formular
Das ist das häufigste Problem. Bei Fotos und Scans verkleinert BMP in JPG umwandeln die Datei meist um eine Größenordnung oder mehr. Für Screenshots, Diagramme oder alles mit Text ist BMP in PNG umwandeln besser: PNG ist ebenfalls verlustfrei, aber komprimiert, und erzeugt nicht das Rauschen, das JPG um scharfe Kanten herum verursacht.
Ein 32-Bit-BMP zeigt einen schwarzen Hintergrund
Das Programm erkennt das Alpha-Byte nicht oder liest es falsch. Eine Umwandlung in PNG behebt das meist. Bei der Umwandlung in JPG, das keine Transparenz kennt, werden transparente Bereiche mit Weiß oder einer von Ihnen gewählten Farbe gefüllt.
Das Bild steht auf dem Kopf oder ist verzerrt
In einem selbst geschriebenen Leseprogramm liegt das meist an zwei Fehlern: Es wird übersehen, dass die Zeilen von unten nach oben gespeichert sind, oder die Füllbytes am Ende jeder Zeile werden nicht übersprungen. Wer die Stride-Formel oben nutzt und das Vorzeichen der Höhe prüft, vermeidet beides.
Ein Programm weigert sich, ein BMP zu öffnen
BMP-Dateien mit RLE-Komprimierung, BI_BITFIELDS oder eingebetteten JPEG/PNG-Daten werden von manchen einfachen Leseprogrammen nicht unterstützt. Erneutes Speichern als unkomprimiertes 24-Bit-BMP oder die Umwandlung in PNG beseitigt das Kompatibilitätsproblem.
Tipps zur Umwandlung
- JPG für Fotos, PNG für Grafiken: Diese Faustregel gilt auch beim Abschied von BMP. Für das Web können Sie im Bildkonverter auch WebP oder AVIF wählen.
- Qualität hoch halten: Da BMP verlustfrei ist, liefert eine JPG-Qualität von 85-90 % ein Ergebnis, das sich kaum vom Original unterscheiden lässt.
- Bei Bedarf verkleinern: Ist die Datei immer noch groß, reduzieren Sie die Pixelmaße oder nutzen Sie Bild komprimieren, um eine Zielgröße zu erreichen.
- Der umgekehrte Weg: Wenn ein eingebettetes Gerät oder ein altes Programm BMP verlangt, wählen Sie im Bildkonverter BMP als Zielformat. Unsere Werkzeuge schreiben ein standardmäßiges, unkomprimiertes 24-Bit-BMP; transparente Bereiche werden auf die von Ihnen gewählte Hintergrundfarbe reduziert.
Unsere BMP-Umwandlungsseiten arbeiten in Ihrem Browser: Die Datei wird nicht hochgeladen und verlässt Ihr Gerät nie.
Häufig gestellte Fragen
Sind BMP und DIB dasselbe?
In der Praxis ja. Eine DIB ist die geräteunabhängige Bitmap-Struktur, die Windows im Speicher und in der Zwischenablage verwendet; eine BMP-Datei ist diese Struktur mit einem vorangestellten 14-Byte-Datei-Header.
Ist BMP verlustfrei?
Ja. Unkomprimierte und RLE-komprimierte BMP-Dateien erhalten die Pixelwerte exakt. Die einzige Ausnahme ist das seltene BMP mit eingebetteten JPEG-Daten.
Verliert man bei der Umwandlung von BMP in PNG an Qualität?
Nein. PNG ist ebenfalls verlustfrei; das Bild bleibt identisch und wird nur kleiner, weil es komprimiert wird.
Kann ich BMP auf einer Website verwenden?
Browser zeigen BMP an, doch die Dateien sind unnötig groß und verlangsamen die Seiten. Verwenden Sie für das Web JPG, PNG, WebP oder AVIF.
Unterstützt BMP Transparenz?
Ein 32-Bit-BMP kann theoretisch einen Alphakanal enthalten, doch Software unterstützt das nicht einheitlich. Wenn Sie Transparenz brauchen, ist PNG die sicherere Wahl.


