Datei-zu-Base64-Konverter

Legen Sie eine beliebige Datei ab, ob Dokument, Archiv, Schriftart, Zertifikat oder Programm, und erhalten Sie ihre Base64-Kodierung als reinen Text oder als Data-URI. Alles läuft lokal in Ihrem Browser.

Läuft vollständig in Ihrem Browser. Es wird nichts hochgeladen.

Anleitung

  1. Ziehen Sie eine Datei auf den Ablagebereich oder klicken Sie darauf, um eine Datei von Ihrem Gerät auszuwählen (bis 100 MB).
  2. Wählen Sie unter „Ausgabe“ das Format: „Base64“ für APIs und Konfigurationsdateien oder „Data-URI“ für HTML und CSS.
  3. Aktivieren Sie „Zeilenumbruch nach 76 Zeichen“ nur, wenn das Ziel Zeilen im MIME-Stil erwartet, etwa der Textteil einer E-Mail.
  4. Prüfen Sie Dateiname, MIME-Typ und Größen. Übernehmen Sie das Ergebnis dann mit „Kopieren“ oder speichern Sie es mit „Herunterladen“ als .txt-Datei.

Warum eine Datei als Base64 kodieren?

Viele Formate, mit denen Systeme Daten austauschen, transportieren nur Text. JSON, XML, YAML, HTML und E-Mail-Header können keine beliebigen Bytes aufnehmen, denn eine Datei kann Nullbytes, ungültige Zeichenfolgen oder Zeilenenden enthalten, die ein Textparser verändern würde. Base64 bildet je 3 Bytes der Datei auf 4 Zeichen aus einem Satz von 64 Buchstaben, Ziffern, + und / ab. So lässt sich jede Datei als einfacher String übertragen und wieder in exakt dieselben Bytes dekodieren.

Der Preis dafür ist die Größe: Der kodierte Text ist etwa 33 % größer als die Datei, Zeilenumbrüche kommen noch ein wenig hinzu. Aus einer 3-MB-Datei werden rund 4 MB Base64.

Typische Einsatzzwecke

  • JSON- und XML-APIs. Endpunkte, die keine Multipart-Formular-Uploads annehmen, erwarten die Datei oft als Base64-String in einem Feld, während Name und Typ in anderen Feldern stehen.
  • E-Mail-Anhänge. MIME kodiert Anhänge in Base64 mit Zeilen von höchstens 76 Zeichen (RFC 2045). Die Option „Zeilenumbruch nach 76 Zeichen“ erzeugt genau dieses Layout.
  • Konfiguration und Secrets. Die Werte unter data in einem Kubernetes-Secret sind Base64-kodiert. Ein TLS-Zertifikat, ein Keystore oder eine Lizenzdatei muss daher vor dem Eintrag ins Manifest kodiert werden. CI-Systeme legen binäre Secrets auf dieselbe Weise oft in Umgebungsvariablen ab.
  • Datenbanken und Quellcode. Eine kleine Binärdatei wie eine Schriftart, ein Sound oder eine Testdatei lässt sich in einer Textspalte oder einer String-Konstante speichern statt in einer separaten Datei.

Für Bilder bietet Bild zu Base64 zusätzlich Skalierung und fertige HTML- und CSS-Snippets. Um Base64 wieder in eine Datei umzuwandeln, verwenden Sie Base64 zu Datei.

Reines Base64 oder Data-URI?

Reines Base64 enthält nur die kodierten Bytes. Genau das erwarten APIs, Kubernetes, Datenbanken und die meisten Programmierbibliotheken, meist zusammen mit einem separaten Feld für Dateinamen oder Content-Type.

Eine Data-URI stellt ein Präfix mit dem MIME-Typ voran, zum Beispiel data:application/pdf;base64,. Damit kann ein Browser den gesamten String als URL in src, href oder in CSS-url() verwenden. Senden Sie dieses Präfix nicht an eine API, die reines Base64 verlangt, denn viele Decoder lehnen es ab. Wenn Sie den MIME-Typ selbst festlegen oder Prozentkodierung verwenden möchten, nutzen Sie den Data-URI-Generator.

Lassen Sie den Zeilenumbruch für JSON, YAML und Quellcode ausgeschaltet. Ein JSON-String darf keine echten Zeilenumbrüche enthalten, und umbrochene Werte in YAML gehen leicht kaputt.

Eine Datei auf der Kommandozeile kodieren

# Linux (GNU coreutils): -w 0 schaltet den standardmäßigen Umbruch nach 76 Zeichen ab
base64 -w 0 report.docx > report.txt

# macOS
base64 -i report.docx -o report.txt

# Windows PowerShell
[Convert]::ToBase64String([IO.File]::ReadAllBytes("C:\files\report.docx"))

# Kubernetes kodiert die Datei automatisch
kubectl create secret generic app-cert --from-file=tls.crt

Häufig gestellte Fragen

Gibt es eine Größenbeschränkung für Dateien?

Dateien bis 100 MB können kodiert werden. Die Ausgabe ist etwa ein Drittel größer, eine 100-MB-Datei ergibt also rund 133 MB Text. Die Anzeige so großer Textmengen kann die Seite verlangsamen. Verwenden Sie bei großen Dateien daher „Herunterladen“, statt aus dem Ausgabefeld zu kopieren.

Werden meine Dateien auf einen Server hochgeladen?

Nein. Die Datei wird von JavaScript in Ihrem Browser gelesen und kodiert, und es wird nichts über das Netzwerk gesendet. Zertifikate, Schlüssel und private Dokumente bleiben auf Ihrem Gerät.

Wird die Datei durch Base64 komprimiert oder verschlüsselt?

Weder noch. Base64 macht die Daten etwa 33 % größer, und jeder kann sie dekodieren. Wenn die Datei vertraulich bleiben muss, verschlüsseln Sie sie vor der Kodierung. Wenn es auf die Größe ankommt, komprimieren Sie sie zuerst, zum Beispiel als ZIP- oder gzip-Archiv.

Warum enthält die Ausgabe Zeilenumbrüche?

Die Option „Zeilenumbruch nach 76 Zeichen“ ist aktiviert. Sie entspricht dem MIME-Format für E-Mails, doch die meisten APIs, JSON-Dokumente und Kubernetes-Manifeste erwarten eine durchgehende Zeile. Schalten Sie die Option dafür aus.

Worin unterscheidet sich dieses Tool vom Base64-Encoder?
Der Base64-Encoder ist für Text gedacht und bietet Zeichenkodierungen und Base64-Varianten. Diese Seite ist für Dateien gemacht: Sie liest die Rohbytes jeder beliebigen Datei, zeigt deren MIME-Typ an und kann direkt eine Data-URI ausgeben.