Base64 Codierung und Decodierung: Befehlsbeispiele für Windows, Linux und Mac
Codieren und Decodieren von Dateien in Base64 unter Windows, Linux und macOS.
Dieses Nachschlagewerk zeigt, wie man Dateien und Strings in Base64 codieren und decodieren über die Kommandozeile auf Windows, Linux und macOS — ohne zusätzliche Tools.

Dieser Leitfaden ist Teil von Entwickler-Tools: Der vollständige Leitfaden zu modernen Entwicklungs-Workflows.
Base64 wandelt Binärdaten in ASCII-Text unter Verwendung von 64 Zeichen (A–Z, a–z, 0–9, +, /) um. Es wird häufig zur Codierung von Anmeldeinformationen in HTTP Basic Auth, JWT-Payloads (siehe JWT-Token decodieren und ausgeben), Kubernetes-Secrets, Data-URIs in HTML/CSS sowie zur Einbettung von Binärdaten in JSON oder Umgebungsvariablen verwendet. Die Nutzung der Kommandozeile hält sensible Daten lokal und ist in CI/CD-Pipelines skriptfähig.
Base64 Codieren und Decodieren unter Windows
Windows bietet keinen dedizierten base64-Befehl, aber Sie können integrierte Tools nutzen.
Verwendung der Eingabeaufforderung mit Certutil
-
Öffnen Sie die Eingabeaufforderung.
-
Codieren Sie eine Datei in Base64:
certutil -encode input.bin output.b64Ersetzen Sie
input.bindurch Ihren Dateipfad undoutput.b64durch den gewünschten Ausgabe-Dateinamen. -
Um Base64 in der Konsole auszugeben, ohne eine temporäre Datei zu speichern:
certutil -encode input.bin tmp.b64 && findstr /v /c:- tmp.b64 && del tmp.b64findstr /v /c:-entfernt die Zeilen-----BEGIN CERTIFICATE-----und-----END CERTIFICATE-----, die certutil hinzufügt.
Base64 auf Windows decodieren (Certutil)
certutil -decode encoded.b64 decoded.bin
Verwendung von PowerShell zum Codieren und Decodieren
Eine Datei codieren:
[Convert]::ToBase64String([System.IO.File]::ReadAllBytes("C:\path\to\file.bin"))
Eine Zeichenfolge codieren (UTF-8):
[Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes("Hello, World!"))
# Ausgabe: SGVsbG8sIFdvcmxkIQ==
Base64 in eine Zeichenfolge decodieren:
[System.Text.Encoding]::UTF8.GetString([Convert]::FromBase64String("SGVsbG8sIFdvcmxkIQ=="))
# Ausgabe: Hello, World!
Base64 in eine Datei decodieren:
[System.IO.File]::WriteAllBytes("decoded.bin", [Convert]::FromBase64String((Get-Content encoded.b64 -Raw)))
Diese Methoden funktionieren ohne Installation zusätzlicher Software. Für mehr Shell-Automatisierung siehe das PowerShell-Nachschlagewerk.
Base64 Codieren und Decodieren unter Linux
Der Befehl base64 ist auf den meisten Linux-Distributionen (GNU coreutils) vorinstalliert.
Grundlegende Syntax
base64 [OPTIONEN] [DATEI]
Ohne Datei oder wenn die Datei - ist, wird vom Standard-Eingabestrom gelesen.
Eine Datei in Base64 codieren
base64 input_file > output_file
Beispiel:
base64 myfile.txt > encoded.txt
Um den codierten Inhalt im Terminal auszugeben:
base64 myfile.txt
Eine Zeichenfolge in Base64 codieren
echo -n "Hello, World!" | base64
# Ausgabe: SGVsbG8sIFdvcmxkIQ==
Verwenden Sie -n bei echo, um eine Zeilenumbruch am Ende zu vermeiden. Für das Decodieren von Strings in JWTs siehe JWT-Token decodieren und ausgeben.
Zeilenumbruch deaktivieren (-w 0)
Standardmäßig bricht base64 die Ausgabe nach 76 Zeichen um. Für JSON, Umgebungsvariablen, URLs oder Terraform base64encode-Verwendungen den Umbruch deaktivieren:
base64 -w 0 input_file > output_file
Base64 unter Linux decodieren
base64 -d encoded_file > decoded_file
# oder
base64 --decode encoded_file > decoded_file
Beispiel:
echo "SGVsbG8sIFdvcmxkIQ==" | base64 -d
# Ausgabe: Hello, World!
Alternative: OpenSSL
echo -n "data" | openssl base64 -e
echo "ZGF0YQ==" | openssl base64 -d
Für weitere Kommandozeilen-Workflows deckt das Bash-Nachschlagewerk Piping und Scripting ab.
Base64 Codieren und Decodieren unter macOS
macOS enthält einen base64-Befehl, der dem unter Linux ähnlich ist, aber die -i-Flagge für Dateieingaben erfordert.
Eine Datei in Base64 codieren
base64 -i input_file > output_file
Beispiel:
base64 -i myfile.txt > encoded.txt
Um in das Terminal auszugeben:
base64 -i myfile.txt
Codieren und in die Zwischenablage kopieren
base64 -i input_file | pbcopy
Base64 auf dem Mac decodieren
base64 -D -i encoded_file > decoded_file
Die -D-Flagge aktiviert den Decodiermodus; -i spezifiziert die Eingabedatei. Diese Befehle funktionieren auf allen modernen macOS-Versionen ab 10.7.
Linux base64 Befehlsreferenz
Vollständige Hilfenachricht für das GNU base64-Tool:
$ base64 --help
Verwendung: base64 [OPTION]... [DATEI]
Base64 encodieren oder decodieren von DATEI, bzw. von Standardeingabe auf Standardausgabe.
Ohne DATEI, oder wenn DATEI -, wird von Standardeingabe gelesen.
Pflichtargumente für lange Optionen sind auch für kurze Optionen verpflichtend.
-d, --decode Daten decodieren
-i, --ignore-garbage beim Decodieren Nicht-Alphabet-Zeichen ignorieren
-w, --wrap=SPALTEN codierte Zeilen nach SPALTEN Zeichen umbrechen (Standard 76).
Verwenden Sie 0, um Zeilenumbruch zu deaktivieren
--help diese Hilfe anzeigen und beenden
--version Versionsinformationen ausgeben und beenden
Die Daten werden wie im RFC 4648 für das Base64-Alphabet beschrieben codiert.
Beim Decodieren kann die Eingabe zusätzlich zu den Bytes des formalen Base64-Alphabets Zeilenumbrüche enthalten. Verwenden Sie --ignore-garbage, um sich von anderen nicht-alphabetischen Bytes im codierten Stream zu erholen.
...
Häufige Anwendungsfälle
| Anwendungsfall | Befehl / Ansatz |
|---|---|
| JWT-Header/Payload | Mit base64 -d oder jq decodieren — siehe JWT-Token decodieren und ausgeben |
| HTTP Basic Auth | echo -n "user:pass" | base64 -w 0 für Authorization: Basic <result> |
| Kubernetes Secret | kubectl create secret generic mysecret --from-literal=key=$(base64 -w 0 file.bin) |
| cURL mit Basic Auth | Verwenden Sie -u user:pass oder -H "Authorization: Basic $(echo -n user:pass | base64 -w 0)" — siehe cURL-Nachschlagewerk |
| Data URI in HTML | data:image/png;base64,$(base64 -w 0 image.png) |