Base64 Encoder/Decoder

KONVERTIERUNGS-TOOL

Base64 Encoder/Decoder

Text, Dateien und URLs in Base64 umwandeln. Mit URL-safe Base64, Live-Vorschau und Batch-Modus. 100% lokal im Browser.

Encoder Decoder URL-safe Datei-Upload 100% Lokal

Hinweis: Base64 ist keine Verschlüsselung, sondern eine Kodierung, um Binärdaten in Text umzuwandeln. Alle Berechnungen erfolgen lokal im Browser – es werden keine Daten an Server gesendet.

Inhaltsverzeichnis

Schnellübersicht

  • Text Encode/Decode: Beliebigen Text in Base64 umwandeln
  • Datei-Upload: Bilder, PDFs, etc. zu Base64 (Data-URL)
  • URL-safe Base64: Für URLs, JWT, Cookies (RFC 4648)
  • Batch-Modus: Mehrere Zeilen gleichzeitig kodieren
  • Live-Vorschau: Automatische Konvertierung beim Tippen
  • Theorie: Wie Base64 funktioniert
  • Geschichte: Von PEM zu Base64URL
  • FAQ: Häufige Fragen zu Base64

1. Base64 Encoder/Decoder

Wähle einen Modus und gib deinen Text ein – die Umwandlung erfolgt sofort.

Eingabe (Text)
0 Zeichen 0 Bytes
Ausgabe (Base64)
0 Zeichen Bereit
Base64 auf einen Blick

Wie funktioniert Base64?

  • Zweck: Binärdaten in Text umwandeln (für E-Mail, URLs, JSON)
  • Zeichen: A-Z, a-z, 0-9, +, / (und = als Padding)
  • Größe: 33% größer als das Original (4 Zeichen für 3 Bytes)
  • Keine Verschlüsselung: Jeder kann Base64 dekodieren!
  • URL-safe: + → -, / → _ (RFC 4648)
Base64 Alphabet
Wert Zeichen Wert Zeichen Wert Zeichen Wert Zeichen
0A16Q32g48w
1B17R33h49x
2C18S34i50y
3D19T35j51z
4E20U36k520
5F21V37l531
6G22W38m542
7H23X39n553
8I24Y40o564
9J25Z41p575
10K26a42q586
11L27b43r597
12M28c44s608
13N29d45t619
14O30e46u62+
15P31f47v63/

2. Theorie – Wie Base64 funktioniert

Verstehe die Grundlagen der Base64-Kodierung.

Was ist Base64?

Base64 ist eine Kodierung, die Binärdaten in ASCII-Text umwandelt:

  • Zweck: Binärdaten über textbasierte Protokolle senden
  • Zeichen: 64 verschiedene ASCII-Zeichen
  • Größe: +33% größer als Original
  • Verwendung: E-Mail, URLs, JSON, XML
"Hallo" → "SGFsbG8="

Wie funktioniert es?

Schritt-für-Schritt:

  • 1. Text → Bytes: "Hallo" wird zu 5 Bytes
  • 2. Bytes → Bit-Gruppen: 3 Bytes = 4 Base64-Zeichen
  • 3. Bit → Base64-Zeichen: 6 Bit = 1 Zeichen
  • 4. Padding: Fehlende Zeichen mit "=" auffüllen
3 Bytes → 4 Zeichen (24 Bit → 4×6 Bit)

URL-safe Base64

Standard Base64 hat problematische Zeichen für URLs:

  • + wird in URLs als Leerzeichen interpretiert
  • / kollidiert mit URL-Pfaden
  • = ist als Query-Parameter problematisch

RFC 4648 Lösung:

  • + → - (Bindestrich)
  • / → _ (Unterstrich)
  • = wird oft weggelassen
+→-, /→_, =→(weggelassen)

Best Practices

  • Nicht für Sicherheit: Base64 ist keine Verschlüsselung!
  • URL-safe verwenden: Für URLs, JWT, Cookies
  • Größe beachten: +33% Overhead
  • Data-URLs: data:image/png;base64,...
  • UTF-8: Bei Text immer UTF-8 verwenden
  • Padding: Für JWT weglassen (Base64URL)
JWT: eyJhbGciOiJIUzI1NiJ9...

Wussten Sie schon?

