Base64 Kodieren / Dekodieren/ Clientseitig

Text und Base64 umwandeln mit voller Unicode-Unterstützung, URL-sicherem Modus und ohne Server-Uploads.

Klartext
Base64-Ausgabe
Ausgabe erscheint hier…
Eingabe0 Zeichen
Ausgabe0 Zeichen

Hat dieses Tool Ihr Problem gelöst?

Was ist Base64-Kodierung

Base64 ist ein Kodierungsverfahren, das Binärdaten mit 64 druckbaren ASCII-Zeichen darstellt. Es kodiert jeweils 3 Bytes (24 Bit) in 4 Zeichen und verwendet nur A-Z, a-z, 0-9, +, / und das =-Füllzeichen. Base64 ist KEIN Verschlüsselungsalgorithmus — es ist ein Kodierungsformat, das jeder leicht解码ieren kann und keinerlei Sicherheit bietet.

Gängige Verwendungszwecke von Base64

E-Mail-Anhänge: Das MIME-Protokoll verwendet Base64 für binäre Anhänge. Data-URLs: Bilder, Schriftarten und andere Ressourcen direkt in CSS oder HTML嵌入, um HTTP-Anfragen zu reduzieren. API-Übertragung: Binärdaten (Bilder, PDFs) als Base64-Zeichenketten in JSON kodieren. JWT-Tokens: Header und Payload von JWTs sind Base64-kodiertes JSON. Basic Authentication: HTTP Basic Auth kodiert Benutzername:Passwort als Base64.

Wie stark vergrößert Base64 die Datei

Base64-Kodierung vergrößert die Datenmenge um大约 33%. Da jeweils 3原 Bytes zu 4 Zeichen werden, berechnet sich die kodierte Größe als: ceil(Originalgröße / 3) × 4. Für große Dateien ist die直接 Übertragung von Binärdaten因此 effizienter. Wenn Sie jedoch Binärdaten über einen reinen Textkanal (JSON, XML, URLs) übertragen müssen, ist Base64 dieStandardlösung.

Codebeispiele

JavaScript (Browser)
// Encode (ASCII only)
const encoded = btoa("Hello, World!");
// Decode
const decoded = atob(encoded);

// Encode Unicode (CJK, emoji, etc.)
function b64Encode(str) {
  const bytes = new TextEncoder().encode(str);
  const bin = String.fromCharCode(...bytes);
  return btoa(bin);
}
function b64Decode(b64) {
  const bin = atob(b64);
  const bytes = Uint8Array.from(bin, c => c.charCodeAt(0));
  return new TextDecoder().decode(bytes);
}
Python
import base64

# Encode
text = "Hello, 世界 🌏"
encoded = base64.b64encode(text.encode("utf-8")).decode()
print(encoded)

# Decode
decoded = base64.b64decode(encoded).decode("utf-8")
print(decoded)

# URL-safe variant
url_safe = base64.urlsafe_b64encode(
    text.encode("utf-8")
).decode().rstrip("=")
Go
import "encoding/base64"

// Encode
encoded := base64.StdEncoding.
    EncodeToString([]byte("Hello, World!"))

// Decode
decoded, err := base64.StdEncoding.
    DecodeString(encoded)

// URL-safe
urlSafe := base64.URLEncoding.
    EncodeToString([]byte("Hello, World!"))
Shell (curl / openssl)
# Encode
echo -n "Hello, World!" | base64

# Decode
echo "SGVsbG8sIFdvcmxkIQ==" | base64 -d

# URL-safe encode (GNU coreutils)
echo -n "Hello" | base64 | tr '+/' '-_' | tr -d '='

Häufig gestellte Fragen

Was ist Base64?
Base64 ist ein Kodierungsverfahren, das Binärdaten in ASCII-Text umwandelt und dabei 64 druckbare Zeichen verwendet (A–Z, a–z, 0–9, +, /). Es wird häufig verwendet, um Binärdaten (Bilder, Dateien) über textbasierte Protokolle wie HTTP, E-Mail und JSON zu übertragen.
Ist Base64-Kodierung dasselbe wie Verschlüsselung?
Nein. Base64 ist eine Kodierung, keine Verschlüsselung. Jeder kann es sofort dekodieren — es gibt keinen Schlüssel. Für die Datensicherheit verwenden Sie einen geeigneten Verschlüsselungsalgorithmus wie AES oder RSA.
Was ist der Unterschied zwischen Base64 und base64url?
Standard-Base64 verwendet + und /, die in URLs escaped werden müssen (%2B und %2F), plus =-Padding. base64url ersetzt + durch -, / durch _ und entfernt nachfolgende =, sodass es sicher in URLs und Dateinamen ohne Escaping verwendet werden kann. JWT-Tokens verwenden base64url für Header und Payload.
Warum vergrößert Base64 die Datenmenge?
Base64 stellt je 3 Bytes Binärdaten als 4 ASCII-Zeichen dar, wodurch die kodierte Größe auf ~133% des Originals ansteigt — ein Overhead von etwa 33%. Das ist der Preis für die Darstellung von Binärdaten als Klartext.
Wie verwende ich Base64 in JavaScript?
Browser bieten btoa() (Kodieren) und atob() (Dekodieren). Sie unterstützen jedoch nicht nativ Unicode; für Zeichenketten mit nicht-lateinischen Zeichen kodieren Sie zuerst in UTF-8-Bytes über TextEncoder. Dieses Tool verarbeitet Unicode korrekt.
Sind meine Daten sicher?
Ja. Dieses Tool läuft vollständig in Ihrem Browser ohne Netzwerkanfragen — Ihre Daten verlassen nie Ihr Gerät. Sie können bedenkenlos sensiblen Text zum Testen einfügen.