Datei hochladen
  1. base64hub
  2. Text-Tools
  3. Base64 in XML

Base64 in XML: XML-Payloads dekodieren

Fügen Sie Base64 ein und lesen Sie das enthaltene XML. Das Tool erkennt XML-Dokumente, speichert sie als .xml und kommt mit UTF-8, UTF-16 und älteren Zeichensätzen zurecht.

Kostenlos ohne Anmeldung, ohne Limits Lokal kein Upload 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 in XML

  1. Fügen Sie das Base64 in Eingabe · Base64 ein. Die Seite startet mit einem kleinen Beispiel.
  2. Das XML erscheint in Ausgabe · Text. Sieht aus wie XML in der Statuszeile bestätigt, dass der Inhalt wie ein XML-Dokument beginnt.
  3. Zeigt die Ausgabe Lücken zwischen den Buchstaben oder eine Warnung zu Binärdaten, ist das XML UTF-16: Stellen Sie den Zeichensatz auf UTF-16LE oder auf Automatisch, wenn es mit einer Byte-Order-Mark beginnt.
  4. Ausgabe kopieren kopiert den Text. Herunterladen speichert die Originalbytes als decoded.xml.

Das Beispiel PD94bWwgdmVyc2lvbj0iMS4wIj8+Cjxub3RlPjx0bz55b3U8L3RvPjxib2R5PkhlbGxvPC9ib2R5Pjwvbm90ZT4= wird dekodiert zu:

<?xml version="1.0"?>
<note><to>you</to><body>Hello</body></note>

Die Gegenrichtung ist XML in Base64.

Kodiertes XML erkennen

Weil XML mit < beginnt, beginnt sein Base64 mit P, und die folgenden Zeichen verraten mehr:

Base64 beginnt mitDekodierter AnfangTypisches Dokument
PD94bWwg<?xmlJede XML-Datei mit Deklaration
PHNhbWxwOlJlc3BvbnNl<samlp:ResponseSAML-Login-Antwort (SAML-Decoder)
PHNvYXA6RW52ZWxvcGU<soap:EnvelopeSOAP-Nachricht
PEludm9pY2U<InvoiceUBL-E-Rechnung
//48AD8AeABtAGwABOM + <?xml in UTF-16LEAls UTF-16 gespeichertes XML

Ein Wert, der SAML sein sollte, aber nicht mit P beginnt, ist meist komprimiertes XML; wie Sie es entpacken, steht weiter unten.

UTF-16 und andere Kodierungen

Das meiste XML ist UTF-8, und davon geht der Decoder aus. Zwei Fälle brauchen einen anderen Zeichensatz:

  • UTF-16-Dokumente, häufig aus Windows-Tools und .NET, haben neben jedem ASCII-Zeichen ein Nullbyte. Als UTF-8 dekodiert sehen sie wie Binärdaten aus, und das Tool sagt das auch. Mit Automatisch oder UTF-16LE erscheint der volle Text, beginnend mit <?xml version="1.0" encoding="UTF-16"?>. Herunterladen behält die Bytes, nennt die Datei aber decoded.bin; benennen Sie sie in .xml um.
  • Latin-1- oder Windows-1252-Dokumente deklarieren encoding="ISO-8859-1" oder Ähnliches. Umlaute und Akzente erscheinen im UTF-8-Modus als �; wählen Sie den deklarierten Zeichensatz, um sie zu lesen.

Die XML-Deklaration in der Ausgabe sagt Ihnen, welchen Zeichensatz der Autor vorgesehen hat. Ein XML-Parser, der die heruntergeladene Datei liest, richtet sich nach dieser Deklaration; die Datei ist also in Ordnung, auch wenn die Vorschau auf dem Bildschirm eine manuelle Wahl des Zeichensatzes brauchte.

Woher Base64-XML stammt

SAML ist die häufigste Quelle: Identity Provider senden die SAMLResponse als Base64-kodiertes XML an Ihre Anwendung, und sie aus dem Netzwerk-Tab des Browsers zu kopieren ist der übliche Weg, einen Login zu debuggen. SOAP-Dienste und E-Rechnungsplattformen liefern Dokumente und Anhänge als Base64-Felder. E-Mails können XML-Anhänge als MIME-Base64-Teile transportieren, die der E-Mail-Decoder herauslöst.

Bei SAML-SAMLRequest-Werten aus Redirect-URLs wurde das XML vor der Kodierung mit Raw Deflate komprimiert, reines Base64-Dekodieren liefert also Binärdaten. Der gzip-Base64-Decoder entpackt sie. Die Escapes %2B, %2F und %3D werden automatisch dekodiert; bei einem vollständig URL-kodierten Wert nehmen Sie zuerst den URL-Decoder.

Base64 in XML im Code

Übergeben Sie die dekodierten Bytes direkt an den XML-Parser, ohne sie vorher in einen String umzuwandeln, damit er die Kodierung selbst aus der Deklaration liest:

import base64
import xml.etree.ElementTree as ET

s = "PD94bWwgdmVyc2lvbj0iMS4wIj8+Cjxub3RlPjx0bz55b3U8L3RvPjxib2R5PkhlbGxvPC9ib2R5Pjwvbm90ZT4="
root = ET.fromstring(base64.b64decode(s))
root.find("body").text   # 'Hello'
// Browser
const s = "PD94bWwgdmVyc2lvbj0iMS4wIj8+Cjxub3RlPjx0bz55b3U8L3RvPjxib2R5PkhlbGxvPC9ib2R5Pjwvbm90ZT4=";
const bytes = Uint8Array.from(atob(s), c => c.charCodeAt(0));
const doc = new DOMParser().parseFromString(new TextDecoder().decode(bytes), "application/xml");

Für XML in UTF-16 oder Latin-1 im Browser übergeben Sie TextDecoder das passende Label. Mehr unter Base64 in Python und Base64 in JavaScript.

Häufige Fragen

Wie dekodiere ich Base64 in eine XML-Datei?

Fügen Sie das Base64 oben ein. Zeigt die Statuszeile XML an, speichert Herunterladen die dekodierten Bytes als decoded.xml, Byte für Byte, mit der ursprünglichen Kodierung und einer etwaigen Signatur unverändert.

Woran erkenne ich, dass Base64 XML enthält?

Dokumente mit XML-Deklaration beginnen mit PD94bWwg (<?xml ). Ohne Deklaration beginnt die Zeichenkette trotzdem mit P, weil jedes Dokument mit < anfängt; PHNhbWxwOlJlc3BvbnNl ist <samlp:Response.

Kann das Tool das XML formatieren oder einrücken?

Nein. XML wird genau so angezeigt, wie es dekodiert wurde; die Option „JSON formatieren“ gilt nur für JSON. Die Originalbytes zu zeigen ist bei signiertem XML wichtig, denn dort verändert jede Umformatierung den Inhalt.

Warum sieht mein dekodierter SAML-Request wie zufällige Bytes aus?

SAML-Requests, die in einer Redirect-URL gesendet werden, sind vor der Base64-Kodierung mit Raw Deflate komprimiert. Entpacken Sie sie mit dem gzip-Base64-Decoder oder öffnen Sie sie im SAML-Decoder.