Datei hochladen
  1. base64hub
  2. Bild-Tools
  3. Base64 in BMP

Base64 in BMP

Fügen Sie BMP-Base64 oder eine data:image/bmp-URI ein, um die Bitmap anzusehen und als .bmp zu speichern. Bitmaps sind unkomprimiert, der Header verrät also genau, wie groß die Datei sein müsste.

Kostenlos ohne Anmeldung, ohne Limits Lokal kein Upload Aktualisiert 27.10.2026
Eingabe –Ausgabe –Größe –

Wird in Ihrem Browser verarbeitet. Diese Seite kann Ihre Daten nirgendwohin senden – woher wir das wissen

So wandeln Sie Base64 in BMP um

  1. Fügen Sie das Base64 oder die vollständige URI data:image/bmp;base64,... ein, oder öffnen Sie eine .txt-Datei mit der Zeichenkette. Zeichenketten von mehreren Megabyte sind bei Bitmaps normal und hier kein Problem.
  2. Die Statuszeile sollte bei Erkannt BMP anzeigen. Die Vorschau zeigt das Bild und seine Pixelgröße; Größe nennt die Größe der dekodierten Datei in Bytes.
  3. Drücken Sie Datei herunterladen, um die .bmp zu speichern.

Browser dekodieren BMP in einem <img>, darunter monochrome 1-Bit-, 8-Bit-Paletten-, 24-Bit- und die meisten 32-Bit-Dateien.

BMP-Dateigröße aus Breite und Höhe

Eine BMP hat einen 14-Byte-Datei-Header, einen Info-Header (40 Bytes in der üblichen Version), optional eine Palette und dann die Pixelzeilen. Jede Zeile wird auf ein Vielfaches von 4 Bytes aufgefüllt. Für ein 24-Bit-Bild ohne Palette gilt:

file size = 54 + height × (width × 3, rounded up to a multiple of 4)
BildZeilengrößeBMP-DateiBase64-Länge
33×10, 24 Bit99 → 100 Bytes1.054 Bytes1.408 Zeichen
100×100, 24 Bit300 Bytes30.054 Bytes40.072 Zeichen
800×600, 24 Bit2.400 Bytes1.440.054 Bytes1.920.072 Zeichen
1920×1080, 24 Bit5.760 Bytes6.220.854 Bytes8.294.472 Zeichen
1920×1080, 1 Bit240 Bytes259.262 Bytes345.684 Zeichen

Bei 1 Bit kommt eine zweifarbige Palette mit 8 Bytes hinzu. Weil die Zahlen feststehen, lässt sich eine Bitmap leicht prüfen: Der Datei-Header speichert die Gesamtgröße in den Bytes 2 bis 5. Im Hex-Dump des 100×100-Beispiels lauten sie 66 75 00 00, als Little-Endian-Zahl also 0x7566 = 30.054. Zeigt Größe weniger an, wurde das Base64 abgeschnitten. BMP-Zeilen werden standardmäßig von unten nach oben gespeichert, einer abgeschnittenen Bitmap fehlt daher der obere Teil des Bildes.

Wie BMP-Base64 aussieht

Jede BMP beginnt mit den Buchstaben BM, das Base64 also mit Qk. Das dritte Zeichen hängt von der Dateigröße ab und ist 0, 1, 2 oder 3; typisch sind Qk02 und Qk1m. Der Detektor prüft außerdem die Größe des Info-Headers bei Byte 14, damit Zufallsdaten, die zufällig mit BM beginnen, nicht für eine Bitmap gehalten werden.

Bitmaps ohne Header (DIB)

Manche Quellen liefern die Bitmap ohne den Datei-Header BM. Das ist ein DIB, das Format der Windows-Zwischenablage (CF_DIB), der Bilder in ICO-Dateien und mancher Geräte-SDKs. Sein Base64 beginnt mit KAAAA, der Kodierung der Info-Header-Größe von 40 Bytes, 28 00 00 00.

