Datei hochladen
  1. base64hub
  2. Text-Tools
  3. Base64 reparieren

Base64 reparieren

Fügen Sie Base64 ein, das ein Decoder ablehnt. Die Reparatur macht die üblichen Schäden durch JSON, URLs, E-Mail und Copy-and-paste rückgängig, listet jede Änderung auf und liefert eine saubere Zeichenkette im gewünschten Format.

Kostenlos ohne Anmeldung, ohne Limits Lokal kein Upload Repariert Anführungszeichen, Escapes, %3D, Leerzeichen, Padding Aktualisiert 27.10.2026

Was repariert wurde

Wird in Ihrem Browser verarbeitet. Diese Seite kann Ihre Daten nirgendwohin senden – woher wir das wissen

So reparieren Sie eine Base64-Zeichenkette

  1. Fügen Sie den kaputten Wert in Zu prüfendes Base64 ein. Lassen Sie umschließende Anführungszeichen, Präfixe und Zeilenumbrüche drin; das Tool braucht sie, um zu verstehen, was passiert ist.
  2. Wählen Sie das Ausgabeformat: Standard mit Padding, Standard ohne Padding, URL-sicher mit oder ohne Padding, MIME (Zeilen à 76 Zeichen, CRLF) oder PEM (Zeilen à 64 Zeichen).
  3. Lesen Sie Was repariert wurde. Jede Reparatur wird einzeln aufgeführt, so können Sie harmlose Bereinigungen von Änderungen unterscheiden, die Daten gekostet haben könnten.
  4. Kopieren oder laden Sie das Ergebnis herunter, drücken Sie Ergebnis prüfen für eine vollständige Prüfung, oder Dekodierte Datei herunterladen, um die Bytes zu speichern.

Was die Reparatur behebt

Sie haben eingefügtWas passiert istRepariert
"SGVsbG8gd29ybGQ\u003d"JSON-String mit maskiertem =SGVsbG8gd29ybGQ=
SGVsbG8%3Din einer URL prozentkodiertSGVsbG8=
PDw/Pz8 Pg==+ wurde in einem Query-String zum LeerzeichenPDw/Pz8+Pg==
PDw_Pz8-PgURL-sicher und ohne PaddingPDw/Pz8+Pg==
SGVsbG8gd29ybGQPadding entferntSGVsbG8gd29ybGQ=
SGVsbG8=V29ybGQ=zwei Werte aneinandergehängtSGVsbG9Xb3JsZA== (HelloWorld)
SGVsbG9=ungenutzte Bits ungleich nullSGVsbG8=
Authorization: Basic …mit dem Header-Namen kopiertnur das Token

Außerdem entfernt sie data:…;base64,-Präfixe und PEM-Zeilen -----BEGIN …-----, entfernt einfache Anführungszeichen, verwandelt literale \n und \/ zurück in Zeichen (PHPs json_encode schreibt standardmäßig \/), entfernt Leerraum und Zeilenumbrüche, vereinheitlicht gemischte Alphabete aus +/ und -_ und korrigiert die Anzahl der =.

Bei aneinandergehängten Werten wird jedes Stück einzeln dekodiert, und die Bytes werden zusammengefügt. Das ist richtig, wenn ein Programm Stücke mit Padding hintereinander angehängt hat. Würde man stattdessen das innere = löschen, verschöbe sich jedes folgende Bit, und heraus käme Datenmüll.

Reparaturen, die ein echtes Problem verdecken können

Zwei Reparaturen werden als Warnungen gemeldet, weil sie raten:

  • Ungültige Zeichen entfernt. Enthielt die Zeichenkette *, # oder ein verirrtes Unicode-Zeichen, löscht das Tool es und listet auf, welche Zeichen entfernt wurden. Ein Zeichen mitten in den Daten könnte ein echtes Symbol gewesen sein, das verstümmelt wurde; dann sind die dekodierten Bytes ab dieser Stelle trotzdem falsch.
  • Ein überzähliges Zeichen verworfen. Eine Länge mit Rest 1 kann kein Encoder erzeugen, also ist ein Zeichen zu viel oder die Zeichenkette wurde abgeschnitten. Das Tool verwirft das letzte Zeichen, damit der Rest dekodiert werden kann. War der Wert aber abgeschnitten, fehlt das Ende der Datei. Bei einem abgeschnittenen Bild ist der untere Teil meist grau oder fehlt; ein abgeschnittenes ZIP lässt sich nicht öffnen.

Erscheint eine dieser Warnungen, besorgen Sie sich das Original noch einmal: eine nicht abgeschnittene Logzeile, eine vollständige API-Antwort oder den Anhang direkt vom Mailserver.

Warum eine naive Reparatur nicht reicht

Das verbreitete Snippet zum „Reparieren“ von Base64 kümmert sich um Leerraum, URL-sichere Zeichen und Padding:

def fix_base64(s):
    s = "".join(s.split())
    s = s.replace("-", "+").replace("_", "/").rstrip("=")
    return s + "=" * (-len(s) % 4)

SGVsbG8gd29ybGQ und PDw_Pz8-Pg repariert es korrekt. Geben Sie ihm aber PDw/Pz8 Pg==, in dem ein + zum Leerzeichen wurde, entfernt es das Leerzeichen und lässt 9 Datenzeichen übrig. Python scheitert dann mit „number of data characters (9) cannot be 1 more than a multiple of 4“. JSON-Escapes, %3D, zusammengeklebte Stücke und Präfixe rutschen genauso durch. Die Reparatur hier probiert jede Korrektur der Reihe nach und wandelt Leerzeichen nur dann in Plus um, wenn das Ergebnis eine gültige Länge hat.

Die dauerhaft sicherere Lösung liegt an der Quelle: Prozentkodieren Sie Base64, bevor es in eine URL kommt, oder verwenden Sie Base64URL, und halten Sie es von Stellen fern, die Text neu umbrechen oder maskieren. Dekodiert die reparierte Zeichenkette immer noch zu etwas Unerwartetem, behandelt der Leitfaden zu Base64-Fehlern verstümmelten Text und doppelte Kodierung, und der Base64-Decoder zeigt die Bytes.

Häufige Fragen

Wie behebe ich „Incorrect padding“ in Python?

Hängen Sie = an, bis die Länge ein Vielfaches von 4 ist: s + "=" * (-len(s) % 4). Bleibt der Fehler, hat die Zeichenkette weitere Schäden wie Leerzeichen oder Escapes; fügen Sie sie hier ein, um zu sehen, was sonst nicht stimmt.

Warum sind Leerzeichen in meinem Base64?

Meist ist ein + ohne Prozentkodierung durch einen URL-Query-String oder ein HTML-Formular gegangen, und die Empfängerseite hat es in ein Leerzeichen verwandelt. Die Reparatur setzt das + wieder ein, wenn sich dadurch eine gültige Länge ergibt.

Kann bei einer Reparatur etwas verloren gehen?

Das Entfernen ungültiger Zeichen oder eines überzähligen letzten Zeichens kann Daten kosten, und die Liste der Reparaturen sagt das auch. Meldet das Tool, dass es ein Zeichen verworfen hat, weil die Daten abgeschnitten waren, besorgen Sie sich besser eine vollständige Kopie des Originals, statt dem Ergebnis zu vertrauen.

Was bedeutet \u003d am Ende meines Base64?

Das ist ein JSON-Escape für =. Manche JSON-Bibliotheken, darunter Gson, maskieren = aus Gründen der HTML-Sicherheit. Ein JSON-Parser macht das automatisch rückgängig; die Reparatur tut dasselbe, wenn Sie den Rohtext einfügen.