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

Base64-in-Datei-Konverter

Fügen Sie eine Base64-Zeichenkette unbekannter Herkunft ein. Das Tool erkennt an den ersten Bytes, was für eine Datei es ist, zeigt sie an und speichert sie mit der richtigen Endung. Alles läuft in diesem Browser-Tab.

Kostenlos ohne Anmeldung, ohne Limits Lokal kein Upload Automatisch erkennt über 60 Dateitypen 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 dekodieren Sie Base64 in eine Datei

  1. Fügen Sie die Zeichenkette in Base64 oder Data-URI ein. Standard- und URL-sicheres Base64 werden beide akzeptiert, mit oder ohne Padding, Zeilenumbrüche oder Anführungszeichen. Eine ganze Data-URI funktioniert, ebenso Text, der eine enthält: ein CSS-url("data:…"), ein HTML-src="data:…" oder ein Markdown-Bild. Für eine lange Zeichenkette in einer Datei nutzen Sie .txt-Datei öffnen oder legen die Datei auf dem Feld ab.
  2. Lesen Sie die Statuszeile unter der Eingabe: ob die Eingabe gültig ist, welche Variante vorliegt (Standard oder Base64URL), die dekodierte Größe und den Typ bei Erkannt. Bei einer Data-URI erscheint außerdem der Angegeben-Typ.
  3. Sehen Sie sich die Vorschau und die drei Felder darunter an. Dateiname, Endung und MIME-Typ werden aus der Erkennung ausgefüllt. Was Sie dort eintragen, bleibt, bis Sie Leeren drücken.
  4. Drücken Sie Datei herunterladen, oder Als Data-URI kopieren, um die Bytes wieder als data:<MIME type>;base64,… zu erhalten.

Beispiel lädt bei jedem Klick eine andere Testdatei: PNG, PDF, ZIP, WAV, DOCX, JSON, gzip und SVG. Legen Sie eine Datei ab, die bereits binär ist, etwa ein PDF statt einer Textdatei mit seinem Base64, weist das Tool Sie darauf hin und verlinkt Datei in Base64, das in die Gegenrichtung arbeitet.

Warum die Datei als application/octet-stream erscheint

application/octet-stream bedeutet „irgendwelche Bytes, Typ unbekannt“. Vor Base64 landet es aus ganz gewöhnlichen Gründen. Chromes FileReader.readAsDataURL() erzeugt data:application/octet-stream;base64, für jede Datei, deren Typ der Browser nicht kennt. Speicher- und Exportsysteme, die die Bytes behalten, aber nicht den Typ, kennzeichnen alles so. Manche APIs deklarieren jeden Anhang als octet-stream. Ein Viewer, der sich auf die Angabe verlässt, weigert sich dann, die Datei anzuzeigen, und ein Download bekommt keine brauchbare Endung.

Meist verraten die Bytes selbst das Format: Die meisten Formate beginnen mit einer festen Signatur, und das Tool prüft über 60 davon. Einige Signaturen teilen sich mehrere Formate, daher schaut das Tool tiefer in die Datei:

Erste BytesBase64 beginnt mitMögliche FormateWie das Tool sie unterscheidet
PK 03 04UEsDBZIP, DOCX, XLSX, PPTX, EPUB, ODT, ODS, JAR, APKNamen der Einträge: word/, xl/, ppt/, der Eintrag mimetype, AndroidManifest.xml, META-INF/MANIFEST.MF
RIFFUklGRWebP, WAV, AVIDie vier Buchstaben bei Byte 8
ftyp bei Byte 4AAAA, zum Beispiel AAAAIGZ0eXBMP4, M4A, MOV, 3GP, HEIC, AVIFDie Kennung (Brand) bei Byte 8 bis 11
OggST2dnUwOgg Vorbis, Opus, Theora-VideoDer Codec-Header in der ersten Page
1A 45 DF A3GkXfoWebM, MKVDer Dokumenttyp webm
D0 CF 11 E00M8R4KGxGuEDOC, XLS, PPT, Outlook-MSG, passwortgeschützte Office-DateienGar nicht; es meldet „DOC/XLS/MSG (OLE)“

Die vollständige Liste der Signaturen finden Sie unter gängige Base64-Präfixe.

