JSON-Formatierer
JSON formatieren, prüfen und minifizieren, mit genauer Fehlerstelle.
Entwicklung
Text und Dateien kodieren und dekodieren, auch URL-sicher.
Das ist der wichtigste Satz auf dieser Seite, weil der Irrtum immer wieder auftaucht — auch in produktiven Systemen.
Base64 hat keinen Schlüssel. Wer die Zeichenkette hat, hat den Inhalt; das Dekodieren dauert Millisekunden. Ein Passwort in Base64 ist ein Passwort im Klartext mit zusätzlichen Schritten.
Kodiert wird aus Transportgründen, nicht aus Sicherheitsgründen: E-Mail-Anhänge nach MIME, eingebettete Bilder als Data-URI, Zertifikate im PEM-Format, Binärfelder in JSON. Überall dort geht es darum, dass die Daten einen textbasierten Kanal unbeschädigt überstehen.
Base64 arbeitet auf Bytes, nicht auf Zeichen. Aus welchen Bytes ein Text besteht, entscheidet die Kodierung davor — und da liegt die Fehlerquelle.
Ein „ä" sind in UTF-8 zwei Bytes, in Windows-1252 eines. Derselbe Text ergibt deshalb je nach Ausgangskodierung unterschiedliche Base64-Zeichenketten. Dieses Werkzeug arbeitet durchgehend mit UTF-8, was heute der richtige Standard ist.
Bei Emojis kommt hinzu, dass ein einzelnes sichtbares Zeichen aus vier oder mehr Bytes bestehen kann. Die ältere JavaScript-Funktion btoa scheitert daran mit einem Fehler, weil sie nur Zeichen bis 255 verarbeitet — ein häufiger Stolperstein, der hier nicht auftritt.
Base64 stellt drei Bytes durch vier Zeichen dar. Das ergibt rechnerisch ein Drittel mehr, plus Auffüllzeichen und gegebenenfalls Zeilenumbrüche — in der Praxis rund 33 bis 37 Prozent Zuwachs.
Für ein kleines Symbol als Data-URI im Stylesheet lohnt sich das, weil eine gesparte HTTP-Anfrage mehr wiegt als ein paar hundert zusätzliche Bytes. Für ein Foto lohnt es sich nicht.
Als Faustregel: unter etwa 4 KB einbetten, darüber verlinken. Und niemals ein eingebettetes Bild in eine Datei legen, die häufig ausgeliefert wird — die zusätzlichen Bytes fallen dann bei jedem Aufruf an.
Nein. Es ist keine Verschlüsselung, sondern eine Umschreibung ohne Schlüssel. Jeder kann sie rückgängig machen.
Drei Bytes werden zu vier Zeichen, also rund ein Drittel mehr plus Auffüllzeichen.
Sie ersetzt + und / durch - und _, damit die Ausgabe in Adressen und Dateinamen verwendbar ist.
Ja. Kodiert wird durchgehend als UTF-8, anders als bei der älteren Funktion btoa.
Für die Auffüllung auf ein Vielfaches von vier Zeichen. Sie sind Teil des Formats, kein Fehler.
Nein, die Umwandlung läuft in diesem Tab.