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

Base64-Decoder: Base64 online in Text dekodieren

Fügen Sie eine Base64-Zeichenkette ein und lesen Sie sofort den dekodierten Text. Zeilenumbrüche, data:-Präfixe, URL-sichere Zeichen und fehlendes =-Padding erledigt das Tool für Sie, und Fehlermeldungen zeigen auf das genaue Zeichen.

Kostenlos ohne Anmeldung, ohne Limits Lokal kein Upload Automatisch erkennt PNG, PDF, ZIP, JSON und mehr Aktualisiert 27.10.2026
Eingabe 0 BAusgabe 0 BGröße –

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

So dekodieren Sie Base64

  1. Fügen Sie das Base64 in das Feld Eingabe · Base64 ein. Zeilenumbrüche, Leerzeichen, umschließende Anführungszeichen und ein Präfix data:...;base64, dürfen bleiben; der Decoder entfernt sie.
  2. Der dekodierte Text erscheint in Ausgabe · Text. Eine Statuszeile meldet Gültiges Base64, die Variante (Standard oder Base64URL), die Anzahl der dekodierten Bytes und unter Sieht aus wie den erkannten Inhaltstyp.
  3. Ist der Text verstümmelt, ändern Sie den Zeichensatz oder wählen Automatisch.
  4. Ist der Inhalt JSON, rückt JSON formatieren ihn lesbar ein.
  5. Klicken Sie auf Ausgabe kopieren oder auf Herunterladen, um die dekodierten Bytes als Datei zu speichern. Die Endung richtet sich nach dem erkannten Typ, JSON wird also als decoded.json gespeichert und ein PNG als decoded.png.

Tauschen schickt den dekodierten Text zurück in die Eingabe und wechselt zum Kodieren. So prüfen Sie schnell, ob die Zeichenkette einen Roundtrip übersteht.

Was der Decoder akzeptiert

Base64 kommt selten sauber an. Aus einer E-Mail kommt es bei 76 Zeichen umbrochen, aus einer JSON-Datei in Anführungszeichen, aus einer URL prozentkodiert und aus einem Token ohne Padding. Der Decoder akzeptiert all das ohne jede Einstellung:

Sie fügen einSie erhaltenWas passiert ist
SGVsbG8gV29ybGQHello WorldFehlendes = ergänzt, die Statuszeile meldet es
8J-Riw👋URL-sichere - und _ erkannt, Variante als Base64URL angezeigt
data:text/plain;base64,SGk=HiPräfix der Data-URI entfernt
"SGVsbG8="HelloAnführungszeichen aus Code oder JSON entfernt
SGVsbG8%3DHelloURL-kodiertes %3D als = gelesen
SGVs (Zeilenumbruch) bG8=HelloZeilenumbrüche und Leerzeichen übersprungen

Bei dieser Verpackung ist der Decoder nachsichtig, bei allem anderen streng: Ein Zeichen außerhalb des Alphabets stoppt ihn mit einer Fehlermeldung, die das Zeichen und seine Position nennt. Manche Bibliotheken überspringen fehlerhafte Zeichen dagegen stillschweigend und liefern Ihnen beschädigte Ausgabe (siehe den Abschnitt zum Code unten).

Speziell für URL-sichere Tokens erklärt der Base64URL-Decoder das Alphabet und Base64 vs. Base64URL die Unterschiede.

Wenn das dekodierte Base64 eine Datei ist

Base64 transportiert beliebige Bytes, und viele Base64-Zeichenketten sind Bilder oder Dokumente. Das Tool vergleicht die ersten Bytes der dekodierten Daten mit bekannten Dateisignaturen (Magic Numbers) und zeigt das Ergebnis unter Sieht aus wie: PNG, JPEG, PDF, ZIP, gzip, JSON, XML und viele mehr. Bei Binärformaten zeigt es eine druckbare Vorschau, weist auf Binärdaten hin und verlinkt das passende Tool, etwa Base64 in Bild oder Base64 in PDF. Herunterladen speichert so oder so die Originalbytes.

Der Anfang einer Base64-Zeichenkette verrät das Format oft schon vor dem Dekodieren:

