Base64 Image Decoder

Decodiert Base64 data URIs zurück in Bilder

Base64 Eingabe

Was ist Base64-Bilddekodierung?

Base64-Bilddekodierung ist das Gegenteil der Base64-Bildkodierung: Sie nimmt einen Base64-String oder ein data URI, das ein Bild darstellt, und wandelt es zurück in sichtbare binäre Pixeldaten um. Wenn Sie einen String wie data:image/png;base64,iVBORw0KGgo... erhalten, entfernt die Dekodierung das data URI-Präfix, kehrt die in RFC 4648 definierte Base64-Kodierung um und rekonstruiert die Original-Image-Bytes. Der Browser kann die dekodierten Bytes dann als sichtbares Bild rendern.

Data URIs (RFC 2397) bündeln den MIME-Typ und den Base64-codierten Inhalt in einen String. Sie erscheinen häufig in API-Antworten, HTML-E-Mail-Quellcode, CSS-Stylesheets und Datensätzen, in denen Bilder als Text statt als binäre Dateien gespeichert werden. Das Dekodieren dieser Strings ist erforderlich, um das Bild anzuzeigen, seinen Inhalt zu überprüfen oder es als eigenständige Datei zu speichern. Da Base64 vier ASCII-Zeichen verwendet, um alle drei Bytes der Binärdaten darzustellen, ist der codierte String immer etwa 33% größer als das Original-Image.

Dieses Tool analysiert sowohl vollständige data URIs (data:image/png;base64,...) als auch rohe Base64-Strings ohne das data:-Präfix. Bei Rohstrings wird das Bildformat automatisch erkannt, indem die ersten Base64-Zeichen überprüft werden, die den Magic Bytes der Datei entsprechen. Beispielsweise zeigt iVBORw0KGgo immer auf eine PNG-Datei hin. Das dekodierte Bild wird direkt im Browser gerendert und kann als Datei heruntergeladen werden.

Ein häufiges Szenario ist die Arbeit mit einer REST-API, die ein Profilfoto oder eine Dokumentminiatur als Base64-String in einem JSON-Feld zurückgibt – z. B. {"avatar": "data:image/png;base64,iVBORw0KGgo..."}. Um das Bild zu nutzen, extrahieren Sie den Feldwert, entfernen das data URI-Präfix bis zum Komma einschließlich und leiten die verbleibenden Base64-Zeichen durch einen Decoder wie atob() in JavaScript oder base64.b64decode() in Python um die Rohdaten wiederherzustellen. Das Einfügen des vollständigen Wertes in dieses Tool skippet alle manuellen Schritte und rendert das Bild sofort.

Warum diese Base64-Bilddekodierer verwenden?

Dieses Tool konvertiert Base64-Bilddaten vollständig in Ihrem Browser zurück in ein anzeigbares, herunterladbares Bild — keine Uploads, keine Serververarbeitung, kein Konto erforderlich.

Sofortvorschau
Einen Base64-String oder data URI einfügen und das dekodierte Bild sofort sehen. Keine Wartung auf Serververarbeitung — der Browser dekodiert und rendert das Ergebnis lokal.
🔒
Datenschutzpriorisierte Verarbeitung
Ihre Bilddaten verlassen Ihr Gerät nie. Die Dekodierung läuft vollständig im Browser unter Verwendung nativer JavaScript-APIs. Keine Base64-Strings werden an einen Server übertragen.
🖼️
Automatische Formaterkennung
Unterstützt PNG, JPEG, SVG, WebP, GIF, BMP und ICO. Der MIME-Typ wird aus dem data URI-Präfix extrahiert oder automatisch aus den Base64-Magic-Bytes erkannt, wenn kein Präfix vorhanden ist.
📋
Ergebnis herunterladen
Speichern Sie das dekodierte Bild als Datei mit der richtigen Erweiterung. Der Download verwendet das erkannte Format — keine manuelle Umbenennung von .txt zu .png erforderlich.

Anwendungsfälle für Base64-Bilddekodierung