Das Tool kann es nicht anzeigen, denn ohne Datei-Header sind die Bytes keine gültige Bilddatei, und es meldet Binärdaten. Abhilfe schafft es, die 14 fehlenden Bytes voranzustellen:

import base64, struct

def dib_to_bmp(dib: bytes) -> bytes:
    header_size, = struct.unpack_from("<I", dib, 0)
    bpp, = struct.unpack_from("<H", dib, 14)
    compression, colors = struct.unpack_from("<I", dib, 16)[0], struct.unpack_from("<I", dib, 32)[0]
    if bpp <= 8 and colors == 0:
        colors = 1 << bpp
    masks = 12 if header_size == 40 and compression == 3 else 0
    offset = 14 + header_size + masks + colors * 4
    return b"BM" + struct.pack("<IHHI", 14 + len(dib), 0, 0, offset) + dib

b64 = open("dib.txt").read()
with open("image.bmp", "wb") as f:
    f.write(dib_to_bmp(base64.b64decode(b64)))

Der Header braucht die Gesamtgröße der Datei und den Offset der Pixeldaten. Diese folgen auf den Info-Header, die Farbmasken von 16- und 32-Bit-Bitfield-Bildern und die Palette. Kodieren Sie das Ergebnis mit BMP in Base64 wieder, wenn Sie es als Text brauchen, oder prüfen Sie es hier. DIBs aus ICO-Dateien sind ein Sonderfall: Ihre Höhe ist verdoppelt, um Platz für eine Transparenzmaske zu schaffen. Base64 in Python erklärt mehr zum Dekodieren von Binärdaten.

Häufige Probleme

  • „Erkannt: PNG, erwartet: BMP.“ Der Absender hat das Bild bereits umgewandelt, oder das System nennt es nur Bitmap. Speichern Sie es mit Als .png herunterladen als PNG; das ist kleiner und wird von jedem Programm gelesen.
  • Die Farben wirken vertauscht oder das Bild steht in einem anderen Programm auf dem Kopf. BMP speichert Pixel als Blau-Grün-Rot und meist von unten nach oben. Eine negative Höhe im Header bedeutet Zeilen von oben nach unten. Browser kommen mit all dem zurecht, einfache selbst geschriebene Reader manchmal nicht.
  • Ein Gerät lehnt die dekodierte Datei ab. Vergleichen Sie ihren SHA-256 mit dem, was das Gerät empfangen hat, und prüfen Sie dann Farbtiefe und Header-Version im Hex-Dump. Ältere Reader erwarten einen 40-Byte-Header (28 00 00 00 bei Offset 14) und keinen Alphakanal.

Häufige Fragen

Warum ist meine Bitmap-Base64-Zeichenkette so lang?

BMP speichert rohe Pixel ohne Komprimierung. Eine 24-Bit-Bitmap mit 1920×1080 Pixeln hat 6.220.854 Bytes, also 8.294.472 Base64-Zeichen, ganz egal, was das Bild zeigt.

Mein Base64 beginnt mit KAAAA statt mit Qk. Was ist das?

Eine Bitmap ohne ihren 14-Byte-Datei-Header, ein sogenanntes DIB. Es stammt aus der Windows-Zwischenablage, aus manchen Geräte-SDKs und aus ICO-Dateien. Ergänzen Sie den Header mit dem Python-Snippet auf dieser Seite, dann wird daraus eine normale .bmp.

Wie erkenne ich, ob eine BMP-Zeichenkette vollständig ist?

Die Bytes 2 bis 5 der Datei enthalten ihre Gesamtgröße. Öffnen Sie Hex-Dump anzeigen, lesen Sie sie als Little-Endian-Zahl und vergleichen Sie sie mit der Zeile Größe. Ist die dekodierte Größe kleiner, wurde die Zeichenkette abgeschnitten.

Kann ich statt einer BMP ein PNG bekommen?

Diese Seite speichert die Bitmap unverändert. Zum Umwandeln laden Sie sie herunter und legen sie in BMP in Base64 mit Umwandeln in PNG ab; PNG ist verlustfrei und meist viel kleiner.