MiServe DevTools

Ihre Sticker

Heften Sie hier Tools an. Sie werden in diesem Browser gespeichert.

Base64 kodieren und dekodieren

Kodieren Sie Text oder eine Datei in Base64 und dekodieren Sie Base64 wieder, mit URL-sicherem Alphabet, optionalem Padding und MIME-Zeilenumbruch.

Läuft in Ihrem Browser. Nichts, was Sie einfügen, wird hochgeladen.

Über dieses Tool

Was ist Base64?

Base64 stellt beliebige Bytes mit 64 druckbaren ASCII-Zeichen dar: A–Z, a–z, 0–9, + und /. Je drei Bytes werden zu vier Zeichen, und = füllt die letzte Gruppe auf, wenn die Länge der Eingabe kein Vielfaches von drei ist. Definiert ist das Verfahren in RFC 4648.

Base64 gibt es, damit Binärdaten über Kanäle übertragen werden können, die für Text gedacht sind: E-Mail-Anhänge, data:-URIs in HTML und CSS, Binärfelder in JSON, der HTTP-Header Authorization: Basic und die drei Teile eines signierten JWT.

Base64 ist eine Kodierung, keine Verschlüsselung. Jeder kann es dekodieren, es verbirgt also nichts.

Die gängigen Varianten

Das URL-sichere Alphabet ersetzt + und / durch - und _, sodass der Wert ohne Maskierung in einer URL oder einem Dateinamen stehen kann. JWTs verwenden es und lassen außerdem das Padding weg.

MIME (RFC 2045) bricht die Ausgabe in Zeilen von höchstens 76 Zeichen um. Eine Data-URI stellt den Nutzdaten einen Medientyp voran, etwa data:image/png;base64,…, und verwendet das Standardalphabet, nicht das URL-sichere.

Beim Dekodieren akzeptiert dieses Tool beide Alphabete, fehlendes Padding, Leerzeichen, Tabulatoren und Zeilenumbrüche und überspringt ein vorangestelltes data:…;base64,. Gehört ein Zeichen nicht dazu, nennt das Tool das Zeichen und seine Position.

Text, Bytes und Dateien

Base64 kodiert Bytes, also muss Text zuerst in Bytes umgewandelt werden. Dieses Tool verwendet UTF-8, die Kodierung, die heute die meisten Systeme erwarten. Das in JavaScript eingebaute btoa() akzeptiert nur Zeichen bis U+00FF und wirft bei allen anderen einen Fehler. Deshalb scheitert Code, der ein Emoji direkt an btoa() übergibt. Ein Buchstabe wie é löst keinen Fehler aus, aber btoa() kodiert ihn als ein Latin-1-Byte und nicht als die zwei Bytes, die UTF-8 dafür verwendet.

Nach dem Dekodieren prüft das Tool, ob die Bytes gültiger UTF-8-Text ohne Steuerzeichen sind. Wenn nicht, weist es darauf hin, erkennt PNG-, JPEG-, GIF-, WebP-, PDF- und ZIP-Daten an ihren ersten Bytes und bietet die Bytes als Datei zum Herunterladen an. Dateien, die Sie auswählen, liest der Browser direkt, und sie verlassen Ihr Gerät nie.

Fragen

Ist Base64 eine Form der Verschlüsselung?

Nein. Base64 ist eine umkehrbare Kodierung ohne Schlüssel, jeder kann es also dekodieren. Verwenden Sie es nicht, um Passwörter, Tokens oder personenbezogene Daten zu schützen.

Warum ist die Base64-Ausgabe größer als die Eingabe?

Jedes Base64-Zeichen trägt sechs statt acht Bits, daher brauchen je drei Bytes vier Zeichen. Das Ergebnis ist rund ein Drittel größer als das Original, dazu kommen Padding und eventuelle Zeilenumbrüche.

Was ist der Unterschied zwischen Base64 und base64url?

base64url ist die Variante aus Abschnitt 5 von RFC 4648. Sie verwendet - und _ statt + und / und lässt das Padding mit = oft weg, sodass der Wert in URLs und Dateinamen unproblematisch ist. Die Daten sind dieselben, nur diese Zeichen unterscheiden sich. Dieses Tool dekodiert beides.

Wird die Datei, die ich kodiere, irgendwo hochgeladen?

Nein. Die Datei wird von Ihrem Browser gelesen und auf Ihrem Gerät kodiert. Sie wird an keinen Server gesendet.

Weitere Tools in Kodierung