Base64-Encoder/Decoder

Ein kostenloser Online-Basis64-Encoder/Decoder für schnelles Kodieren und Dekodieren. Er bietet UTF-8-Sicherheit, URL-sichere Konvertierung, automatisches Padding, Echtzeitstatistiken und sichere Kopierfunktionen. Enthalten sind mehrsprachige Codebeispiele, Data-URI-Erstellung, detaillierte Anleitungen und häufig gestellte Fragen. Benutzerfreundliche Oberfläche mit bidirektionaler Eingabeauffüllung, Tastaturzugänglichkeit und mobilem Design. Kein Download erforderlich, funktioniert direkt im Browser.

Kodieren (Text → Base64)

Dekodieren (Base64 → Text)

Anleitung

Base64 kodiert Binärdaten in ASCII für eine sichere Übertragung und Speicherung. Die Größe nimmt dabei um etwa 33 % zu.
Kodieren: Wandeln Sie Klartext in Base64 um, um ihn sicher zu übertragen.
Dekodieren: Stellen Sie den ursprünglichen Text aus einer Base64-Zeichenkette wieder her.

Funktionen

  • UTF-8-Sicher: Verarbeitet Nicht-ASCII-Zeichen korrekt (unter Verwendung von encodeURIComponent/unescape).
  • URL-sichere Unterstützung: Umschalten zwischen + / → - _ per Klick, optionales Entfernen der Padding-Zeichen =.
  • Vorverarbeitung vor dem Dekodieren: Ignoriert Leerzeichen, konvertiert automatisch URL-sichere Formate und ergänzt automatisch Padding-Zeichen =.
  • Echtzeit-Interaktion: Eingaben werden sofort verarbeitet, mit Anzeige von Länge und Wachstumsrate.
  • Benutzerfreundlichkeit: Schnellkopieren, bidirektionale Übernahme zwischen Eingabefeldern, Tastaturzugriff, mobilfreundlich.
  • Einheitliches Design: Keine Tailwind dark: Klassen – vollständig gestylt mit DaisyUI-Themes.

Schnellbeispiele

Originaltext:
Hello, World!
Base64:
SGVsbG8sIFdvcmxkIQ==

Was ist Base64?

Base64 ist ein Verfahren zur Kodierung von Binärdaten in ASCII-Text, das häufig verwendet wird, um Bilder oder Datei-Inhalte über textbasierte Protokolle wie JSON, XML und HTTP zu übertragen.

Jede Gruppe von 3 Bytes wird auf 4 druckbare Zeichen abgebildet, was typischerweise zu einer Größensteigerung von etwa 33 % führt.

Standard-Base64 nutzt A–Z, a–z, 0–9, +, /, sowie das Füllzeichen =; die URL-sichere Variante ersetzt + und / durch - und _, um Escape-Probleme in URLs zu vermeiden.

Häufige Anwendungsfälle

  • Bilder oder kleine Dateien als Data URIs einbetten.
  • Binärdaten zwischen Client und Server übertragen (z. B. verschlüsselte Chiffretexte, komprimierte Datenströme).
  • Text in ein druckbares Format konvertieren, um Inkonsistenzen bei der Kodierung oder unsichtbare Zeichen zu vermeiden.

FAQs & wichtige Hinweise

  • Zeichensatz: In Webumgebungen sollte Text zunächst als UTF-8 kodiert werden (dieses Tool übernimmt diesen Schritt automatisch).
  • URL-sicher: Für URL-Parameter oder Pfade sollte die URL-sichere Variante bevorzugt und das Entfernen der Füllzeichen in Betracht gezogen werden.
  • Padding: Einige Implementierungen erlauben das Weglassen von =; beim Dekodieren wird automatisch auf ein Vielfaches von 4 Zeichen aufgefüllt.
  • Zeilenumbrüche: MIME-Base64 kann Zeilenumbrüche enthalten; wählen Sie beim Dekodieren „Leerzeichen ignorieren“, um diese zu verarbeiten.

