

Deine Daten sind 100 % privat -- Base64 wird vollständig direkt auf deinem Gerät kodiert und dekodiert.
Base64 ist eine Methode, um Binärdaten als Klartext darzustellen, und verwendet dabei 64 ASCII-Zeichen: A–Z, a–z, 0–9 sowie + und /. Es ermöglicht die sichere Übertragung von Binärdaten wie Bildern, Schlüsseln und E-Mail-Anhängen durch Systeme, die für Text ausgelegt sind. Es handelt sich um Kodierung, nicht um Verschlüsselung.
Base64 verwendet ein festes Alphabet aus 64 Zeichen. Jeder Wert von 0 bis 63 entspricht genau einem davon – so werden aus je 3 Bytes Binärdaten 4 lesbare Zeichen:
| Werte | Zeichen | |
|---|---|---|
| 0–25 | A–Z | 26 Großbuchstaben |
| 26–51 | a–z | 26 Kleinbuchstaben |
| 52–61 | 0–9 | 10 Ziffern |
| 62–63 | + / | 2 Sonderzeichen |
Das „="-Zeichen ist die einzige Ausnahme. Es ist ein Auffüllzeichen (Padding), gehört nicht zu den 64 Werten und rundet lediglich den letzten Block ab.
Sie sind Base64 bereits fast sicher begegnet. Es taucht überall dort auf, wo Binärdaten in Texten transportiert werden müssen:
Dieser Data-URI-Trick sieht folgendermaßen aus. Die lange Zeichenkette ist das vollständige Bild:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="Red dot" />Frühe Netzwerkprotokolle waren für Text und nicht für rohe Bytes ausgelegt. ASCII verwendete 7 Bit und 128 Zeichen – für Englisch ausreichend, aber nicht für Binärdaten. Einige Systeme verstümmelten Steuerzeichen oder schrieben Zeilenenden um (LF zu CR + LF), was Bilder und Audiodaten beim Transport still beschädigte.
Base64 umgeht all das, indem es ausschließlich Zeichen ausgibt, auf die sich jedes System bereits einigt. Base16 und Base32 erledigen dieselbe Aufgabe mit kleineren Alphabeten, aber Base64 packt mehr Daten pro Zeichen, bleibt dabei aber sicher. Deshalb hat es sich durchgesetzt.
Das gesamte Verfahren basiert auf einer einzigen, wiederholten Idee: 3 Bytes (24 Bit) nehmen, in vier 6-Bit-Gruppen aufteilen und jede Gruppe im Alphabet nachschlagen. Hier ist das Wort „Logto", von Hand kodiert.
Schritt 1. Jedes Zeichen in seine 8-Bit-Binärdarstellung umwandeln:
| Zeichen | ASCII-Code | Binär |
|---|---|---|
| L | 76 | 01001100 |
| o | 111 | 01101111 |
| g | 103 | 01100111 |
| t | 116 | 01110100 |
| o | 111 | 01101111 |
Schritt 2. Die ersten drei Bytes „Log" nehmen und die gleichen 24 Bit in vier 6-Bit-Gruppen aufteilen:
Schritt 3. Jede 6-Bit-Gruppe als Zahl lesen und diese Zahl dann im Alphabet nachschlagen:
| 6-Bit-Gruppe | Wert | Base64-Zeichen |
|---|---|---|
| 010011 | 19 | T |
| 000110 | 6 | G |
| 111101 | 61 | 9 |
| 100111 | 39 | n |
„Logto" besteht aus 5 Bytes, kein Vielfaches von 3. Die letzten beiden Bytes „to" ergeben eine Aufteilung von 6 + 6 + 4. Die letzten 4 Bit mit Nullen auffüllen, um eine 6-Bit-Gruppe zu bilden, dann ein „=" hinzufügen, um den 4-Zeichen-Block zu vervollständigen:
Die Blöcke zusammensetzen:
"Logto" → TG9ndG8=Jede Programmiersprache hat dies eingebaut. In Node.js:
const text = 'Logto';
const base64 = Buffer.from(text).toString('base64');
console.log(base64); // TG9ndG8=Aus diesem Prozess ergeben sich drei Regeln, die man im Hinterkopf behalten sollte:
Greifen Sie auf Base64 zurück, wenn Binärdaten durch einen nur-Text-Kanal übertragen werden müssen:
Was Sie dafür erhalten:
Standard-Base64 stützt sich auf drei Zeichen, die mit der Funktionsweise von URLs, Abfragezeichenketten und Dateinamen kollidieren: +, / und das =-Padding. Ein normaler Base64-String in einen Link einzufügen kann auf stille Weise zu Fehlern führen:
Sie können sie prozentual kodieren (+ wird %2B, / wird %2F, = wird %3D), aber das bläht die Zeichenkette auf und führt leicht zu doppelter Kodierung.
Base64URL (RFC 4648 §5) behebt dies an der Quelle: + wird durch - ersetzt, / durch _, und das =-Padding entfällt. Das Ergebnis lässt sich direkt in eine URL, einen Abfrageparameter oder einen Dateinamen einfügen, ohne etwas maskieren zu müssen. Sie finden es in URLs, Dateinamen und vielen Web-APIs.
const base64 = 'TG9ndG8=';
const urlSafe = base64.replace(/\+/g, '-').replace(/\//g, '_').replace(/=/g, '');
console.log(urlSafe); // TG9ndG8Base64 ist eine Darstellungsform, kein Allheilmittel. Drei Dinge sollten beachtet werden:
Nein. Es handelt sich um umkehrbare Kodierung mit einem öffentlichen Alphabet, sodass jeder es sofort dekodieren kann und es keinerlei Vertraulichkeit bietet. Verschlüsseln Sie stattdessen sensible Daten.
Base64 wandelt je 3 Bytes in 4 Zeichen um, sodass die kodierte Form stets etwa ein Drittel größer ist als die ursprünglichen Bytes.
Sie sind Padding, das die Ausgabe zu einem Vielfachen von 4 Zeichen macht. Ein „=" bedeutet, die Eingabe hatte 2 verbleibende Bytes; zwei „=" bedeuten 1 verbleibendes Byte; kein „=" bedeutet, die Länge war bereits ein Vielfaches von 3 Bytes.
Base64URL verwendet dieselbe Kodierung mit einem URL- und dateinamensicheren Alphabet: - und _ ersetzen + und /, und das =-Padding wird in der Regel weggelassen. Es ist üblich in URLs, Dateinamen und vielen Web-APIs.
Jede Binärdatei: Bilder, PDFs, Schlüssel, ausführbare Dateien. Base64 arbeitet auf rohen Bytes, daher spielt der ursprüngliche Inhaltstyp keine Rolle.
Nein. Kodierung und Dekodierung laufen vollständig in Ihrem Browser. Nichts, was Sie einfügen, wird hochgeladen oder protokolliert.