Cookies für Statistik und Werbung
Wir setzen Cookies für Statistik und Werbung ein, beides geht an Google. Wenn du ablehnst, ändert sich für dich sichtbar nichts.Zur Datenschutzseite
HEIF kannst du hier kostenlos und ohne Konto in BMP umwandeln: Datei oben ablegen, und ein, zwei Sekunden später steht das Ergebnis zum Herunterladen bereit. Die Umwandlung läuft in deinem eigenen Browser, die Datei wird also nie hochgeladen — das klappt unter Windows, macOS und Linux ebenso wie auf iPhone und Android, und es funktioniert selbst dann noch, wenn du das Netz abschaltest.
Bis zu 100 Dateien auf einmal. Gemischte Formate sind kein Problem.
Sie werden nacheinander umgewandelt und kommen zusammen als ZIP zurück.
HEIF in BMP
In deutschen Bürgerämtern, Kfz-Zulassungsstellen und anderen Verwaltungsstellen läuft neben moderner Oberfläche oft noch ein Fachverfahren, das vor zwanzig Jahren beschafft wurde und seither nur so weit gepflegt wird, wie es der Betrieb verlangt. Ein solches Programm für Lichtbilder oder Dokumentenscans erwartet häufig genau ein Format als Eingabe, und das ist selten das, was ein modernes iPhone liefert.
Ein iPhone-Foto kommt als HEIF, das Fachverfahren will eine Windows-Bitmap. Dazwischen steht diese Seite: Sie schreibt eine BMP-Datei genau so, wie sie 1990 spezifiziert wurde, weil das Programm auf der Verwaltungsseite mit nichts anderem umgehen kann.
Ein 14 Byte langer Dateikopf, ein 40 Byte langer BITMAPINFOHEADER mit einer Farbebene und 24 Bit pro Pixel, danach die reinen Pixeldaten: drei Bytes je Pixel in der Reihenfolge Blau-Grün-Rot, Zeilen von unten nach oben gespeichert. Das ist die einfachste Grundform, die jedes BMP-fähige Programm seit 1990 versteht.
Jede Zeile wird auf ein Vielfaches von vier Bytes aufgefüllt. Bei einer Breite von 4.032 Pixeln entstehen dabei 12.096 Bytes ohne zusätzliche Auffüllung, bei 4.031 Pixeln sind es 12.093 Bytes plus drei Auffüll-Bytes. Ein selbstgeschriebener Parser, der von durchgehenden Zeilen ausgeht, liest ab der zweiten Zeile verschoben — genau der klassische Fehler bei eigenen BMP-Loadern.
Weil nichts komprimiert wird, lässt sich die Ausgabegröße vorher berechnen: die aufgefüllte Zeilenlänge mal die Höhe, plus 54 Byte Kopfdaten. Ein Zwölf-Megapixel-Foto mit 4.032 mal 3.024 Pixeln ergibt rund 36,6 MB Pixeldaten — aus einem HEIF, das vermutlich zwei oder drei Megabyte groß war.
Ein Faktor von fünfzehn ist dabei die Regel, nicht die Ausnahme, und deshalb ist die Einstellung für die maximale Breite hier wichtiger als bei fast jeder anderen Umwandlung. Zeigt das Fachverfahren das Bild ohnehin nur in einer kleinen Voransicht, ergibt eine Umwandlung mit reduzierter Breite eine deutlich handhabbarere Datei statt eines Vielfachen davon.
Der Konverter schreibt 24-Bit-Pixel, für Transparenz ist darin kein Platz. Was im Ausgangsbild durchsichtig war, wird deshalb zuerst mit einer Farbe hinterlegt und erst danach kodiert — und diese Farbe ist die über der Ablagefläche gewählte, die als Weiß startet.
Bei einem Passfoto oder einem Dokumentenscan, wofür diese Umwandlung meistens genutzt wird, gibt es ohnehin nichts Durchsichtiges, sodass die Frage in der Praxis selten eine Rolle spielt. Sie wird erst wichtig, wenn die Quelle eine freigestellte Grafik mit sauberen Kanten ist — dafür bewahrt PNG die Transparenz, BMP kann das nicht.
Jedes Pixel, das der HEIF-Decoder liefert, landet unverändert in den drei Farbkanälen der BMP-Datei, dieser Schritt fügt also keine eigenen Kompressionsartefakte hinzu. Trug die HEIF-Datei einen Alphakanal, ist das trotzdem kein verlustfreier Schritt: BMP hat für Transparenz keinen vierten Kanal, sie wird also, wie im vorigen Abschnitt beschrieben, vorher mit einer Farbe hinterlegt statt mitgeschrieben.
Rückgängig macht keiner der beiden Fälle etwas. Was die Kamera beim Schreiben des HEIF bereits komprimiert hat, steckt fest in den Pixeln, die der Decoder übergibt. Eine 36 MB große Bitmap eines 2 MB großen Fotos enthält nicht mehr Bild als die 2 MB, nur weit weniger geschickt gespeichert.
HEIF ist auf zehn Bit je Kanal spezifiziert und kann einen erweiterten Farbraum tragen. Eine 24-Bit-BMP-Datei speichert acht Bit je Kanal und kennt gar kein Feld für einen Farbraum — im Header ist schlicht kein Platz, um festzuhalten, was die Zahlen bedeuten.
Am Ende der Umwandlung stehen deshalb in jedem Fall acht Bit je Kanal, und das empfangende Programm interpretiert die Werte als gewöhnliches sRGB, weil das die einzig sinnvolle Annahme ist. Für ein Fachverfahren, das ein Passfoto anzeigt oder archiviert, spielt das keine Rolle; wichtig wird es nur, wenn das Bild eine kalibrierte Messung statt einer Fotografie ist.
Die BMP-Datei enthält weder EXIF-Daten noch einen Aufnahmezeitpunkt, weder Kameramodell noch GPS-Koordinaten. Zwei Gründe wirken hier zusammen: Die Umwandlung dekodiert zu reinen Pixeln und kodiert neu, wobei kein EXIF-Block übertragen wird, und das Format hat ohnehin kaum Platz dafür, selbst wenn es welchen bräuchte.
Für ein Verwaltungsverfahren, das ein Bild speichert, indiziert oder anzeigt, ist das gelegentlich sogar der eigentliche Sinn. Eine Bitmap ist ein ausgesprochen inertes Format — Pixel, Abmessungen, und nichts, was auf die aufnehmende Person oder den Ort verweist.
Praktisch alles, und das ist die eine echte Stärke des Formats. Microsoft Paint, GIMP und IrfanView öffnen es klaglos, jede Windows-API seit den Anfängen versteht es, und ein Browser zeigt es an — BMP zählt hier zu den wenigen Formaten mit vollständiger Browser-Unterstützung, weshalb sich das Ergebnis mit einem Klick im Browser prüfen lässt.
Diese Kontrolle lohnt sich einmal je Stapel. Steht das Bild im Fachverfahren auf dem Kopf oder wirken die Farben vertauscht, liegt das fast immer an einem Leser, der von oben nach unten liest oder RGB statt BGR erwartet — die Datei selbst ist korrekt.
Decoder und Bitmap-Schreiber laufen beide im Browser-Tab, es wird also kein Foto hochgeladen und nichts wartet in einer Warteschlange. Das ist gerade für diese Zielgruppe von Bedeutung: Passfotos, Ausweisdokumente, Vorgänge mit Personenbezug — Material, das nach dem Bundesdatenschutzgesetz und der DSGVO ohnehin so wenig wie möglich Stationen durchlaufen sollte.
Die freie Nutzung nimmt Eingaben bis 100 MB an, was kein HEIF je erreicht; die Ausgabedatei ist hier die deutlich größere Hälfte. Ein ganzer Ordner konvertiert mit einer Fortschrittszeile je Bild, und ab zwei fertigen Dateien erscheint ein Button für alle zusammen als ZIP — praktisch, weil unkomprimierte Bitmaps sich innerhalb eines ZIP gut zusammenfassen lassen.
Einen Weg zurück gibt es nicht. Diese Seite liest HEIF über libheif unter LGPL-3.0 und kann das Format selbst nicht schreiben, weil dafür ein HEVC-Encoder unter einer Lizenz nötig wäre, die eine statische Webseite nicht erfüllen kann.
Da eine Bitmap fünfzehnmal so groß ist und dabei strikt weniger Information trägt, ist es sinnvoll, sie als Ausgabe zu behandeln statt als Kopie: für das Fachverfahren erzeugen, verwenden, wieder löschen, und das HEIF behalten, aus dem sich beim nächsten Mal erneut eine BMP-Datei erzeugen lässt.
Ein guter Teil der Anfragen an diese Seite kommt von Leuten, die ihre eigene Leseroutine bauen, weil eine Bitmap sich in dreißig Zeilen ohne jede Bibliothek einlesen lässt. Drei Details sind für fast jeden Fehler in diesen dreißig Zeilen verantwortlich, und alle drei stecken in der Datei, die diese Seite erzeugt.
Die Zeilenschrittweite ist die aufgefüllte Länge, nicht die Breite mal drei — sie berechnet sich als Breite mal drei, aufgerundet auf ein Vielfaches von vier, und um diesen Wert wird pro Zeile weitergesprungen. Die Zeilen laufen von unten nach oben, die erste Zeile der Datei ist also die letzte Bildzeile. Die Kanäle sind in der Reihenfolge Blau, Grün, Rot gespeichert. Ein Fehler bei einem der drei Punkte zeigt sich als verschobenes, auf dem Kopf stehendes oder blaustichiges Bild — und wirkt eher wie eine beschädigte Datei als wie eine falsche Annahme im eigenen Code.
| HEIF | BMP | |
|---|---|---|
| Vollständiger Name | High Efficiency Image File Format | Windows-Bitmap |
| Dateiendung | .heif | .bmp, .dib |
| Medientyp | image/heif | image/bmp |
| Kompression | Verlustbehaftet — Größe wird mit Qualität bezahlt | Unkomprimiert |
| Erstmals veröffentlicht | 2015 | 1987 |
| Herausgegeben von | MPEG | Microsoft |
| Spezifikation | ISO/IEC 23008-12 | — |
| Lizenzlage | Veröffentlicht, nicht standardisiert | Veröffentlicht, nicht standardisiert |
| Heutiger Stand | Aktuell | Alt, wird überall noch gelesen |
| Bittiefe | 10 | 8 |
| Kann Farbe beschreiben als | YCbCr, großer Farbraum | RGB, indizierte Palette |
| Öffnet im Browser | Manche Browser | Jeder Browser |
| Stattdessen erwogen | JPG, AVIF | PNG, TIFF |
BMP kennt keinen Alphakanal. Eine transparente HEIF-Datei kommt mit gefüllten Flächen heraus — ohne andere Angabe weiß — und keine Einstellung in BMP holt die Transparenz zurück.
BMP speichert ein einzelnes Standbild. Von einer animierten HEIF-Datei bleibt das erste Bild übrig, der Rest fällt weg. Die Umwandlung ist also ein Weg, ein Einzelbild herauszuholen, kein Weg, die Bewegung mitzunehmen.
HEIF speichert bis zu 10 Bit pro Kanal, BMP 8. Die zusätzliche Genauigkeit ist das, was starke Korrekturen ohne Streifenbildung übersteht — wandle deshalb besser nach der Bearbeitung um als davor.
BMP öffnet sich in jedem aktuellen Browser. HEIF unterstützen noch weniger Browser. Wenn die Datei auf eine Webseite oder in ein Formular soll, ist das meist der ganze Grund für die Umwandlung.
Das Ergebnis wird größer als das Original und nicht besser. HEIF hat bereits Details verworfen, BMP speichert den Rest, ohne weiter zu verwerfen — es verhindert also weiteren Verlust, statt den ersten rückgängig zu machen.
Die beiden zielen auf verschiedene Arbeit: HEIF auf Telefone und die Fotografie, BMP auf den Austausch zwischen Programmen. Das lohnt sich vorher abzuwägen — der Grund, aus dem es das eine gibt, ist meist der Grund, aus dem das andere unpraktisch ist.
HEIF stammt von MPEG und wurde 2015 veröffentlicht. Aufgezeichnet wird mit 10 Bit pro Kanal.
BMP kommt von Microsoft und stammt aus 1987. Microsoft Paint, GIMP und IrfanView lesen das Format.
BMP wurde 1987 veröffentlicht, HEIF 2015. Das ältere ist in der Regel die sicherere Datei zum Weitergeben, das jüngere erledigt dieselbe Aufgabe mit weniger Bytes.
Nein. Diese Umwandlung läuft vollständig in deinem Browser, die Datei verlässt dein Gerät also nicht. Du kannst das selbst nachprüfen: Öffne den Netzwerk-Tab der Entwicklerwerkzeuge und wandle etwas um. Zu sehen sind die Seite selbst und die Statistik- und Werbeanfragen, mit denen dieser Dienst bezahlt wird — und keine einzige, die deine Datei trägt. Hinter genau diesem Paar steckt libheif, der Referenzdecoder für Apples HEIC; dein Browser lädt das einmal und behält es dann.
Ja. Kein Konto, kein Wasserzeichen und kein Tageskontingent, das sich verbraucht — es läuft auf deinem eigenen Rechner, du darfst also so oft wiederkommen, wie du willst. Dateien bis 100 MB verarbeitet der Browser, 100 auf einmal. libheif wird auf deinen Rechner geladen und läuft dort — deshalb gibt es dafür keine Zählung.
BMP komprimiert, es gehen also Daten verloren. In der Standardeinstellung sieht man davon nichts; wenn du sichergehen willst, stell die Qualität höher. Das Zielformat kann keine Transparenz. Durchsichtige Stellen werden mit der Hintergrundfarbe gefüllt.
BMP kennt keinen Alphakanal. Eine transparente HEIF-Datei kommt mit gefüllten Flächen heraus — ohne andere Angabe weiß — und keine Einstellung in BMP holt die Transparenz zurück.
BMP speichert ein einzelnes Standbild. Von einer animierten HEIF-Datei bleibt das erste Bild übrig, der Rest fällt weg. Die Umwandlung ist also ein Weg, ein Einzelbild herauszuholen, kein Weg, die Bewegung mitzunehmen.
Das Ergebnis wird größer als das Original und nicht besser. HEIF hat bereits Details verworfen, BMP speichert den Rest, ohne weiter zu verwerfen — es verhindert also weiteren Verlust, statt den ersten rückgängig zu machen.