Base64 in Programmiersprachen kodieren/dekodieren

JavaScript
Text → Base64 (UTF-8-sicher)
const encoded = btoa(unescape(encodeURIComponent(text)));
// URL-sicher
const urlSafe = encoded.replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/g, '');
Dekodieren (Base64 → Text)
// Vorverarbeitung: -_ durch +/ ersetzen
let b64 = input.replace(/-/g, '+').replace(/_/g, '/');
if (b64.length % 4 !== 0) b64 = b64.padEnd(b64.length + (4 - (b64.length % 4)), '=');
const text = decodeURIComponent(escape(atob(b64)));
PHP
Codieren (Text → Base64)
$encoded = base64_encode($text);
// URL-sicher
$urlSafe = rtrim(strtr($encoded, '+/', '-_'), '=');
Dekodieren (Base64 → Text)
$b64 = strtr($input, '-_', '+/');
// Automatisches Padding mit '='
if (strlen($b64) % 4 !== 0) $b64 .= str_repeat('=', 4 - (strlen($b64) % 4));
$text = base64_decode($b64);
Python
Codieren (Text → Base64)
import base64

encoded = base64.b64encode(text.encode('utf-8')).decode('ascii')
# URL-sichere Kodierung (Padding entfernen)
url_safe = encoded.replace('+','-').replace('/','_').rstrip('=')
Dekodieren (Base64 → Text)
import base64

def b64_decode(s: str) -> str:
    s = s.replace('-','+').replace('_','/')
    s += '=' * (-len(s) % 4)  # Automatisches Padding mit '='
    return base64.b64decode(s).decode('utf-8')
Go
Codieren (Text → Base64)
import (
    "encoding/base64"
)

enc := base64.StdEncoding.EncodeToString([]byte(text))
// URL-sichere Kodierung (ohne Padding)
urlEnc := base64.RawURLEncoding.EncodeToString([]byte(text))
Dekodieren (Base64 → Text)
import (
    "encoding/base64"
)

decBytes, err := base64.StdEncoding.DecodeString(enc)
// URL-sichere Dekodierung (ohne Padding)
decURL, err2 := base64.RawURLEncoding.DecodeString(urlEnc)
Rust
Codieren (Text → Base64)
use base64::{engine::general_purpose, Engine as _};

let enc = general_purpose::STANDARD.encode(text.as_bytes());
// URL-sichere Kodierung (ohne Padding)
let url_enc = general_purpose::URL_SAFE_NO_PAD.encode(text.as_bytes());
Dekodieren (Base64 → Text)
use base64::{engine::general_purpose, Engine as _};

let dec_bytes = general_purpose::STANDARD.decode(&enc).unwrap();
let dec = String::from_utf8(dec_bytes).unwrap();

let url_dec = String::from_utf8(
    general_purpose::URL_SAFE_NO_PAD.decode(&url_enc).unwrap()
).unwrap();
Cargo-Abhängigkeit: base64 = "0.22"
Java
Codieren (Text → Base64)
import java.nio.charset.StandardCharsets;
import java.util.Base64;

String enc = Base64.getEncoder().encodeToString(text.getBytes(StandardCharsets.UTF_8));
// URL-sichere Kodierung (ohne Padding)
String urlEnc = Base64.getUrlEncoder().withoutPadding().encodeToString(text.getBytes(StandardCharsets.UTF_8));
Dekodieren (Base64 → Text)
import java.nio.charset.StandardCharsets;
import java.util.Base64;

String dec = new String(Base64.getDecoder().decode(enc), StandardCharsets.UTF_8);
String urlDec = new String(Base64.getUrlDecoder().decode(urlEnc), StandardCharsets.UTF_8);

Data-URI-Beispiele

Bilder oder kleine Dateien als Data URIs einbetten:

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...

Hinweis: Vermeiden Sie die Verwendung von Data URIs für große Dateien, da diese die HTML-/JSON-Größe erheblich erhöhen und die Leistung beeinträchtigen.