RFC 4648 · Encoder & Decoder
Alles in Base64 kodieren – ohne irgendetwas hochzuladen.
Ein kostenloser Online-Base64-Encoder und -Decoder für Text, Dateien und Bilder – kodiert per JavaScript in Ihrem eigenen Browser-Tab. Es wird nichts hochgeladen, deshalb funktioniert er auch offline weiter und hat kein Größenlimit.
- Kodiert beim Tippen
- Text, Dateien & Bilder
- URL-safe- & MIME-Modus
- Keine Werbung, keine Anmeldung
Datei oder Bild hier ablegen
oder . Es wird nichts hochgeladen – die Datei verlässt Ihren Computer nie.
Optionen
Zum Einfügen bereit
Ctrl+Enter kodieren Ctrl+Shift+C Ergebnis kopieren Ctrl+Shift+X Richtung umkehren
Base64 online kodieren – kostenlos, sofort und privat
Mit diesem Tool können Sie Base64 online kodieren, und zwar in Ihrem Browser statt auf einem Server. Tippen Sie in das Feld oben, und das Base64 erscheint während der Eingabe: kein Button, kein Neuladen, kein Upload. Wechseln Sie zu Dekodieren, um umgekehrt zu arbeiten, oder öffnen Sie den Tab Datei & Bild, um ein Bild in Base64 zu kodieren und eine Data-URI zu erhalten, die Sie direkt in HTML oder CSS einfügen können.
Alles, was der Standard vorsieht, ist dabei: das Standardalphabet, URL-safe-Base64 (RFC 4648 §5), MIME-Zeilen mit 76 Zeichen, LF- und CRLF-Zeilenumbrüche, zeilenweise Kodierung und sechs Zeichensätze von UTF-8 bis ISO-8859-1 und UTF-16. Wenn Sie lieber im Code Base64 kodieren, decken die Beispiele weiter unten Python, JavaScript, Linux und macOS, PowerShell, PHP, Java, Go, C# und Ruby ab.
Zuletzt aktualisiert:
Warum dieses Tool
Der Unterschied liegt darin, wo kodiert wird.
Die meisten Base64-Tools schicken Ihre Datei per POST an einen Server, kodieren sie dort und geben einen Download-Link zurück. Ihre Daten verlassen also Ihren Rechner – für eine Umwandlung, die Ihr Browser in Mikrosekunden erledigt. Dieses Tool stellt diese Anfrage nie.
| Funktion | freebase64encode.com | Typischer Online-Encoder |
|---|---|---|
| Wo Ihre Daten verarbeitet werden | Immer in Ihrem Browser-Tab | Auf einen Server hochgeladen |
| Dateigrößenlimit | Nur der Speicher Ihres Geräts | Meist auf 100 MB begrenzt |
| Dateien auf einem Server gespeichert | Nie – es gibt keinen Endpunkt | Vorübergehend, dann gelöscht |
| Funktioniert offline weiter | Ja, sobald die Seite geladen ist | Nein |
| Live-Kodierung beim Tippen | Standardmäßig an | Optional oder per Button |
| Kodieren und Dekodieren | Eine Seite, ein Klick zum Wechseln | Zwei getrennte Seiten |
| Bild → Data-URI + HTML/CSS/Markdown | Integriert, mit Vorschau | Nicht vorhanden |
| Codebeispiele für 9 Sprachen | Auf der Seite | Nicht vorhanden |
| Anzeige des Größenzuwachses | Live in Bytes und % | Nicht angezeigt |
| Werbung und Cookie-Banner | Keine, und keine Tracking-Cookies | Meistens vorhanden |
Im Code
Base64 kodieren in Python, JavaScript, Bash, PowerShell und fünf weiteren Sprachen.
Kodieren und Dekodieren zum Kopieren und Einfügen für die Sprachen, nach denen am häufigsten gesucht wird – jeweils mit dem Stolperstein, der jeden schon einen Nachmittag gekostet hat.
Base64 kodieren in Python
Python bringt Base64 in der Standardbibliothek mit. Der häufigste Stolperstein: b64encode erwartet bytes, nicht str – Text muss also zuerst in UTF-8 kodiert werden.
import base64
# Encode a string ─ note the .encode("utf-8"): b64encode takes bytes, not str
text = "Man is distinguished"
encoded = base64.b64encode(text.encode("utf-8")).decode("ascii")
print(encoded) # TWFuIGlzIGRpc3Rpbmd1aXNoZWQ=
# Decode it back
decoded = base64.b64decode(encoded).decode("utf-8")
# URL-safe, unpadded (RFC 4648 §5) ─ the JWT flavour
base64.urlsafe_b64encode(b"data").rstrip(b"=")
# Encode a file, wrapped at 76 characters for MIME
with open("photo.png", "rb") as f:
mime = base64.encodebytes(f.read()).decode("ascii")
# Build a data URI for an image
uri = "data:image/png;base64," + base64.b64encode(open("photo.png", "rb").read()).decode() Base64 kodieren in JavaScript
btoa() ist die klassische Browser-API, wirft aber bei jedem Zeichen über U+00FF einen InvalidCharacterError. Unicode-Text daher zuerst mit TextEncoder in Bytes umwandeln.
// Browser, ASCII only
btoa("hello"); // "aGVsbG8="
atob("aGVsbG8="); // "hello"
// Browser, Unicode-safe ─ btoa() throws above U+00FF
const bytes = new TextEncoder().encode("héllo 🎉");
const b64 = btoa(Array.from(bytes, (b) => String.fromCharCode(b)).join(""));
const text = new TextDecoder().decode(
Uint8Array.from(atob(b64), (c) => c.charCodeAt(0))
);
// Node.js
Buffer.from("hello", "utf8").toString("base64");
Buffer.from(b64, "base64").toString("utf8");
// Modern runtimes ─ no btoa() dance needed
new TextEncoder().encode("hello").toBase64(); // "aGVsbG8="
Uint8Array.fromBase64("aGVsbG8=");
// URL-safe: swap the two characters URLs reserve, then drop padding
const urlSafe = b64.replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
// Encode a file the user picked, without uploading it
const buf = new Uint8Array(await file.arrayBuffer());
const fileB64 = btoa(Array.from(buf, (b) => String.fromCharCode(b)).join("")); Base64 kodieren unter Linux, macOS und in der Bash
Die GNU coreutils liefern auf jedem Linux-System den Befehl base64. macOS bringt die BSD-Variante mit anderen Optionen mit – beide werden unten gezeigt.
# Encode a file
base64 photo.png > photo.b64
# Encode a string ─ use printf, not echo, or you encode a trailing newline too
printf %s 'hello' | base64 # aGVsbG8=
echo 'hello' | base64 # aGVsbG8K ← the K is the newline
# One unbroken line (GNU): disable wrapping
base64 -w 0 photo.png
# MIME-compliant 76-character lines
base64 -w 76 photo.png
# Decode
base64 -d photo.b64 > photo.png
echo 'aGVsbG8=' | base64 --decode
# URL-safe output
base64 -w 0 photo.png | tr '+/' '-_' | tr -d '='
# macOS / BSD base64 ─ no -w flag; use -i / -o, and -D to decode
base64 -i photo.png -o photo.b64
base64 -D -i photo.b64 -o photo.png
# Also available almost everywhere ─ -A keeps it on one line
openssl base64 -A -in photo.png
# Copy straight to the clipboard on macOS
base64 -i photo.png | pbcopy Base64 kodieren mit PowerShell und unter Windows
PowerShell ruft direkt .NET auf. Wählen Sie die Textkodierung bewusst: [Text.Encoding]::Unicode ist UTF-16 LE – das erwartet powershell -EncodedCommand, die meisten APIs aber nicht.
# Encode a string as UTF-8
$b64 = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes('hello')) # aGVsbG8=
# Decode it back
[Text.Encoding]::UTF8.GetString([Convert]::FromBase64String($b64))
# Encode a file
[Convert]::ToBase64String([IO.File]::ReadAllBytes("$PWD\photo.png")) | Set-Content photo.b64
# Decode a file
[IO.File]::WriteAllBytes("$PWD\photo.png", [Convert]::FromBase64String((Get-Content photo.b64 -Raw)))
# -EncodedCommand needs UTF-16 LE, not UTF-8
$cmd = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes('Get-Date'))
powershell -EncodedCommand $cmd
# cmd.exe: certutil ships with Windows (adds BEGIN/END header lines)
certutil -encode photo.png photo.b64
certutil -decode photo.b64 photo.png Base64 kodieren in PHP
base64_encode() und base64_decode() sind ohne Erweiterung eingebaut. Bei nicht vertrauenswürdiger Eingabe den Strict-Modus von base64_decode() verwenden.
$encoded = base64_encode('hello'); // aGVsbG8=
$decoded = base64_decode($encoded);
// Strict mode returns false instead of silently skipping invalid characters
$safe = base64_decode($input, true);
if ($safe === false) { /* not valid Base64 */ }
// URL-safe, unpadded
$url = rtrim(strtr(base64_encode($raw), '+/', '-_'), '=');
// A file as a data URI
$uri = 'data:image/png;base64,' . base64_encode(file_get_contents('photo.png'));
// MIME, 76-character lines
$mime = chunk_split(base64_encode($raw), 76, "\r\n"); Base64 kodieren in Java
java.util.Base64 ist seit Java 8 im JDK und bietet drei Encoder – Basic, URL-safe und MIME –, eine Drittbibliothek braucht man daher selten.
import java.util.Base64;
import java.nio.charset.StandardCharsets;
import java.nio.file.*;
// Always name the charset explicitly ─ the platform default is a portability bug
String encoded = Base64.getEncoder()
.encodeToString("hello".getBytes(StandardCharsets.UTF_8));
byte[] raw = Base64.getDecoder().decode(encoded);
String text = new String(raw, StandardCharsets.UTF_8);
// URL-safe, unpadded (RFC 4648 §5)
String jwtPart = Base64.getUrlEncoder().withoutPadding().encodeToString(bytes);
// MIME ─ 76-character lines separated by CRLF
String mime = Base64.getMimeEncoder()
.encodeToString(Files.readAllBytes(Path.of("photo.png"))); Base64 kodieren in Go
encoding/base64 bietet vier Kodierungen. Std und URL sind mit Padding, RawStd und RawURL die Varianten ohne Padding.
import (
"encoding/base64"
"io"
"os"
)
encoded := base64.StdEncoding.EncodeToString([]byte("hello")) // aGVsbG8=
decoded, err := base64.StdEncoding.DecodeString(encoded)
if err != nil { /* not valid Base64 */ }
// URL-safe and unpadded ─ what JWT libraries use
token := base64.RawURLEncoding.EncodeToString(raw)
// A file
data, _ := os.ReadFile("photo.png")
uri := "data:image/png;base64," + base64.StdEncoding.EncodeToString(data)
// Stream a large file instead of holding it all in memory
f, _ := os.Open("video.mp4")
defer f.Close()
w := base64.NewEncoder(base64.StdEncoding, os.Stdout)
io.Copy(w, f)
w.Close() // Close() flushes the final partial group ─ don't skip it Base64 kodieren in C#
Convert.ToBase64String() deckt den Normalfall ab. Mit .NET 9 kam System.Buffers.Text.Base64Url für die URL-safe-Variante hinzu.
using System;
using System.IO;
using System.Text;
string encoded = Convert.ToBase64String(Encoding.UTF8.GetBytes("hello"));
string text = Encoding.UTF8.GetString(Convert.FromBase64String(encoded));
// MIME ─ inserts CRLF every 76 characters
Convert.ToBase64String(bytes, Base64FormattingOptions.InsertLineBreaks);
// URL-safe (.NET 9+)
System.Buffers.Text.Base64Url.EncodeToString(bytes);
// A file as a data URI
string uri = "data:image/png;base64," +
Convert.ToBase64String(File.ReadAllBytes("photo.png"));
// Validate untrusted input without throwing
if (Convert.TryFromBase64String(input, buffer, out int written)) { /* ok */ } Base64 kodieren in Ruby
Nehmen Sie strict_encode64 statt encode64 – Letzteres bricht die Ausgabe alle 60 Zeichen um und hängt einen Zeilenumbruch an, was beim Vergleichen von Hashes überrascht.
require 'base64'
encoded = Base64.strict_encode64('hello') # "aGVsbG8="
decoded = Base64.decode64(encoded)
# encode64 wraps at 60 chars and adds a trailing newline ─ rarely what you want
Base64.encode64('hello') # "aGVsbG8=\n"
# URL-safe (RFC 4648 §5)
Base64.urlsafe_encode64(raw, padding: false)
# A file ─ binread avoids any encoding conversion
Base64.strict_encode64(File.binread('photo.png')) Die Mechanik
So funktioniert Base64-Kodierung wirklich.
Base64 schreibt beliebige Bytes mit 64 Zeichen neu, die jedes System versteht. Es nimmt drei Bytes – 24 Bit – und teilt sie neu in vier Gruppen à 6 Bit. Jede Gruppe ist ein Index in das Alphabet A–Z a–z 0–9 + /. Da aus 3 Bytes immer 4 Zeichen werden, ist die Ausgabe genau ein Drittel größer.
Durchgerechnetes Beispiel: Man → TWFu
| Text | M | a | n |
|---|---|---|---|
| ASCII | 77 | 97 | 110 |
| Bitmuster | 01001101 01100001 01101110 | ||
| In 6 Bit geteilt | 010011 010110 000101 101110 | ||
| Index | 19 · 22 · 5 · 46 | ||
| Base64 | TWFu | ||
Ist die Eingabelänge kein Vielfaches von drei, wird die letzte Gruppe mit = aufgefüllt, damit die Ausgabe ein Vielfaches von vier bleibt. Ein übriges Byte ergibt ==, zwei übrige Bytes ergeben =.
Beispiele für Base64-Kodierung
So sehen gängige Strings aus, wenn sie als UTF-8 in Base64 kodiert werden. Fügen Sie einen davon oben ins Tool ein, um es zu prüfen.
| Eingabe | Base64 | Hinweis |
|---|---|---|
| Hello, World! | SGVsbG8sIFdvcmxkIQ== | Zwei =, weil bei 13 Bytes eines übrig bleibt |
| Hello World | SGVsbG8gV29ybGQ= | 11 Bytes, also ein = |
| hello | aGVsbG8= | |
| base64 | YmFzZTY0 | 6 Bytes sind durch 3 teilbar, also kein Padding |
| user:password | dXNlcjpwYXNzd29yZA== | Wert eines HTTP-Basic-Auth-Headers |
| héllo 🎉 | aMOpbGxvIPCfjok= | UTF-8: é belegt 2 Bytes, das Emoji 4 |
| {"alg":"HS256","typ":"JWT"} | eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 | Ein JWT-Header, URL-safe und ohne Padding |
Das Base64-Alphabet (Indextabelle)
Jeder 6-Bit-Wert von 0 bis 63 steht für ein Zeichen. Das URL-safe-Alphabet ist identisch, nur ist 62 ein - und 63 ein _. = ist Padding und gehört nicht zum Alphabet.
| Wert | Zeichen | Wert | Zeichen | Wert | Zeichen | Wert | Zeichen |
|---|---|---|---|---|---|---|---|
| 0 | A | 16 | Q | 32 | g | 48 | w |
| 1 | B | 17 | R | 33 | h | 49 | x |
| 2 | C | 18 | S | 34 | i | 50 | y |
| 3 | D | 19 | T | 35 | j | 51 | z |
| 4 | E | 20 | U | 36 | k | 52 | 0 |
| 5 | F | 21 | V | 37 | l | 53 | 1 |
| 6 | G | 22 | W | 38 | m | 54 | 2 |
| 7 | H | 23 | X | 39 | n | 55 | 3 |
| 8 | I | 24 | Y | 40 | o | 56 | 4 |
| 9 | J | 25 | Z | 41 | p | 57 | 5 |
| 10 | K | 26 | a | 42 | q | 58 | 6 |
| 11 | L | 27 | b | 43 | r | 59 | 7 |
| 12 | M | 28 | c | 44 | s | 60 | 8 |
| 13 | N | 29 | d | 45 | t | 61 | 9 |
| 14 | O | 30 | e | 46 | u | 62 | + |
| 15 | P | 31 | f | 47 | v | 63 | / |
Base64-Varianten im Vergleich
„Base64“ ist eine Familie. Alle Varianten teilen dieselben 62 Buchstaben und Ziffern und unterscheiden sich in den letzten beiden Zeichen, im Padding und im Zeilenumbruch. Das Tool oben erzeugt die ersten drei.
| Variante | Spezifikation | Zeichen 62 / 63 | Padding | Zeilenumbrüche | Verwendung |
|---|---|---|---|---|---|
| Standard | RFC 4648 §4 | + / | Pflicht | Keine | Allgemein, JSON, Data-URIs |
| URL-safe (base64url) | RFC 4648 §5 | - _ | Meist weggelassen | Keine | JWTs, URLs, Dateinamen |
| MIME | RFC 2045 | + / | Pflicht | CRLF alle 76 | E-Mail-Anhänge |
| PEM | RFC 7468 | + / | Pflicht | Alle 64, mit BEGIN/END | TLS-Zertifikate, Schlüssel |
Wo Base64 verwendet wird
E-Mail-Anhänge
SMTP wurde für 7-Bit-Text spezifiziert. MIME (RFC 2045) kodiert Anhänge in Base64 und bricht die Ausgabe alle 76 Zeichen um, damit Mailserver sie unverändert weiterreichen.
Data-URIs
data:image/png;base64,… bettet ein kleines Bild, eine Schrift oder ein SVG direkt in HTML oder CSS ein und spart eine Anfrage. Lohnt sich unter ein paar Kilobyte; darüber kosten die 33 % Zuwachs und das fehlende Caching mehr als die Anfrage.
JSON- und XML-Daten
Keines der beiden Formate kann beliebige Bytes aufnehmen. Base64 macht aus einer Datei einen einfachen String, den jeder JSON-Parser verarbeitet – so wandern Binärdaten durch REST-APIs.
JWTs und URLs
JSON Web Tokens verwenden base64url – die Variante aus RFC 4648 §5 mit - und _ statt + und / und ohne Padding –, damit ein Token gefahrlos in einer URL, einem Cookie oder einem Header stehen kann.
HTTP Basic Auth
Authorization: Basic ist wörtlich base64(benutzername:passwort). Das ist Kodierung, keine Verschlüsselung – genau deshalb ist Basic Auth nur über HTTPS akzeptabel.
Konfigurations- und Secret-Dateien
Kubernetes-Secrets, TLS-Zertifikate im PEM-Format und SSH-Schlüssel speichern Binärdaten als Base64, damit die Datei lesbare, vergleichbare und kopierbare Textdatei bleibt.
Sechs Fehler, die einen Nachmittag kosten
Base64 ist keine Verschlüsselung
Jeder kann es mit einem einzigen Befehl dekodieren. Verstecken Sie damit nie ein Passwort, einen API-Schlüssel oder personenbezogene Daten – dafür gibt es echte Verschlüsselung.
Unterschiedliche Zeichensätze zerstören Text
Base64 kodiert Bytes, und Text wird erst durch die Wahl eines Zeichensatzes zu Bytes. Kodieren Sie als UTF-8 und dekodieren Sie als Latin-1, erhalten Sie Zeichensalat. Bleiben Sie auf beiden Seiten bei UTF-8.
echo hängt einen Zeilenumbruch an
echo "hi" | base64 kodiert drei Bytes, nicht zwei, weil echo ein \n anhängt. Mit printf %s kodieren Sie genau das, was Sie getippt haben.
Zeilenumbrüche verändern den String
MIME-Ausgabe enthält alle 76 Zeichen ein CRLF. Die meisten Decoder überspringen Leerraum, aber ein strikter Vergleich oder Hash zweier „identischer“ Strings schlägt fehl, wenn einer umbrochen ist.
+ und / gehen in URLs kaputt
Aus + wird beim Dekodieren eines Formular-Query-Strings ein Leerzeichen, und / trennt Pfade. Verwenden Sie die URL-safe-Variante, sobald der Wert in eine URL oder einen Dateinamen kommt.
Die Daten wachsen um ein Drittel
Aus je 3 Bytes werden 4 Zeichen. Einen großen Upload per Base64 in einen JSON-Body zu packen, kostet auf beiden Seiten Bandbreite und Speicher – schicken Sie stattdessen multipart/form-data.
Fragen
Base64-Kodierung: Fragen und Antworten.
Was ist Base64-Kodierung?
Base64 ist ein Verfahren zur Binär-zu-Text-Kodierung, das Binärdaten mit 64 druckbaren ASCII-Zeichen darstellt (A–Z, a–z, 0–9, + und /). Es sorgt dafür, dass Binärdaten sicher durch Kanäle kommen, die für Text gedacht sind – E-Mail-Texte, JSON- und XML-Dokumente, HTTP-Header, URLs und HTML-Attribute. Base64 ist eine Kodierung, keine Verschlüsselung: Jeder kann es dekodieren, es bietet also keine Vertraulichkeit.
Wie kodiere ich Text online in Base64?
Fügen Sie Ihren Text in das Eingabefeld auf dieser Seite ein oder tippen Sie ihn. Das Ergebnis erscheint sofort im Ausgabefeld – ohne Button und ohne Neuladen, denn die Kodierung läuft während der Eingabe in Ihrem Browser. Mit dem Button Kopieren oder Strg+Umschalt+C landet der Base64-String in der Zwischenablage.
Wie kodiere ich einen String in Base64?
Ein String wird zuerst mit einem Zeichensatz – fast immer UTF-8 – in Bytes umgewandelt, und diese Bytes werden dann in Base64 kodiert. Auf dieser Seite passiert das automatisch: String eintippen, Ergebnis kopieren. Zum Beispiel ergibt "Hello, World!" in Base64 SGVsbG8sIFdvcmxkIQ==. Im Code ist es in jeder gängigen Sprache eine Zeile; siehe die Beispiele für Python, JavaScript, Bash, PowerShell, PHP, Java, Go, C# und Ruby.
Ist dieser Base64-Encoder sicher und privat?
Ja. Jedes Byte wird lokal von JavaScript in Ihrem eigenen Browser-Tab kodiert. Ihre Texte, Dateien und Bilder werden nie an einen Server übertragen, nie in einer Datenbank gespeichert und nie protokolliert – die Website ist eine vollständig statische Seite ohne jeden Upload-Endpunkt. Prüfen können Sie das im Netzwerk-Tab der DevTools während des Kodierens oder indem Sie die Internetverbindung trennen und sehen, dass das Tool weiter funktioniert.
Wie kodiere ich in Python Base64?
Verwenden Sie das eingebaute Modul base64. Kodieren mit base64.b64encode(data.encode("utf-8")).decode("ascii"), dekodieren mit base64.b64decode(encoded).decode("utf-8"). Beachten Sie, dass b64encode bytes erwartet, nicht str – deshalb wird die Eingabe zuerst in UTF-8 kodiert. Für URL-safe-Ausgabe nehmen Sie base64.urlsafe_b64encode, für MIME-Ausgabe mit 76-Zeichen-Zeilen base64.encodebytes.
Wie kodiere ich mit PowerShell oder unter Windows Base64?
In PowerShell kodieren Sie einen String mit [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("hello")) und eine Datei mit [Convert]::ToBase64String([IO.File]::ReadAllBytes("C:\pfad\datei.png")). In cmd.exe funktioniert certutil -encode in.png out.b64 auf jeder Windows-Installation, fügt aber BEGIN- und END-Kopfzeilen hinzu. [Text.Encoding]::Unicode (UTF-16 LE) nur für powershell -EncodedCommand verwenden.
Wie kodiere ich in JavaScript Base64?
Für ASCII-Text kodiert btoa(str) und dekodiert atob(str). btoa wirft bei Zeichen über U+00FF einen Fehler, deshalb Unicode-Text zuerst in Bytes umwandeln: btoa(Array.from(new TextEncoder().encode(str), (b) => String.fromCharCode(b)).join("")). Vermeiden Sie die Spread-Form String.fromCharCode(...bytes), die bei großen Eingaben den Call-Stack sprengt. In Node.js nehmen Sie Buffer.from(str, "utf8").toString("base64"). Moderne Laufzeitumgebungen bieten außerdem Uint8Array.prototype.toBase64().
Wie kodiere ich unter Linux eine Datei in Base64?
Mit dem coreutils-Befehl base64: base64 datei.txt kodiert, base64 -d datei.b64 dekodiert. Mit -w 0 schalten Sie den Zeilenumbruch ab, wenn Sie eine einzige Zeile brauchen, mit -w 76 erhalten Sie MIME-konforme Ausgabe. Einen String kodieren Sie direkt per Pipe: printf %s "hello" | base64 – nehmen Sie printf statt echo, damit kein abschließender Zeilenumbruch mitkodiert wird.
Wie kodiere ich auf dem Mac Base64?
macOS bringt im Terminal den BSD-Befehl base64 mit. Eine Datei kodieren Sie mit base64 -i datei.png -o datei.b64, einen String mit printf %s "hello" | base64, dekodieren mit base64 -D -i datei.b64 -o datei.png. Anders als GNU base64 unter Linux bricht er standardmäßig keine Zeilen um und kennt keine Option -w. Per Pipe in pbcopy landet das Ergebnis direkt in der Zwischenablage.
Wie kodiere ich ein Bild in Base64?
Öffnen Sie auf dieser Seite den Tab Datei & Bild und legen Sie Ihr Bild ab. Sie erhalten das rohe Base64, eine einfügefertige Data-URI (data:image/png;base64,...) sowie fertige HTML-, CSS- und Markdown-Snippets. Base64 macht ein Bild etwa 33 % größer – betten Sie daher nur kleine Bilder ein (unter etwa 5 KB) und liefern Sie größere als normale Dateien aus, die der Browser cachen kann.
Was ist URL-safe-Base64?
Standard-Base64 verwendet + und /, die in URLs und Dateinamen eine reservierte Bedeutung haben. URL-safe-Base64 (RFC 4648 §5, auch base64url genannt) ersetzt + durch - und / durch _ und lässt meist das =-Padding weg. JSON Web Tokens verwenden genau das. Aktivieren Sie auf dieser Seite die Option URL-safe, um es zu erzeugen.
Warum endet mein Base64-String mit =-Zeichen?
Base64 verarbeitet die Eingabe in Gruppen zu 3 Bytes, aus denen 4 Zeichen werden. Ist die Eingabelänge kein Vielfaches von 3, wird die letzte Gruppe mit = aufgefüllt, damit die Ausgabelänge ein Vielfaches von 4 bleibt. Ein übriges Byte ergibt zwei =, zwei übrige Bytes ergeben eines. Das Padding enthält keine Daten und ist in manchen Varianten wie base64url optional.
Um wie viel vergrößert Base64 meine Daten?
Um etwa 33 % – aus je 3 Eingabebytes werden 4 Ausgabezeichen, ein Verhältnis von 4/3. Die exakte Länge mit Padding beträgt 4 × ⌈n / 3⌉ Zeichen für n Eingabebytes: 10 Bytes werden zu 16 Zeichen, 1 MB zu etwa 1,33 MB. Im MIME-Modus kommen durch Zeilenumbrüche weitere rund 2,6 % hinzu (ein zwei Byte langes CRLF nach je 76 Zeichen). Dieses Tool zeigt die genaue Eingabe- und Ausgabegröße sowie den prozentualen Zuwachs während der Eingabe unter dem Ausgabefeld an.
Gibt es ein Dateigrößenlimit?
Ein serverseitiges Limit gibt es nicht, weil kein Server beteiligt ist. Die praktische Grenze sind der Speicher Ihres Geräts und die Limits des Browser-Tabs; auf dem Desktop funktionieren Dateien bis zu einigen hundert Megabyte in der Regel, und dieses Tool verarbeitet große Dateien in Blöcken, damit der Browser reaktionsfähig bleibt. Konkurrenztools, die auf einen Server hochladen, begrenzen meist auf 100 MB.
Funktioniert Base64-Kodierung mit Unicode und Emojis?
Ja. Text wird zuerst mit dem gewählten Zeichensatz in Bytes umgewandelt – standardmäßig UTF-8, das jeden Unicode-Codepunkt einschließlich Emojis abdeckt –, und diese Bytes werden dann in Base64 kodiert. Unterschiedliche Zeichensätze bei Encoder und Decoder sind die übliche Ursache für Zeichensalat; bleiben Sie daher auf beiden Seiten bei UTF-8, sofern Sie keinen konkreten Grund haben.