Frontend-Debugging
Überprüfen Sie Base64-codierte Bilder, die in HTML-, CSS- oder JavaScript-Quellcode eingebettet sind. Fügen Sie das data URI ein, um zu überprüfen, dass das richtige Bild vor der Bereitstellung gerendert wird.
API-Antwort-Überprüfung
REST- und GraphQL-APIs geben oft Bilder als Base64-Strings in JSON-Payloads zurück — Benutzeravatare, Dokumentminiaturansichten oder QR-Codes. Dekodieren Sie sie, um zu überprüfen, dass der Inhalt den Erwartungen entspricht.
E-Mail-Template-Entwicklung
HTML-E-Mails betten häufig Bilder als data URIs ein, um Blockierungen von externen Bildern zu umgehen. Dekodieren Sie die Base64, um eine Vorschau zu sehen, was die Empfänger sehen, ohne eine Test-E-Mail zu senden.
Überprüfung von Datenbankeinträgen
Wenn Bilder als Base64-Text in Datenbankspalten gespeichert werden (MongoDB, PostgreSQL-Textfelder), dekodieren Sie Beispieleinträge, um die Datenintegrität nach Migrationen oder Importen zu bestätigen.
Sicherheitsanalyse
Überprüfen Sie verdächtige Base64-Bild-Payloads in Logs, E-Mails oder Web-Traffic. Die Dekodierung offenbart den tatsächlichen Bildinhalt und -format und hilft bei der Identifikation von Tracking-Pixeln oder unerwartet eingebetteter Daten.
Lernen und Bildung
Verstehen Sie, wie Base64-Kodierung funktioniert, indem Sie ein Bild kodieren und dann dekodieren. Vergleichen Sie die Original-Datei mit dem Ergebnis, um zu überprüfen, dass Base64 eine verlustfreie Kodierung ist.

Datenstruktur von data URIs für Bilder

Ein data URI verpackt den Bildtyp und verschlüsselten Inhalt in einen String. Jede Komponente ist für die korrekte Dekodierung essentiell: das Schema (data:) signalisiert, dass die URL eigenständig ist und keine Referenz zu einer externen Ressource; der MIME-Typ (z.B. image/png) teilt dem Renderer mit, welches Format beim Interpretieren der Rohbytes verwendet werden soll; der ;base64,-Marker unterscheidet Base64-codierte Inhalte von data URIs, die Prozentcodierung für Klartext-Formate verwenden. Die Base64-Nutzlast selbst kann mit einem oder zwei Auffüllzeichen = enden — diese sind erforderlich, wenn die Eingangsbyteanzahl kein Vielfaches von drei ist, um sicherzustellen, dass die codierte Länge immer ein Vielfaches von vier ist. Das Weglassen oder Abschneiden eines dieser Komponenten führt zu Dekodierungsfehlern oder einem beschädigten Bild.

KomponenteBeschreibung
data:URI scheme identifier
image/pngMIME type declaring the image format
;base64,Encoding declaration (always base64 for binary)
iVBORw0KGgo...Base64-encoded pixel data

Erkennung des Bildformats aus Base64

Wenn eine Base64-String das data:-Präfix fehlt, kann das Bildformat durch Überprüfung der ersten Zeichen identifiziert werden. Diese Zeichen entsprechen den Magic Bytes der Datei — feste Bytefolgen am Anfang jeder Bilddatei, die das Format identifizieren:

FormatBase64-PräfixHex-SignaturMIME-Typ
PNGiVBORw0KGgo89 50 4E 47image/png
JPEG/9j/FF D8 FFimage/jpeg
GIFR0lGOD47 49 46 38image/gif
WebPUklGR52 49 46 46image/webp
SVGPHN2Zy3C 73 76 67 (text)image/svg+xml
BMPQk42 4Dimage/bmp
ICOAAABAA00 00 01 00image/x-icon

Code-Beispiele

So dekodieren Sie Base64-Bildstrings zurück zu Bilddateien in beliebten Programmiersprachen und Umgebungen:

JavaScript (browser)
// Decode a Base64 data URI to a Blob and create a download link
const dataUri = 'data:image/png;base64,iVBORw0KGgo...'

// Method 1: fetch API (simplest)
const res  = await fetch(dataUri)
const blob = await res.blob()
// blob.type → "image/png", blob.size → 2048

// Method 2: manual decode for older environments
const [header, b64] = dataUri.split(',')
const mime    = header.match(/:(.*?);/)[1]   // → "image/png"
const binary  = atob(b64)
const bytes   = Uint8Array.from(binary, c => c.charCodeAt(0))
const blob2   = new Blob([bytes], { type: mime })

// Create a download link
const url = URL.createObjectURL(blob)
const a   = document.createElement('a')
a.href = url
a.download = 'decoded.png'
a.click()
URL.revokeObjectURL(url)
Python
import base64
import re

data_uri = 'data:image/png;base64,iVBORw0KGgo...'

# Parse the data URI
match = re.match(r'data:(image/[\w+.-]+);base64,(.+)', data_uri)
mime_type = match.group(1)    # → "image/png"
b64_data  = match.group(2)

# Decode and write to file
image_bytes = base64.b64decode(b64_data)
ext = mime_type.split('/')[1].replace('jpeg', 'jpg').replace('svg+xml', 'svg')

with open(f'output.{ext}', 'wb') as f:
    f.write(image_bytes)
# → writes output.png (byte-for-byte identical to the original)

# Decode raw Base64 (no data: prefix)
raw_b64 = 'iVBORw0KGgo...'
image_bytes = base64.b64decode(raw_b64)
Node.js
import { writeFileSync } from 'fs'