Base64 macht Daten 33% größer, weil 3 Bytes auf 4 Zeichen abgebildet werden. Trotzdem ist es extrem nützlich: Ohne Base64 könnten wir keine Bilder in HTML einbetten, keine E-Mail-Anhänge versenden und keine JWTs in URLs verwenden. Übrigens: Die Kodierung ist keine Sicherheitsmaßnahme – jeder kann Base64 in Sekunden dekodieren!

3. Geschichte von Base64

Von E-Mail-Anhängen zu modernen Web-APIs.

1971

Erste E-Mail

Ray Tomlinson sendet die erste E-Mail. Problem: E-Mail-Systeme waren ursprünglich nur für 7-Bit-ASCII ausgelegt. Binärdaten konnten nicht direkt übertragen werden.

1987

PEM (RFC 989)

Privacy Enhanced Mail definiert erstmals eine Base64-Variante für E-Mail-Anhänge und verschlüsselte Nachrichten. Erste standardisierte Verwendung.

1993

MIME (RFC 1521)

MIME (Multipurpose Internet Mail Extensions) standardisiert Base64 für E-Mail-Anhänge. Bilder, PDFs und andere Binärdateien können nun per E-Mail versendet werden.

2003

Data-URLs (RFC 2397)

Data-URLs erlauben Base64-kodierte Daten direkt in HTML/CSS. Kleine Bilder können als data:image/png;base64,... eingebettet werden – ohne separate HTTP-Anfrage.

2006

RFC 4648 – Base16/32/64

RFC 4648 standardisiert Base16, Base32 und Base64. Definiert auch die URL-safe Variante (Base64URL) mit - und _ statt + und /.

2015

JWT (RFC 7519)

JSON Web Tokens werden Standard für Authentifizierung. Sie bestehen aus drei Base64URL-kodierten Teilen: Header, Payload und Signatur. Heute Milliarden von JWTs täglich.

Heute

Base64 überall

Base64 ist allgegenwärtig: In Data-URLs, JWTs, OAuth-Tokens, API-Responses, Kubernetes-Secrets und unzähligen anderen Standards. Die einfache Idee von 1971 ist heute unverzichtbar.

4. FAQ – Häufige Fragen

Häufige Fragen zu Base64

Was ist Base64 und wofür brauche ich es?

Base64 ist eine Kodierung, die Binärdaten in Text umwandelt:

  • Zweck: Binärdaten über textbasierte Protokolle senden
  • Beispiel: Ein Bild per E-Mail versenden
  • Format: Nur ASCII-Zeichen (A-Z, a-z, 0-9, +, /)
  • Größe: 33% größer als Original

Wo wird Base64 verwendet?

  • E-Mail: Anhänge (MIME)
  • Data-URLs: Bilder in HTML/CSS
  • JWT: JSON Web Tokens
  • APIs: Binärdaten in JSON
  • Kubernetes: Secrets

Wichtig: Base64 ist keine Verschlüsselung – jeder kann es dekodieren!

Ist Base64 sicher?

Nein, Base64 ist NICHT sicher!

  • Keine Verschlüsselung: Jeder kann Base64 dekodieren
  • Kein Schlüssel: Keine Authentifizierung möglich
  • Umkehrbar: Encoder/Decoder sind öffentlich
  • Sichtbar: In URLs, Cookies, Logs lesbar

Nur für Kodierung nutzen:

  • Transport: Binärdaten übertragen
  • Speicherung: Daten in Textdateien
  • Kompatibilität: Mit textbasierten Systemen

Für Sicherheit: AES, RSA, TLS verwenden! Base64 kann als Schicht über Verschlüsselung genutzt werden.

Was ist URL-safe Base64?

URL-safe Base64 (Base64URL) ersetzt problematische Zeichen:

StandardURL-safeGrund
+-+ wird als Leerzeichen interpretiert
/_/ kollidiert mit URL-Pfaden
=(weggelassen)= ist in Query-Strings problematisch

RFC 4648: Definiert die URL-safe Variante offiziell.

Verwendung:

  • URLs: In Pfaden und Query-Strings
  • Cookies: Session-Tokens
  • JWT: Alle drei Teile
  • OAuth: Access Tokens

Achtung: Standard und URL-safe sind nicht kompatibel!

Warum wird Base64 33% größer?