Base64 beginnt mitDekodierte BytesFormat
iVBORw0KGgo89 50 4E 47 0D 0A 1A 0APNG-Bild
/9j/FF D8 FFJPEG-Bild
JVBERi0%PDF-PDF-Dokument
UEsDBAPK 03 04ZIP, auch DOCX und XLSX
H4sI1F 8B 08gzip-Daten (gzip-Base64-Decoder)
eyJ{"JSON, oft ein JWT-Segment
PD94bWwg<?xmlXML

Weitere Signaturen finden Sie unter Häufige Base64-Präfixe. Bei einer Datei unbekannten Typs erkennt Base64 in Datei das Format und zeigt eine Vorschau.

Zeichensätze: verstümmelten Text reparieren

Base64 speichert Bytes und sagt nichts darüber, welcher Zeichensatz Zeichen in diese Bytes verwandelt hat. Der Decoder nimmt UTF-8 an, was für die meisten modernen Daten stimmt. Liegt er falsch, sind die Symptome gut zu erkennen:

  • �-Zeichen und der Hinweis „Einige Bytes sind kein gültiges UTF-8“. Der Text stammt aus einem älteren Zeichensatz. Y2Fm6Q== wird in UTF-8 als caf� gelesen und in ISO-8859-1 oder Windows-1252 als café. Russischer Text wie z/Do4uXy braucht Windows-1251, um Привет zu zeigen.
  • Ein Punkt oder eine Lücke nach jedem Buchstaben. Das ist UTF-16: Dort folgt auf jeden ASCII-Buchstaben ein Nullbyte. SABlAGwAbABvAA== ist Hello in UTF-16LE (Base64 in UTF-16).
  • é, ü oder ’ in der Ausgabe. Die Dekodierung ist korrekt; der Text wurde doppelt kodiert, bevor er zu Base64 wurde, weil ein früherer Schritt UTF-8 als Latin-1 gelesen und das Ergebnis wieder als UTF-8 gespeichert hat. Y2Fmw4PCqQ== wird exakt zu café dekodiert. Beheben Sie das an der Quelle.

Automatisch prüft zuerst auf eine Byte-Order-Mark, dann, ob die Bytes gültiges UTF-8 sind, dann auf das Nullbyte-Muster von UTF-16. Einbyte-Codepages wie Windows-1251 und KOI8-R kann keine Erkennung auseinanderhalten; wählen Sie sie von Hand, wenn Sie die Quelle kennen.

Fehlermeldungen und ihre Bedeutung

MeldungÜbliche UrsacheLösung
Ungültiges Zeichen “.” an Position 21Ein ganzes JWT eingefügt: Die Punkte trennen drei SegmenteEin Segment dekodieren oder den JWT-Decoder nehmen
Ungültiges Zeichen "\\" an Position 8Base64 aus JSON kopiert, wo / als \/ maskiert war\/ durch / ersetzen
Die Eingabe mischt Standard- (+ /) und URL-sichere (- _) ZeichenZwei Zeichenketten zusammengefügt oder eine halb fertige UmwandlungMit Base64URL in Base64 in ein Alphabet umwandeln
Padding (=) darf nur ganz am Ende stehenZwei Base64-Werte zusammengeklebt, etwa SGk=SGk=Trennen und jeden einzeln dekodieren
Falsche Länge: ein Zeichen zu viel oder zu wenigBeim Kopieren ging ein Zeichen verloren oder kam hinzuNeu kopieren oder Base64 reparieren versuchen

Die Anleitung zu Base64-Fehlern geht jeden Fall ausführlicher durch. Um das genaue Zeichen- oder Padding-Problem in einer Zeichenkette zu finden, nehmen Sie den Base64-Validator.

Base64 dekodieren in JavaScript, Python und auf der Kommandozeile

atob() liefert einen „binären String“ mit einem Zeichen pro Byte, UTF-8-Text braucht also einen Schritt mit TextDecoder. atob akzeptiert fehlendes Padding, wirft aber bei URL-sicheren - und _ einen InvalidCharacterError.

const s = "R3LDvMOfZSDwn5GL";
new TextDecoder().decode(Uint8Array.from(atob(s), c => c.charCodeAt(0)));
// "Grüße 👋"

// Node.js accepts both alphabets
Buffer.from(s, "base64").toString("utf8");          // "Grüße 👋"
Buffer.from("8J-Riw", "base64url").toString("utf8"); // "👋"

Python wirft bei Eingaben ohne Padding binascii.Error: Incorrect padding, ergänzen Sie das Padding also selbst:

import base64

s = "SGVsbG8"
base64.b64decode(s + "=" * (-len(s) % 4)).decode("utf-8")
# 'Hello'
base64.b64decode("SGVs*bG8=", validate=True)
# binascii.Error: Only base64 data is allowed

Ohne validate=True verwirft Python das * und liefert b'Hello'. Buffer.from in Node verhält sich genauso, eine beschädigte Zeichenkette kann also ganz ohne Fehler dekodiert werden.

Auf der Kommandozeile:

printf '%s' 'R3LDvMOfZSDwn5GL' | base64 -d
base64 -d message.b64 > message.bin

Die erste Zeile gibt Grüße 👋 aus. Ältere macOS-Versionen schreiben den Schalter als -D. Mehr zu jeder Sprache: JavaScript, Node.js, Python, PHP.

Häufige Fragen

Wie dekodiere ich eine Base64-Zeichenkette?

Fügen Sie sie oben in das Eingabefeld ein; der dekodierte Text erscheint sofort. Im Code dekodieren Sie das Base64 zu Bytes und lesen die Bytes dann als UTF-8: base64.b64decode(s).decode() in Python, Buffer.from(s, "base64").toString() in Node.js.

Warum zeigt mein dekodierter Text seltsame Zeichen wie � oder é?

� bedeutet, dass die Bytes kein gültiges UTF-8 sind; der Text wurde also vermutlich in einem anderen Zeichensatz kodiert. Probieren Sie im Menü „Zeichensatz“ Windows-1252, Windows-1251 oder UTF-16LE. é statt é bedeutet, dass der Text schon verstümmelt war, bevor ihn jemand kodiert hat.

Kann ich Base64 ohne =-Padding dekodieren?

Ja. Der Decoder ergänzt das fehlende = selbst und meldet das in der Statuszeile. Padding füllt nur den letzten Block auf und lässt sich daher immer aus der Länge wiederherstellen.

Die dekodierte Ausgabe ist Kauderwelsch. Ist das Base64 kaputt?

Meist sind die Daten eine Datei. Sehen Sie in der Statuszeile beim Feld „Sieht aus wie“ nach: Bei Bildern, PDFs, Archiven und anderen Binärformaten verlinkt das Tool einen Decoder, der die Datei anzeigt oder speichert.

Lässt sich Base64 ohne Schlüssel dekodieren?

Immer. Base64 ist eine Kodierung mit öffentlichem Alphabet und bietet keinerlei Geheimhaltung. Sieht das dekodierte Ergebnis immer noch zufällig aus, wurden die Daten vor dem Kodieren verschlüsselt oder komprimiert.