const dataUri = 'data:image/png;base64,iVBORw0KGgo...'

// Extract MIME type and Base64 payload
const [meta, b64] = dataUri.split(',')
const mime = meta.match(/:(.*?);/)[1]  // → "image/png"

// Decode to Buffer and save
const buffer = Buffer.from(b64, 'base64')
writeFileSync('output.png', buffer)
// → output.png (identical to the original file)

// Validate by checking magic bytes
console.log(buffer.subarray(0, 4))
// PNG → <Buffer 89 50 4e 47>  (\x89PNG)
// JPEG → <Buffer ff d8 ff e0>
CLI (bash)
# Decode a raw Base64 string to an image file (Linux)
echo 'iVBORw0KGgo...' | base64 -d > output.png

# Decode a raw Base64 string to an image file (macOS)
echo 'iVBORw0KGgo...' | base64 -D > output.png

# Extract Base64 from a data URI and decode
echo 'data:image/png;base64,iVBORw0KGgo...' | \
  sed 's/^data:.*base64,//' | base64 -d > output.png

# Identify the image format from the decoded file
file output.png
# → output.png: PNG image data, 64 x 64, 8-bit/color RGBA

Häufig gestellte Fragen

Was ist der Unterschied zwischen einem data URI und einem rohen Base64-String?
Ein data URI enthält ein Präfix, das den MIME-Typ und die Kodierung deklariert: data:image/png;base64,iVBORw0KGgo.... Ein roher Base64-String enthält nur die kodierten Bytes (iVBORw0KGgo...) ohne Metadaten. Dieses Tool akzeptiert beide Formate. Wenn Sie einen rohen String einfügen, wird das Bildformat automatisch aus den Base64-Magic-Bytes erkannt.
Ändert die Dekodierung von Base64 die Bildqualität?
Nein. Base64 ist eine verlustfreie Kodierung, die Binärdaten in ASCII-Text und zurück konvertiert, ohne ein Byte zu verändern. Das dekodierte Bild ist byte-für-byte identisch mit der Original-Datei. Alle Qualitätsunterschiede stammen vom Bildformat selbst (z.B. JPEG-Kompression vor der Kodierung), nicht vom Base64-Dekodierungsschritt.
Wie kann ich erkennen, welches Format ein Base64-Bild hat?
Wenn der String mit data:image/png;base64 beginnt, ist das Format im MIME-Typ deklariert. Bei rohen Base64-Strings überprüfen Sie die ersten Zeichen: iVBORw0KGgo zeigt PNG an, /9j/ zeigt JPEG an, R0lGOD zeigt GIF an, und UklGR zeigt WebP an. Diese Präfixe entsprechen den Magic Bytes jedes Formats.
Warum kann mein Base64-String nicht dekodiert werden?
Häufige Ursachen sind abgeschnittene Daten (der String wurde beim Kopieren/Einfügen gekürzt), falsche Zeichen (Base64 verwendet A–Z, a–z, 0–9, +, / und = zum Auffüllen), eingebettete Leerzeichen oder Zeilenumbrüche sowie ein fehlendes oder fehlerhaftes data URI-Präfix. Dieses Tool entfernt Leerzeichen automatisch, aber abgeschnittene oder beschädigte Daten können nicht wiederhergestellt werden.
Ist es sicher, Base64-Bilder aus nicht vertrauenswürdigen Quellen zu dekodieren?
Dieses Tool dekodiert und rendert Bilder in der Browser-Sandbox, die sie von Ihrem System isoliert. SVG-Bilder können jedoch eingebettetes JavaScript enthalten. Moderne Browser blockieren die Skriptausführung in SVG, das über img-Tags oder data URIs gerendert wird, aber seien Sie vorsichtig mit SVGs aus nicht vertrauenswürdigen Quellen. Das Tool führt keine Skripte aus dekodierten Bildern aus.
Kann ich Base64-Bilder ohne Internetverbindung dekodieren?
Ja, sobald die Seite geladen ist. Alle Dekodierungen laufen lokal in Ihrem Browser unter Verwendung nativer JavaScript-APIs (atob, Uint8Array, Blob). Während des Dekodierungsprozesses werden keine Netzwerkanfragen gestellt. Das Tool funktioniert offline identisch.
Wie lang kann eine Base64-String sein, die dieses Tool verarbeiten kann?
Das praktische Limit hängt vom Speicher Ihres Browsers ab. Die meisten modernen Browser handhaben data URIs von mehreren Megabyte problemlos. Bei sehr großen Bildern (10 MB+ kodiert) können Sie langsameres Rendering erleben. In dieser Größe ist die programmatische Dekodierung mit Node.js oder Python und direktes Schreiben in eine Datei effizienter als die Verwendung eines browserbasierten Tools.