Gibt eine Data-URI einen Typ an und der Inhalt widerspricht, weist ein Hinweis darauf hin, zum Beispiel „Die Data-URI gibt application/octet-stream an, der Inhalt sieht aber nach PDF aus.“, und der erkannte Typ wird verwendet. Der angegebene Typ setzt sich nur durch, wenn die Erkennung unsicher ist: wenn die Bytes wie reiner Text oder unbekannte Binärdaten aussehen.

Base64 in Base64, URL-Kodierung und gzip

Daten, die durch mehrere Systeme gegangen sind, sind oft mehrfach verpackt. Nach dem Dekodieren prüft das Tool, ob das Ergebnis eine weitere Schicht ist, und bietet Erneut dekodieren an:

HinweisWas passiert ist
„Die dekodierten Daten sind selbst Base64-Text (darin: PDF).“Zweimal kodiert, typischerweise von zwei Code-Schichten, die jeweils „sicherheitshalber“ kodiert haben
„Die dekodierten Daten sind URL-kodiertes Base64“Das Base64 wurde für eine URL prozentkodiert (%2B, %2F, %3D), bevor es erneut kodiert wurde
„Die dekodierten Daten sind eine data:-URI.“Jemand hat die ganze data:…-Zeichenkette kodiert statt nur ihren Inhalt
„Die Daten sind gzip-komprimiert: 817 B entpackt (PDF).“Vor dem Kodieren komprimiert, um Platz zu sparen, üblich in Logs und Message Queues; zlib wird ebenfalls erkannt

Erneut dekodieren setzt die innere Schicht in die Eingabe und dekodiert sie; Zurück geht wieder eine Ebene hinaus und merkt sich bis zu 20 Schritte. Die Hinweise zu gzip und zlib erscheinen erst, nachdem das Tool die Daten tatsächlich entpackt hat, bei Ergebnissen bis 16 MB. Die gzip-Vorschau zeigt außerdem den im Header gespeicherten Originalnamen und die Änderungszeit, mit Entpackt speichern für den Inhalt. Für Text-Payloads ist der gzip-Base64-Decoder das direktere Tool.

Mit der richtigen Endung speichern

Windows und macOS wählen das Programm anhand der Endung, ein als decoded.bin gespeichertes PDF wirkt also kaputt, obwohl jedes Byte stimmt. Die Felder Endung und MIME-Typ folgen der Erkennung, bis Sie selbst etwas eintragen:

  • Der Dateiname stammt aus einem Parameter name= oder filename= in einer Data-URI oder aus dem Namen der geöffneten Textdatei, ohne deren Endung .txt oder .b64: report.pdf.b64.txt wird als report.pdf gespeichert.
  • Bei einer OLE-Datei, von der Sie wissen, dass sie eine Tabelle ist, tragen Sie xls in Endung ein; das Tool kann DOC, XLS und MSG nicht unterscheiden.
  • Ein eingetragener MIME-Typ stellt auch die Vorschau auf diese Art um. Meldet das Tool Binärdaten, Sie erwarten aber Audio, versucht es mit audio/ogg den Audioplayer.
  • Der MIME-Typ wirkt sich nur auf den Download und auf Als Data-URI kopieren aus; eine Datei auf der Festplatte hat keinen MIME-Typ, nur ihre Bytes und ihren Namen.

Was die Vorschau zeigt

Jedes Ergebnis nennt Typ, MIME-Typ, Endung, Größe und einen SHA-256-Hash, mit Hex-Dump anzeigen für die ersten 512 Bytes. Bei unbekannten Binärdaten ist der Hex-Dump von Anfang an geöffnet. Je nach Art:

ArtVorschau
BilderDas Bild und seine Pixelgröße; HEIC, TIFF und JPEG XL bekommen meist einen Hinweis, dass sie nicht angezeigt werden können, weil den meisten Browsern ein Decoder fehlt. Siehe Base64 in Bild.
PDFDer PDF-Viewer Ihres Browsers, Version, Seitenzahl, Titel. Siehe Base64 in PDF.
Audio und VideoEin Player mit Dauer und Videogröße
SchriftenBearbeitbarer Beispieltext in der dekodierten Schrift, mit Familie, Stil und Anzahl der Glyphen
ZIP, DOCX, XLSX, PPTX, EPUBDie Liste der Einträge mit Ansehen und Speichern für jede Datei, dazu der Dokumenttext bei Office-Dateien und E-Books. Siehe Base64 in ZIP.
TextZeichensatz, Zeilen, formatiertes JSON, eine Tabelle bei CSV, das Wurzelelement bei XML, HTML in einer Sandbox
Zertifikate und SchlüsselEin Link zum Zertifikat-Decoder

