Base64-, URL- und Hex-Kodierer / -Dekodierer
Kodieren oder dekodieren Sie Text als Base64 (Standard und URL-sicher, mit oder ohne Padding), URL (Komponenten- und Formularform), Hex und HTML-Entitäten. Sehen Sie die Position eines ungültigen Zeichens, die UTF-8-Bytezahl und einen Byte-Dump und wandeln Sie eine Datei (bis 10 MB) in Base64 um. Alles geschieht im Browser; nichts wird gesendet.
Base64, URL und Hex sind keine Verschlüsselung: Es sind Kodierungen, die jeder umkehren kann. Glauben Sie nicht, damit ein Passwort, einen Schlüssel oder personenbezogene Daten zu „verbergen“.
Der Text wird in UTF-8-Bytes umgewandelt und dann im gewählten Format kodiert.
Die Umwandlung läuft in Ihrem Browser; der eingegebene Text und die gewählte Datei werden nirgendwohin gesendet oder gespeichert.
Datei zu Base64
Wählen Sie eine Datei (höchstens 10 MB). Die Datei wird in Ihrem Browser gelesen und in Base64 umgewandelt; sie wird nirgendwohin gesendet.
Das Werkzeug ist für UTF-8-Text ausgelegt; Text in einer anderen Zeichenkodierung (z. B. Windows-1252) muss zuerst in UTF-8 umgewandelt werden. Die Dekodierung von HTML-Entitäten kennt nur gängige benannte Entitäten (Latin-1, türkische Buchstaben, typografische Zeichen, einige Symbole) und numerische Entitäten; Namen außerhalb der Tabelle bleiben unverändert. Stammt der dekodierte Text aus einer nicht vertrauenswürdigen Quelle, fügen Sie ihn nicht direkt in eine Seite ein.
Möchten Sie den Datenaustausch zwischen Ihren Systemen (Authentifizierung, signierte Nutzlasten, Dateiübertragung) gemeinsam entwerfen und absichern?
Gespräch anfragen01
So geht's
A
Wählen Sie Richtung (kodieren oder dekodieren) und Format und fügen Sie den Text ein. Beim Dekodieren vermutet das Werkzeug, welcher Kodierung die Eingabe ähnelt.
B
Kopieren Sie die Ausgabe. Bei einem Fehler sehen Sie Zeile, Spalte und Position des ungültigen Zeichens; UTF-8-Bytezahl und ein Byte-Dump stehen darunter.
C
Um eine Datei in Base64 umzuwandeln, wählen Sie sie im Abschnitt „Datei zu Base64“ (höchstens 10 MB); kopieren oder laden Sie das Ergebnis herunter.
02
Base64 ist keine Verschlüsselung
Base64 wandelt Binärdaten (ein Bild, einen Schlüssel, eine komprimierte Datei) in Text aus nur Buchstaben, Ziffern und wenigen Zeichen um, damit sie durch Kanäle passen, die nur Text transportieren, etwa E-Mail, JSON, URLs oder XML. Geheimhaltung bietet das nicht: Es ist eine Darstellung ohne Schlüssel, die jeder in einem Schritt umkehren kann. Ein Passwort, ein Token oder personenbezogene Daten in Base64 umzuwandeln, schützt sie nicht.
Dasselbe gilt für URL-Kodierung und Hex. Echte Vertraulichkeit braucht Verschlüsselung (etwa AES-GCM), Integrität und Identität brauchen eine Signatur oder einen HMAC; eine Kodierung ersetzt sie nicht.
03
Standard- und URL-sicheres Base64, Padding
Standard-Base64 (RFC 4648) verwendet in seinem 64-Zeichen-Alphabet + und /; da diese beiden Zeichen in URLs und Dateinamen eine besondere Bedeutung haben, ersetzt die URL-sichere Variante sie durch - und _. JWTs, Web-Push-Schlüssel und viele API-Token nutzen die URL-sichere Variante. Je 3 Bytes werden zu 4 Zeichen, weshalb Base64 Daten um etwa ein Drittel vergrößert.
Das Padding (=) füllt die Ausgabelänge auf ein Vielfaches von 4 auf. Es ist technisch überflüssig und entfällt in Formaten wie JWT; dieses Werkzeug akzeptiert Eingaben ohne Padding, aber eine Zeichenkette der Länge 4n+1 kann keine Daten darstellen und wird als Fehler gemeldet. Bei Zeichenfehlern wird die Position als Zeile und Spalte angezeigt.
04
URL, Hex, HTML-Entitäten und UTF-8
Die URL-Kodierung kennt zwei gängige Formen. encodeURIComponent macht aus einem Leerzeichen %20 und lässt ! ' ( ) * ~ offen; die Form application/x-www-form-urlencoded von HTML-Formularen macht daraus + und lässt nur Buchstaben, Ziffern und *-._ offen. Ein + in einem Query-String bedeutet also je nach Form Leerzeichen oder Pluszeichen; wählen Sie beim Dekodieren den richtigen Modus.
Text wird immer zuerst in UTF-8-Bytes umgewandelt: Lateinische Buchstaben belegen 1 Byte, Buchstaben wie ä ö ü ß 2, die meisten Symbole 3 und ein Emoji 4. Deshalb kann die Bytezahl größer sein als die Zeichenzahl. Zeigt dekodierter Text defekte Zeichen wie ü, ist die Quelle meist UTF-8-Text, der als andere Kodierung gelesen wurde. HTML-Entitäten (& < é é) dienen dazu, Text sicher in eine Seite zu setzen; das Werkzeug dekodiert sie aus einer Tabelle und übergibt sie keiner Seiten-Engine.
Häufige Fragen
- Ist Base64 ein sicheres Mittel, etwas zu speichern oder zu verbergen?
- Nein. Base64 ist eine Kodierung, keine Verschlüsselung. Es braucht keinen Schlüssel, und jeder kehrt es in einem Schritt um. Zum Verbergen eines Passworts oder personenbezogener Daten nutzen Sie Verschlüsselung, zum Speichern von Passwörtern einen gesalzenen Passwort-Hash (Argon2, bcrypt, scrypt oder PBKDF2).
- Warum vergrößert Base64 die Daten?
- Je 3 Bytes (24 Bit) werden zu 4 Zeichen mit 6 Bit; das sind etwa 33 % Zuwachs (mit Padding und Zeilenumbrüchen etwas mehr). Eine 10-MB-Datei wird zu einem Text von rund 13,3 Millionen Zeichen.
- Wann brauche ich URL-sicheres Base64?
- Wenn die Ausgabe in einer URL, einem Dateinamen, einem Cookie oder einem Token wie einem JWT stehen soll. Das + und / des Standardalphabets hat in URLs eine besondere Bedeutung, und = kann einen Query-String stören. Die URL-sichere Variante nutzt - und _ und wird meist ohne Padding geschrieben.
- Was unterscheidet encodeURIComponent von der Formularform?
- Leerzeichen und Sonderzeichen. encodeURIComponent schreibt ein Leerzeichen als %20 und lässt ! ' ( ) * ~ unverändert. Die Formularform (application/x-www-form-urlencoded) schreibt ein Leerzeichen als + und lässt nur Buchstaben, Ziffern und *-._ offen. Beim Dekodieren im falschen Modus wird aus einem + ein Leerzeichen oder aus einem Leerzeichen ein Plus.
- Beim Dekodieren erscheinen Umlaute defekt (ü, ö). Warum?
- Die Bytefolge ist sehr wahrscheinlich UTF-8, das als andere Kodierung gelesen oder doppelt kodiert wurde. Dieses Werkzeug liest die Bytes als UTF-8; sind sie kein gültiges UTF-8, meldet es das und zeigt den Rohbyte-Dump. Prüfen Sie die Kodierung des Quellsystems (UTF-8 oder Windows-1252).
- Ist das Dekodieren von HTML-Entitäten sicher? Könnte ein Skript laufen?
- In diesem Werkzeug erfolgt die Dekodierung tabellenbasiert; der Text wird nie an eine Seiten-Engine (innerHTML) übergeben, und es läuft kein Skript. Der dekodierte Text kann aber etwas wie <script> enthalten, und wenn Sie ihn direkt in eine andere Seite einfügen, läuft es dort. Verwenden Sie die Ausgabe nur als Text oder maskieren Sie sie passend zum Kontext.
Machen wir den Datenfluss zwischen Ihren Systemen sicher
Wir entwerfen Kodierung, Signatur, Authentifizierung und Fehlerbehandlung für die Datenflüsse zwischen CRM-, ERP- und Drittsystemen. Besprechen wir Ihren bestehenden Ablauf in einem kostenlosen Erstgespräch.