Cookies für Statistik und Werbung
Wir setzen Cookies für Statistik und Werbung ein, beides geht an Google. Wenn du ablehnst, ändert sich für dich sichtbar nichts.Zur Datenschutzseite
Füge einen Base64-String ein und sieh sofort den Text dahinter. Angenommen wird, was du tatsächlich in der Hand hältst, und nicht, was eine Spezifikation gern hätte: Zeilenumbrüche aus einem kopierten PEM-Block, das URL-sichere Alphabet eines JWT und das fehlende Padding, an dem die meisten Decoder ein Token rundheraus ablehnen. Nichts wird hochgeladen — und bei dem, was Leute dekodieren, ist genau das der Punkt.
Wo es läuft
Es wird nichts hochgeladen, weil es keine Datei gibt — gerechnet wird in dieser Seite.
Keine Warteschlange, kein Konto
Es antwortet so schnell, wie dein Rechner es hergibt, und fragt nie, wer du bist.
So oft du willst
Nichts wird gezählt und nichts begrenzt — noch einmal zu antworten kostet uns nichts.
Man muss sich nur ansehen, was Leute in einen Base64-Decoder einfügen. Ein JWT, um zu sehen, wessen Token es ist. Einen Wert aus einem Kubernetes-Secret, also ein Passwort, das so geschrieben ist, als wäre es keines. Einen Basic-Authorization-Header aus einem Request-Log. Einen Webhook-Payload aus der Produktion. Drei davon sind Zugangsdaten, der vierte sind meist Kundendaten.
Ein Decoder, der auf einem Server arbeitet, hat jedes einzelne davon gesehen und hat es in seinen Zugriffsprotokollen, ob das jemand beabsichtigt hat oder nicht. Das ist kein theoretisches Risiko — es ist der Grund, warum diese Gattung von Seite vielerorts am Proxy blockiert wird. Diese Seite rechnet in deinem Tab, und das Netzwerk-Panel ist die Art, das zu prüfen, statt ein Versprechen zu glauben.
Ein JSON Web Token besteht aus drei URL-sicheren Base64-Segmenten, getrennt durch Punkte. Füge das mittlere hier ein, und du bekommst den Payload: die Claims, das Subject, die Gültigkeit als Unix-Zeitstempel. Das erste Segment ergibt den Header, der das Signaturverfahren nennt. Beides kann jeder lesen, der das Token hat — was überrascht und nicht sollte: Ein JWT ist signiert, nicht verschlüsselt.
Was Dekodieren nicht sagt, ist, ob das Token gültig ist. Das dritte Segment ist eine Signatur über die ersten beiden, und sie zu prüfen braucht den Schlüssel. Diese Seite zeigt dir also, dass ein Token behauptet, am Dienstag abzulaufen; sie zeigt nicht, ob jemand diesen Claim verändert hat. Wenn du dich auf den Inhalt verlässt, prüfe die Signatur dort, wo das Geheimnis liegt.
Base64 trägt Bytes, und Bytes sind nicht immer Zeichen. Dekodiert man den Anfang eines PNG, kommen eine Signatur, eine Chunk-Länge und Binärdaten heraus — im besten Fall eine Reihe von Ersatzzeichen, im schlechteren Mojibake. Die meisten Decoder händigen das trotzdem aus, und man sitzt vor Unsinn, ohne zu wissen, ob die Eingabe falsch war oder der Inhalt einfach kein Text ist.
Dieser sagt es stattdessen. Der Decoder ist bei UTF-8 streng, also werden Bytes, die keinen gültigen Text ergeben, genau so gemeldet — mit der Byte-Anzahl —, statt still durch U+FFFD ersetzt zu werden. „Gültiges Base64 einer Datei“ und „gar kein Base64“ sind zwei verschiedene Probleme und bekommen zwei verschiedene Antworten.
Padding ist hier optional. Ein JWT-Segment trägt keines, weil `=` in einer URL reserviert ist, und ein Decoder, der darauf besteht, lehnt jedes echte Token ab — das ist eine Spezifikation, die gegen die gesamte Population dessen durchgesetzt wird, was sie beschreibt. Leerraum und Zeilenumbrüche werden entfernt, weil ein aus dem Terminal kopierter PEM-Block nach 64 Zeichen umbricht und niemand ihn von Hand zusammenfügt.
Beide Alphabete werden angenommen, ohne dass man sie ansagen müsste. Standard-Base64 endet auf `+` und `/`, die URL-sichere Variante benutzt `-` und `_`. Verwechseln kann man sie nicht, also übersetzt der Decoder schlicht beide, und es gibt keine Einstellung, die man falsch stellen könnte.
Am häufigsten hat die Kopie etwas mitgenommen: einen Punkt am Ende, ein Anführungszeichen aus dem umgebenden JSON oder das Präfix `data:image/png;base64,` aus einer Data-URI, das Metadaten sind und nicht Nutzlast. Base64 benutzt nur A–Z, a–z, 0–9 und zwei Symbole; alles andere ist ein Hinweis darauf, wo die Kopie schiefging.
Am zweithäufigsten ist die Kopie unvollständig. Terminals brechen um, Auswahlen enden zu früh, und Base64 gibt keinen Hinweis darauf, dass es abgeschnitten ist — es dekodiert, was da ist, und liefert Text, der mitten im Wort aufhört, oder scheitert an einer Länge, die kein Vielfaches von vier mehr ist. Endet die Ausgabe an merkwürdiger Stelle, prüfe die Eingabe auf dasselbe.
In einem Kubernetes-Secret stehen die Werte Base64-kodiert, und weil das aussieht wie etwas Verschlossenes, werden solche Manifeste erstaunlich oft in Repositories eingecheckt oder in Tickets gehängt. Die Kodierung ist reine Transportformalität: Sie erlaubt Binärdaten in YAML und schützt gegen niemanden.
Wer einen Wert daraus hier einfügt, sieht das sofort — und das ist regelmäßig der Moment, in dem jemand merkt, dass ein Datenbankpasswort seit Monaten im Git-Verlauf liegt. Der Weg dahin ist ein Secret-Manager oder verschlüsselte Manifeste; die Kodierung selbst ist an dieser Stelle nur die Verpackung.
Ergibt der Inhalt keinen Text, ist die nächste sinnvolle Frage, was für eine Datei es ist — und die ersten Bytes verraten das meist. `89 50 4E 47` ist ein PNG, `FF D8 FF` ein JPEG, `25 50 44 46` ein PDF und liest sich als `%PDF`, `50 4B 03 04` ist ein ZIP und damit auch ein modernes Office-Dokument.
Diese Seite gibt dir die Byte-Anzahl statt der Bytes selbst, weil sie eine Textseite ist. Wenn du die Bytes sehen willst, dekodiere anderswo oder benutze das Hex-Werkzeug auf dieser Website mit dem, was du sonst hast — die Frage „was ist das eigentlich“ beantwortet in fast allen Fällen die erste Zeile eines Hexdumps.
Es ist keine Verschlüsselung: kein Schlüssel, keine Geheimhaltung, sofort umkehrbar. Es ist keine Kompression, sondern das Gegenteil — die Ausgabe ist ein Drittel größer als die Eingabe. Und es ist kein Hash: Ein Hash ist einseitig und hat feste Länge, Base64 ist umkehrbar und wächst mit der Eingabe.
Diese drei Verwechslungen erklären fast alle falschen Erwartungen an dieses Werkzeug. Wer „Base64 entschlüsseln“ sucht, sucht in Wahrheit meist genau das hier und ist zufrieden; wer glaubt, etwas damit geschützt zu haben, ist es nicht — und sollte es besser jetzt erfahren als beim nächsten Sicherheitsaudit.
Eine Data-URI sieht so aus: `data:image/png;base64,` und danach der eigentliche Inhalt. Wer die ganze Zeichenkette hier einfügt, bekommt eine Fehlermeldung, weil der Teil vor dem Komma kein Base64 ist — er ist Metadaten und nennt den MIME-Typ sowie die Kodierung.
Alles ab dem Komma ist die Nutzlast. Sie zu dekodieren ergibt fast immer keine Textausgabe, sondern die Meldung, dass es sich um Bytes handelt — und das ist die richtige Antwort, denn eine Data-URI trägt in aller Regel ein Bild oder eine Schrift. Der MIME-Typ vor dem Komma sagt dir bereits, was es ist, und ist damit oft die nützlichere Hälfte.
Nein. Es wird in dieser Seite dekodiert und verlässt dein Gerät nicht — sieh im Netzwerk-Panel nach, während du einfügst, dort ist nichts. Das ist das Werkzeug auf dieser Website, bei dem das am meisten wiegt, weil dekodiert so oft Tokens, Secrets und Payloads werden.
Ja. Füge eines der drei durch Punkte getrennten Segmente ein und du bekommst es zurück — den Header oder den Payload mit seinen Claims. Nicht möglich ist die Prüfung der Signatur, denn dafür braucht es den Schlüssel; behandle den Inhalt also als das, was das Token behauptet, nicht als etwas Bewiesenes.
Weil es keinen ergibt. Base64 trägt Bytes, und die sind häufig eine Datei statt einer Zeichenkette — ein PNG, ein Zertifikat, ein komprimierter Block. Statt dir einen Bildschirm voller Ersatzzeichen zu geben, sagt die Seite, was sie gefunden hat und wie viele Bytes es waren: Die Eingabe war also in Ordnung, der Inhalt ist nur kein Text.
Nein. Fehlende Gleichheitszeichen werden vor dem Dekodieren ergänzt, und genau das lässt JWT-Segmente funktionieren — die tragen nie Padding, und ein strengerer Decoder lehnt sie deshalb alle ab. Leerraum und Zeilenumbrüche werden aus demselben Grund ignoriert: Ein aus dem Terminal kopierter PEM-Block kommt umbrochen an.
Kostenlos, ohne Konto und ohne Deckel. Es gibt keinen Server, der die Arbeit macht, also gibt es für uns nichts zu messen — die einzige Obergrenze ist, wie viel Text dein Browser in einem Feld halten mag.