Den MIME-Typ von Base64 im Code erkennen

Vierundzwanzig Base64-Zeichen ergeben dekodiert 18 Bytes, genug für die gängigen Signaturen. Das funktioniert in Browsern und in Node.js ab Version 16:

function sniffMime(b64) {
  const head = b64.replace(/^data:[^,]*,/, "").replace(/\s+/g, "").slice(0, 24)
    .replace(/-/g, "+").replace(/_/g, "/");
  const b = Uint8Array.from(atob(head), (c) => c.charCodeAt(0));
  const str = (start, len) => String.fromCharCode(...b.subarray(start, start + len));

  if (str(0, 5) === "%PDF-") return "application/pdf";
  if (str(0, 8) === "\x89PNG\r\n\x1a\n") return "image/png";
  if (b[0] === 0xff && b[1] === 0xd8 && b[2] === 0xff) return "image/jpeg";
  if (str(0, 4) === "GIF8") return "image/gif";
  if (str(0, 4) === "RIFF" && str(8, 4) === "WEBP") return "image/webp";
  if (str(0, 4) === "RIFF" && str(8, 4) === "WAVE") return "audio/wav";
  if (str(4, 4) === "ftyp") return "video/mp4"; // also M4A, MOV, HEIC: see bytes 8-11
  if (str(0, 4) === "PK\x03\x04") return "application/zip"; // also DOCX, XLSX, PPTX
  if (b[0] === 0x1f && b[1] === 0x8b) return "application/gzip";
  if (str(0, 3) === "ID3" || (b[0] === 0xff && (b[1] & 0xe6) === 0xe2)) return "audio/mpeg";
  return "application/octet-stream";
}

sniffMime("data:application/octet-stream;base64,JVBERi0xLjcKJeLjz9MK"); // "application/pdf"

Auf der Kommandozeile liest file die dekodierten Bytes von der Standardeingabe:

base64 -d payload.b64 | file -b --mime-type -

Bei einem PDF gibt das application/pdf aus. Dekodieren Sie stattdessen mit OpenSSL, fügen Sie bei einer einzeiligen Zeichenkette -A hinzu. Ohne die Option schreibt openssl base64 -d kommentarlos nichts, wenn die Zeile keinen abschließenden Zeilenumbruch hat oder zu lang ist (in OpenSSL 3.5 ab 1.024 Zeichen). Mehr unter Base64 in JavaScript und Base64 in Bash.

Häufige Fragen

Wie finde ich den MIME-Typ einer Base64-Zeichenkette heraus?

Dekodieren Sie die ersten paar Bytes und vergleichen Sie sie mit bekannten Dateisignaturen: JVBERi0 ergibt %PDF-, iVBORw0KGgo die PNG-Signatur. Diese Seite macht das für über 60 Formate, und die JavaScript-Funktion auf dieser Seite deckt die gängigen in Ihrem eigenen Code ab.

Was bedeutet „Datei kann nicht als application/octet-stream angezeigt werden“?

application/octet-stream ist die allgemeine Bezeichnung für Bytes unbekannten Typs; ein Viewer, der sich auf die Angabe verlässt, hat also keinen Anhaltspunkt. Fügen Sie dieselbe Zeichenkette hier ein: Untersucht wird der Inhalt statt der Angabe, und Endung und MIME-Typ werden für Sie ausgefüllt.

Was kann ich tun, wenn der Typ nicht erkannt wird?

Die Vorschau zeigt dann Binärdaten mit einem Hex-Dump der ersten 512 Bytes. Kennen Sie das Format, tragen Sie vor dem Herunterladen Endung und MIME-Typ ein; der MIME-Typ schaltet auch die Vorschau um, mit audio/ogg versucht das Tool also, die Bytes abzuspielen.

Wie große Dateien kann ich dekodieren?

Es gibt keine feste Grenze; der Speicher Ihres Geräts setzt sie. Ab etwa 50 MB Base64 hält die Seite beim Dekodieren kurz inne, und Als Data-URI kopieren ist bei Dateien über 32 MB deaktiviert.

Wird die Datei irgendwohin hochgeladen?

Nein. Dekodieren, Typerkennung und Vorschau laufen in Ihrem Browser, und die Content Security Policy der Seite lässt keine Netzwerkanfragen zu, außer dem Seitenaufrufzähler von Cloudflare.