Weil 3 Bytes auf 4 Zeichen abgebildet werden:

  • Input: 3 Bytes = 24 Bit
  • Output: 4 Base64-Zeichen × 6 Bit = 24 Bit
  • Verhältnis: 4/3 = 1,333... → +33%

Beispiele:

  • 3 Bytes → 4 Zeichen
  • 6 Bytes → 8 Zeichen
  • 100 KB → ~133 KB
  • 1 MB → ~1,33 MB

Padding: Fehlende Bytes werden mit = aufgefüllt.

Konsequenz: Für große Dateien ist Base64 ineffizient – besser Binärübertragung!

Was ist eine Data-URL?

Eine Data-URL ist eine URL, die die Daten direkt enthält:

Format:

  • data:[MIME-Typ][;base64],Daten
  • Beispiel: data:image/png;base64,iVBORw0KGgo...

Vorteile:

  • Kein HTTP-Request: Daten sind direkt eingebettet
  • Inline: Perfekt für kleine Bilder/Icons
  • Kein Server: Statische Seiten ohne Backend

Nachteile:

  • Größer: +33% Overhead
  • Nicht cachebar: Bei jedem Laden neu
  • HTML aufblähen: Große Dateien vermeiden

Empfehlung: Nur für Dateien < 10 KB nutzen!

Warum funktioniert mein Decoder nicht?

Häufige Ursachen:

  • URL-safe vs. Standard: - statt +?
  • Padding fehlt: = am Ende fehlt?
  • Zeilenumbrüche: Enthält der String \n?
  • Whitespace: Leerzeichen/Tabs im String?
  • Falsches Encoding: Latin-1 statt UTF-8?
  • Abgeschnitten: String ist unvollständig?

Lösungen:

  • Normalisieren: Whitespace entfernen
  • Konvertieren: URL-safe → Standard
  • Padding hinzufügen: Bis Länge durch 4 teilbar
  • UTF-8 prüfen: TextDecoder mit 'utf-8'
Kann ich Base64 in URLs verwenden?

Nur mit URL-safe Base64 (Base64URL)!

Problem mit Standard-Base64:

  • + wird in URLs zu Leerzeichen (URL-Encoding)
  • / wird als Pfad-Trenner interpretiert
  • = in Query-Strings kann Probleme machen

Lösung – URL-safe Base64:

  • + → -
  • / → _
  • = weglassen (Padding optional)

Beispiel JWT:

  • eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0.abc123

Unser Tool: Aktiviere die Option "URL-safe", um automatisch zu konvertieren!

Wie dekodiere ich Base64 in JavaScript?

Modern (Browser & Node.js):

  • Dekodieren: atob(base64String)
  • Kodieren: btoa(textString)

Aber Achtung – Unicode!

  • atob/btoa funktionieren nur mit Latin-1
  • Für UTF-8: TextEncoder und TextDecoder

UTF-8 korrekt:

  • Kodieren: btoa(String.fromCharCode(...new TextEncoder().encode(str)))
  • Dekodieren: new TextDecoder().decode(Uint8Array.from(atob(b64), c => c.charCodeAt(0)))

Unser Tool macht das automatisch für dich – mit voller UTF-8-Unterstützung!

Zusammenfassung

Die wichtigsten Punkte

  • Base64: Binärdaten in ASCII-Text umwandeln
  • Zweck: Transport über textbasierte Protokolle
  • Größe: +33% Overhead (3 Bytes → 4 Zeichen)
  • Alphabet: A-Z, a-z, 0-9, +, / (und = als Padding)
  • URL-safe: +→-, /→_, = weglassen (RFC 4648)
  • Keine Verschlüsselung: Jeder kann dekodieren!
  • Data-URLs: data:image/png;base64,...
  • JWT: Header.Payload.Signature – alle Base64URL
  • UTF-8: TextEncoder/TextDecoder für Unicode
  • Unser Tool: Text, Datei und Batch-Modus

Weitere Konvertierungs-Tools

URL Encoder/Decoder

URLs und Query-Parameter kodieren und dekodieren.

Zum Tool
HTML Encoder/Decoder

HTML-Entities und Sonderzeichen umwandeln.

Zum Tool
ROT13 Cipher

ROT13-Verschlüsselung für Text.

Zum Tool
Hash Generator

MD5, SHA-1, SHA-256 und SHA-512 für Text.

Zum Tool