Base64 kodieren und dekodieren
Text einfügen, Richtung und Format wählen, Ergebnis kopieren: Das Tool wandelt Text in Base64 oder Base64url um und zurück – Umlaute und Emoji korrekt als UTF-8 – und beherrscht die URL-Kodierung mit Prozentzeichen in allen drei gängigen Varianten. Ungültige Eingaben werden mit Position gemeldet.
So wird gerechnet
Base64 stellt beliebige Bytes mit nur 64 druckbaren Zeichen dar (A–Z, a–z, 0–9, + und /). Je 3 Bytes werden zu 4 Zeichen; fehlt am Ende etwas, füllen ein oder zwei Gleichheitszeichen auf (Padding). Der Code wird dadurch rund ein Drittel länger als das Original. So lassen sich Binärdaten durch Kanäle schicken, die nur Text vertragen – E-Mail-Anhänge, Data-URLs (data:image/png;base64,…), HTTP-Basic-Auth oder JSON.
Base64 ist keine Verschlüsselung. Jeder kann den Text ohne Schlüssel zurückverwandeln. Zugangsdaten gehören nicht ungeschützt in Base64.
Base64 und Base64url
Das Plus und der Schrägstrich haben in URLs und Dateinamen eine eigene Bedeutung. Base64url (RFC 4648 § 5) ersetzt sie deshalb durch Minus und Unterstrich und lässt das Padding meist weg – so kodiert sind zum Beispiel JSON Web Tokens (JWT). Beispiel: die Bytes FB FF ergeben +/8= in Base64 und -_8 in Base64url.
Warum UTF-8 wichtig ist
Base64 kodiert Bytes, keine Buchstaben. Das Tool wandelt Text deshalb zuerst in UTF-8 um: „ü“ wird zu zwei Bytes, ein Emoji zu vier. Die im Browser eingebaute Funktion btoa() kann das nicht und bricht bei Umlauten mit einem Fehler ab. Ergeben die dekodierten Bytes keinen gültigen UTF-8-Text, zeigt das Tool sie als Hexadezimalwerte an.
URL-Kodierung: drei Varianten
- Teil einer URL (
encodeURIComponent): kodiert alles außer A–Z, a–z, 0–9 und- _ . ! ~ * ' ( )– also auch/ ? & = #. Richtig für einzelne Werte, etwa einen Suchbegriff in?q=…. - Ganze URL (
encodeURI): lässt die Zeichen mit Sonderbedeutung (: / ? # & = +…) stehen und kodiert nur Leerzeichen, Umlaute und Ähnliches. Für einen vollständigen Link, der gültig bleiben soll. - Formular (
application/x-www-form-urlencoded): so senden HTML-Formulare ihre Daten. Leerzeichen werden zu+, zusätzlich werden! ' ( ) ~kodiert. Beim Dekodieren wird+wieder zum Leerzeichen.
Jedes Zeichen außerhalb des erlaubten Vorrats wird als % mit zwei Hexadezimalziffern je UTF-8-Byte geschrieben (RFC 3986 § 2.1): Leerzeichen = %20, ä = %C3%A4.
Alle Umwandlungen laufen in Ihrem Browser. Die Eingabe wird nicht gesendet, nicht gespeichert und nicht in die Adresszeile geschrieben.
Häufige Fragen
Wie dekodiere ich Base64?
Richtung „Dekodieren“ und Format „Base64“ wählen, den Code einfügen – der Klartext erscheint sofort. Enthält der Code - und _, ist es Base64url; dann dieses Format wählen.
Ist Base64 eine Verschlüsselung?
Nein. Base64 ist nur eine andere Schreibweise derselben Daten und ohne Schlüssel umkehrbar. Zum Schutz von Daten braucht es echte Verschlüsselung, für Passwörter einen Passwort-Hash.
Warum endet Base64 oft mit = oder ==?
Base64 arbeitet in Gruppen von 3 Bytes. Bleiben am Ende 1 oder 2 Bytes übrig, wird mit == bzw. = aufgefüllt, damit die Länge ein Vielfaches von 4 ist. Base64url lässt dieses Padding meist weg.
Was ist der Unterschied zwischen encodeURI und encodeURIComponent?
encodeURI ist für ganze Adressen gedacht und lässt / ? & = # stehen. encodeURIComponent kodiert auch diese Zeichen und ist richtig für einzelne Parameterwerte – sonst würde ein & im Wert die URL zerlegen.
Warum wird ein Leerzeichen mal %20 und mal + geschrieben?
In Pfaden und nach RFC 3986 steht ein Leerzeichen als %20. HTML-Formulare (application/x-www-form-urlencoded) schreiben es als +. Beim Dekodieren muss man wissen, welche Variante vorliegt – ein echtes Pluszeichen steht dort als %2B.
Wie groß wird eine Datei in Base64?
Rund 4/3 der Originalgröße: aus 3 Bytes werden 4 Zeichen. Ein Bild mit 300 KB wird als Base64 etwa 400 KB groß, mit Zeilenumbrüchen (MIME) noch etwas mehr.
Quellen und Rechtsgrundlagen
- RFC 4648: RFC 4648 – The Base16, Base32, and Base64 Data Encodings (§ 4 Base64, § 5 Base64url, § 3.2 Padding)
- RFC 3986: RFC 3986 – Uniform Resource Identifier (URI): Generic Syntax (§ 2.1 Percent-Encoding, § 2.2 Reserved Characters)
- WHATWG URL Standard – application/x-www-form-urlencoded
- MDN Web Docs – encodeURIComponent()
- MDN Web Docs – encodeURI()
- MDN Web Docs – Base64 (Unicode problem, TextEncoder)
Stand:
Passende Werkzeuge
- Hash-Generator: SHA-256, SHA-512, SHA-1, MD5SHA-256, SHA-384, SHA-512, SHA-1 und MD5 von Text oder Datei berechnen und Prüfsummen vergleichen – lokal im Browser, ohne Upload, kostenlos.
- Regex-TesterReguläre Ausdrücke (JavaScript) live testen: Treffer markiert, Gruppen als Tabelle, Muster Schritt für Schritt erklärt. Kostenlos, ohne Upload.
- JSON formatieren, validieren und minifizierenJSON online prüfen nach RFC 8259: Fehler mit Zeile, Spalte und klarer Erklärung, schön formatieren oder minifizieren, Schlüssel sortieren. Lokal im Browser.
- UUID-Generator: UUID v4 und v7 erzeugen und prüfenUUIDs online erzeugen: Version 4 (zufällig) oder Version 7 (zeitsortiert), bis zu 1000 auf einmal. UUID prüfen und Version, Variante und Zeitpunkt auslesen.
- Passwort-GeneratorSichere Passwörter und merkbare Passphrasen aus deutschen Wörtern erzeugen – mit Entropie in Bit, direkt im Browser, nichts wird gesendet oder gespeichert.
- Meine BildschirmauflösungZeigt sofort Ihre Bildschirmauflösung, echte Pixel, Browserfenster (Viewport), devicePixelRatio, Seitenverhältnis und Breakpoint. Live, direkt im Browser.