Um Base64 zu dekodieren, fügen Sie den kodierten String in einen Base64-Decoder ein und lesen das Ergebnis: Aus SGVsbG8sIHdvcmxkIQ== wird Hello, world!. Unser kostenloser Base64-Decoder erledigt das mit einem Klick in jedem Browser, und das Tool Base64 zu Bild zeigt kodierte Bilder an. Der Decoder akzeptiert „URL-safe“-Base64, ein mitkopiertes Präfix data: und fehlende Auffüllung, und er meldet einen Fehler, wenn die Eingabe gar kein Base64 ist. Kommt trotzdem nur Zeichensalat heraus, waren die Daten fast immer nie Text, oder mehrere Strings hängen aneinander. Diese Anleitung zeigt, wie Sie jeden Fall erkennen und beheben.
Die Tools sind kostenlos, und zum Start brauchen Sie kein Konto. Ohne Konto sind 5 Tool-Nutzungen pro Tag möglich, und ein kostenloses My-Botsy-Konto (100 % kostenlos, kein Spam) hebt dieses Tageslimit auf. Alle Beispiele haben wir am 30. Oktober 2026 mit unseren Tools oder mit genau dem Dekodier-Code ausgeführt, den sie verwenden, und die Ergebnisse unverändert übernommen.
Was Base64 ist (und was nicht)
Base64 verwandelt beliebige Bytes (Text, ein Bild, ein PDF) in einen String aus nur 64 sicheren Zeichen: A–Z, a–z, 0–9, + und /, dazu = als Auffüllung am Ende. Es ist in RFC 4648 definiert und sorgt dafür, dass Binärdaten durch Systeme kommen, die für Text gebaut sind: E-Mail-Anhänge, JSON-Felder, HTTP-Header, HTML und CSS.
Zwei Fakten erklären fast jedes Dekodierproblem:
- Aus je 3 Bytes werden 4 Zeichen. Deshalb sind kodierte Daten etwa ein Drittel größer als das Original, und deshalb ist die Länge eines Strings normalerweise ein Vielfaches von 4 (ein oder zwei
=füllen die letzte Gruppe auf). - Base64 ist Kodierung, keine Verschlüsselung. Es gibt keinen Schlüssel. Jeder, der einen Base64-String sieht, kann ihn in einer Sekunde dekodieren. Er schützt also nie ein Passwort oder Token. Wenn etwas Sensibles in Base64 „versteckt“ ist, behandeln Sie es wie Klartext.
Base64 online dekodieren: Schritt für Schritt
- Kopieren Sie nur den kodierten Teil. Lassen Sie Bezeichner wie
Authorization: Basicweg. Ein Präfixdata:...;base64,wird automatisch entfernt, und Zeilenumbrüche und Leerzeichen im String stören nicht. - Fügen Sie ihn in den Base64-Decoder ein und klicken Sie auf Absenden.
- Lesen Sie das Ergebnis. Ist es lesbarer Text, sind Sie fertig. Mit dem Kopieren-Button übernehmen Sie es.
- Sehen Sie seltsame Symbole, Fragezeichen oder eine Fehlermeldung, prüfen Sie, ob die Daten binär sind (ein Bild oder eine Datei) oder ob mehrere Strings aneinanderhängen, siehe Fehlersuche weiter unten.
- Ist es ein Bild, fügen Sie denselben String in Base64 zu Bild ein, um es anzusehen und herunterzuladen.
Durchgerechnete Beispiele (echte Ergebnisse)
Beispiel 1: einfacher Text
Eingabe: SGVsbG8sIHdvcmxkIQ==
Ausgabe: Hello, world!
Aus dreizehn Zeichen Text wurden 20 Zeichen Base64, die letzten beiden sind Auffüllung. Das ist der klassische Test-String und ein guter Weg, einen Decoder zu prüfen, bevor man ihm vertraut.
Beispiel 2: Umlaute, ß und Akzente
Eingabe: Q2Fmw6kgY29uIGxlY2hl
Ausgabe: Café con leche
Base64 kennt keine Buchstaben, nur Bytes. Das é wurde als zwei UTF-8-Bytes gespeichert, und unser Decoder gibt diese Bytes als UTF-8 zurück, also erscheint es richtig. Liest ein Decoder die Bytes als Latin-1, sehen Sie Café. Das ist das typische Zeichen für ein Zeichensatzproblem, nicht für ein Base64-Problem. Bei deutschen Texten erkennen Sie es an Formen wie ü statt ü oder ß statt ß.
Beispiel 3: ein Basic-Auth-Header
Ein HTTP-Header wie Authorization: Basic dXNlcjpwYXNz enthält Benutzername und Passwort, getrennt durch einen Doppelpunkt. Dekodiert man dXNlcjpwYXNz, erhält man user:pass. Das ist der ganze „Schutz“, und deshalb darf Basic Auth nur über HTTPS laufen. Finden Sie so einen Header in Logs oder einem geteilten Screenshot, gilt das Passwort als offengelegt und sollte geändert werden (unsere Anleitung für starke Passwörter hilft beim neuen).
Beispiel 4: der Payload eines JWT
JSON Web Tokens bestehen aus drei Base64-Teilen, verbunden durch Punkte: Header, Payload und Signatur. Sie verwenden das URL-safe-Alphabet (RFC 4648, Abschnitt 5), in dem - das + und _ das / ersetzt, und sie lassen die Auffüllung = weg. Wir haben diesen Payload in den Decoder eingefügt:
eyJzdWIiOiI0MiIsIm5leHQiOiIvZG9jcz9wYWdlPTIiLCJuYW1lIjoiWm_DqyJ9
Achten Sie auf das _ kurz vor dem Ende. Bis zum 30. Oktober 2026 hat unser Decoder es stillschweigend übersprungen, sodass die Ausgabe korrekt begann und dann zu Zeichensalat wurde. Jetzt liest er das URL-safe-Alphabet direkt, und der String dekodiert sauber:
{"sub":"42","next":"/docs?page=2","name":"Zoë"}
Auch die fehlende Auffüllung ist kein Problem: Der Decoder ergänzt sie selbst. Das JSON können Sie anschließend im JSON-Validator und -Formatierer übersichtlich lesen. Nur die ersten beiden Teile eines JWT sind JSON; der dritte ist eine binäre Signatur und sieht immer wie Rauschen aus.
Beispiel 5: ein Bild in Base64
Wir haben die 100 Base64-Zeichen eines roten PNG mit 4×4 Pixeln in Base64 zu Bild eingefügt (es beginnt mit iVBORw0KGgo, wie jedes PNG in Base64). Das Tool zeigte das Bild mit Download-Optionen an. In einem Browsertest luden dieselben Daten problemlos mit Zeilenumbrüchen, ohne das abschließende == und auch mit dem Präfix data:image/png;base64, (früher scheiterte das Tool am Präfix; das ist seit dem 30. Oktober 2026 behoben). Ist der Text kein echtes Bild, meldet das Tool das, statt ein kaputtes Bild anzuzeigen.
Nützliche Signaturen, um den Inhalt von binärem Base64 zu erraten: iVBORw0KGgo ist PNG, /9j/ ist JPEG, R0lGOD ist GIF, JVBERi0 ist PDF und UEsDB ist eine ZIP-Datei (dazu gehören auch .docx und .xlsx).
Warum Ihr dekodiertes Base64 nach Zeichensalat aussieht
Es ist URL-safe-Base64
Achten Sie auf - oder _. Sie kommen in JWTs, vielen API-Tokens und manchen URLs vor. Unser Decoder verarbeitet sie direkt, andere Decoder und Bibliotheken verlangen aber, dass Sie vorher - durch + und _ durch / ersetzen. Steckt das Token in einer URL und enthält %2B, %2F oder %3D, schicken Sie es zuerst durch den URL-Decoder, denn das sind prozentkodierte +, / und =.
Das Präfix hängt noch dran
Als Test haben wir data:text/plain;base64,SGVsbG8sIHdvcmxkIQ== dekodiert. Unser Decoder entfernt das Präfix jetzt und liefert Hello, world!. Viele andere tun das nicht: Die Buchstaben in data, text, plain und base64 sind gültige Base64-Zeichen und werden mit dekodiert, sodass etwa 15 Müll-Bytes vor dem Text stehen (so war es bei unserem Tool bis zum 30. Oktober 2026). Anderswo löschen Sie alles bis einschließlich zum Komma.
Die Daten sind kein Text
Ein PNG, PDF oder ZIP als Text zu dekodieren, ergibt immer Symbole, weil diese Bytes nie Buchstaben waren. Vergleichen Sie die ersten Zeichen mit den Signaturen oben und nutzen Sie für Bilder Base64 zu Bild. Andere Dateien dekodieren Sie mit einem der Befehle unten in eine Datei und prüfen deren echten Typ mit dem MIME-Typ-Prüfer.
Mehrere Strings wurden aneinandergehängt
Die Auffüllung markiert das Ende eines Base64-Strings. SGVsbG8=V29ybGQ= sind zwei zusammengeklebte Strings. Unser Decoder lehnt das mit einer Fehlermeldung ab, nachsichtige Decoder liefern Hello und danach Müll. Trennen Sie an jedem =, das nicht ganz am Ende steht, und dekodieren Sie die Teile einzeln.
Es war nie Base64
Unser Decoder prüft die Eingabe: not base64! bekommt eine klare Fehlermeldung („kein gültiges Base64“) statt 6 sinnloser Bytes (früher dekodierte er es trotzdem). Auch Hex-Strings (nur 0–9 und a–f) und zufällige IDs können wie Base64 aussehen. Erklärt nichts davon das Ergebnis, ist der String vielleicht einfach etwas anderes.
Base64 ohne Website dekodieren
Tokens, Passwörter, private Schlüssel oder Kundendaten gehören auf keine Website, auch nicht auf unsere: Unser Decoder läuft auf unserem Server, der Text verlässt also Ihren Rechner. Diese Bordmittel dekodieren lokal:
- Linux:
echo 'SGVsbG8sIHdvcmxkIQ==' | base64 --decode - macOS:
echo 'SGVsbG8sIHdvcmxkIQ==' | base64 -D(neuere Versionen akzeptieren auch--decode) - Windows PowerShell:
[Text.Encoding]::UTF8.GetString([Convert]::FromBase64String('SGVsbG8sIHdvcmxkIQ==')) - Python:
base64.b64decode(s)oderbase64.urlsafe_b64decode(s)für das URL-safe-Alphabet (dafür muss die Auffüllung wieder dran) - Browser-Konsole:
atob('SGVsbG8sIHdvcmxkIQ=='), das nur reinen ASCII-Text korrekt verarbeitet; für Umlaute die Bytes durchTextDecoderschicken
Um eine dekodierte Datei zu schreiben statt sie anzuzeigen, leiten Sie die Ausgabe um, zum Beispiel base64 --decode datei.b64 > datei.pdf.
In die andere Richtung kodieren
Zum Erzeugen von Base64 nutzen Sie den Base64-Encoder für Text und Bild zu Base64 für Bilder. Der Text-Encoder kodiert genau das, was Sie eingeben: It's wird zu SXQncw==, und HTML-Tags bleiben erhalten. Bis zum 30. Oktober 2026 wendete er zuerst die Eingabebereinigung der Website an, die alles zwischen <...> entfernte und aus It's ein SXQmIzM5O3M= machte. Das ist behoben; Ergebnisse aus der alten Version sollten Sie neu kodieren.
Häufige Fehler
- Base64 für ein Geheimnis halten. Es verbirgt nichts. Speichern Sie Passwörter oder API-Schlüssel nie „verschlüsselt“ als Base64.
- Ein ganzes JWT auf einmal dekodieren. Trennen Sie es an den Punkten und dekodieren Sie die ersten beiden Teile einzeln.
- Die Anführungszeichen mitkopieren. In JSON und Code steht der String zwischen Anführungszeichen. Kopieren Sie nur, was dazwischen steht.
- Erwarten, dass die Umwandlung die Datei verkleinert. Die Downloads von Base64 zu Bild wandeln jetzt wirklich um (ein als JPG oder WEBP gespeichertes PNG wird neu kodiert, das Originalformat wird unverändert angeboten), optimieren aber nicht. Um ein Bild zu verkleinern, nutzen Sie den Bildoptimierer (siehe unsere Anleitung zum Komprimieren von Bildern).
- Große Bilder als Base64 einbetten. Ein Data-URI ist ein Drittel größer als die Datei und lässt sich nicht separat cachen. Das lohnt sich nur für winzige Icons.
Dekodieren Sie Ihren String jetzt
Fügen Sie ihn in den Base64-Decoder ein. Ist es ein Bild, nutzen Sie Base64 zu Bild, ist es JSON, machen Sie im JSON-Validator weiter (unsere Anleitung zum Beheben von ungültigem JSON hilft, wenn es nicht durchgeht). Alle Tools sind kostenlos, und zum Start brauchen Sie kein Konto.
Häufig gestellte Fragen
Woran erkenne ich, ob ein String Base64 ist?
Er enthält nur A–Z, a–z, 0–9, + und / (oder - und _ in der URL-safe-Variante), seine Länge ist meist ein Vielfaches von 4, und er kann mit einem oder zwei Gleichheitszeichen enden. Der echte Test ist das Dekodieren: Kommt lesbarer Text oder eine bekannte Dateisignatur heraus, lagen Sie richtig.
Warum zeigt mein dekodiertes Base64 seltsame Zeichen?
Meist, weil die Daten binär sind, etwa ein Bild, oder weil mehrere Strings aneinanderhängen. Manche Decoder scheitern außerdem an URL-safe-Base64 (- und _) oder an einem data:-Präfix; unserer verarbeitet beides. Korrigieren Sie die Eingabe und dekodieren Sie erneut.
Ist Base64 eine Verschlüsselung?
Nein. Base64 ist eine umkehrbare Kodierung ohne Schlüssel, die jeder dekodieren kann. Es dient dem Transport von Daten, nie ihrem Schutz.
Wie wandle ich Base64 in ein Bild um?
Fügen Sie ihn in ein Base64-zu-Bild-Tool ein. Unseres akzeptiert ihn mit oder ohne das Präfix data:image/...;base64,. Ein String, der mit iVBORw0KGgo beginnt, ist ein PNG, einer mit /9j/ ein JPEG.
Kann man Base64 ohne Auffüllung dekodieren?
Meistens ja. Unser Decoder und die meisten toleranten Decoder akzeptieren Strings ohne die =-Auffüllung. Strenge Decoder wie b64decode in Python verlangen, dass Sie sie ergänzen, bis die Länge ein Vielfaches von 4 ist.
Ist der Base64-Decoder von My Botsy kostenlos?
Ja. Er ist kostenlos und funktioniert in jedem Browser. Ohne Konto sind 5 Tool-Nutzungen pro Tag möglich, und ein kostenloses Konto ohne Spam hebt dieses Tageslimit auf.