XML zu JSON Converter im Vergleich: Online-Tools, Bibliotheken und CLI
9 Min. Lesezeit · Juni 2026
Von Jan-Tristan Rudat · Entwickler & Fachredakteur
Aktualisiert: Juni 2026
"XML zu JSON" lässt sich auf drei grundverschiedenen Wegen lösen: mit einem Online-Tool im Browser, mit einer Programmierbibliothek im eigenen Code oder mit einem Befehl auf der Kommandozeile. Welcher Weg der richtige ist, hängt davon ab, ob Sie einmalig eine Datei umwandeln, eine Anwendung bauen oder einen Prozess automatisieren wollen. Dieser Vergleich ordnet die bekanntesten Vertreter jeder Kategorie ehrlich ein, inklusive eines Punkts, den viele Tests übergehen: Was passiert eigentlich mit Ihren Daten?
Drei Wege, ein Ziel: Online-Tool, Bibliothek oder CLI
Die Umwandlung von XML nach JSON ist im Kern immer dieselbe Aufgabe: Ein hierarchisches XML-Dokument wird in die Schlüssel-Wert-Struktur von JSON überführt. Unterschiede entstehen nicht beim Was, sondern beim Wie und Wo. Ein Online-Tool braucht keine Installation und ist nach Sekunden einsatzbereit. Eine Bibliothek integriert die Konvertierung in den eigenen Quellcode und macht sie wiederholbar und automatisierbar. Ein CLI-Werkzeug verbindet die Konvertierung mit der Mächtigkeit der Shell, also mit Pipes, Schleifen und Cron-Jobs.
Ein viertes Unterscheidungsmerkmal wird oft übersehen, ist aber gerade in Deutschland entscheidend: Verlässt das XML das Gerät oder nicht? Server-basierte Online-Dienste laden die Datei hoch, bevor sie konvertieren. Clientseitige Tools, Bibliotheken und CLI-Werkzeuge arbeiten dagegen lokal. Bei Rechnungen, Patientendaten oder Konfigurationsdateien mit Zugangsdaten ist dieser Unterschied kein Detail, sondern ein K.-o.-Kriterium.
Online-Converter: schnell, aber mit Datenschutz-Fallstrick
Online-Converter sind der häufigste Einstieg. Man fügt das XML ein, klickt auf Konvertieren und kopiert das JSON heraus. Innerhalb dieser Kategorie gibt es aber einen architektonischen Graben. Tools wie der Converter auf jsonformatter.org oder tableconvert.com arbeiten clientseitig, also direkt im Browser. Andere, etwa CoolUtils, laden die Datei auf einen Server hoch und konvertieren dort. CoolUtils bietet dafür einen sehr ausführlichen deutschsprachigen Erklärtext, ist aber durch den Upload mit einem Server-Limit (rund 50 MB) und den bekannten Datenschutzfragen behaftet.
Unser eigenes Tool auf xml-json.de ist bewusst clientseitig gebaut: Die Konvertierung läuft vollständig über die XML-Engine des Browsers, das Dokument wird zu keinem Zeitpunkt an einen Server übertragen. Damit entfällt sowohl das Größenlimit als auch das Datenschutzrisiko. Für eine schnelle, einmalige Umwandlung ohne Code ist ein solches clientseitiges Tool die unkomplizierteste Lösung.
Tipp: So erkennen Sie ein clientseitiges Tool
Trennen Sie kurz die Internetverbindung und konvertieren Sie eine kleine XML-Datei. Funktioniert es trotzdem, läuft die Verarbeitung lokal im Browser. Lädt das Tool dagegen ewig oder meldet einen Fehler, wird die Datei wahrscheinlich an einen Server geschickt.
Bibliotheken: xml2js, fast-xml-parser und xmltodict
Sobald die Konvertierung wiederkehrend in einer Anwendung passieren soll, führt kein Weg an einer Bibliothek vorbei. Im JavaScript- und Node.js-Umfeld dominieren zwei Pakete. xml2js ist der Klassiker: weit verbreitet, gut dokumentiert, standardmäßig asynchron. fast-xml-parser ist der modernere Herausforderer: spürbar schneller, ohne native Abhängigkeiten, synchron nutzbar und mit einem eingebauten Validator sowie einem Builder, der JSON wieder zurück in XML verwandelt.
In der Python-Welt ist xmltodict der De-facto-Standard. Es bildet XML auf verschachtelte Dictionaries ab, die sich direkt mit json.dumps() serialisieren lassen, und nutzt unter der Haube den schnellen, SAX-basierten Parser expat. Wer in PHP arbeitet, kombiniert üblicherweise SimpleXML mit json_encode(). Diese Variante ist praktisch, hat aber eine bekannte Schwäche: XML-Attribute gehen bei der naiven Umwandlung verloren, hier braucht es etwas Handarbeit.
Konkrete Code-Beispiele für alle vier Bibliotheken finden Sie im Tutorial XML zu JSON in JavaScript, Python und PHP.
Ein Minimalbeispiel mit fast-xml-parser zeigt, wie wenig Code nötig ist:
import { XMLParser } from 'fast-xml-parser';
const xml = '<buch jahr="2024"><titel>XML kompakt</titel></buch>';
const parser = new XMLParser({ ignoreAttributes: false, attributeNamePrefix: '@' });
const json = parser.parse(xml);
console.log(JSON.stringify(json, null, 2));
// { "buch": { "@jahr": "2024", "titel": "XML kompakt" } } Kommandozeile: xq, jq und xmlstarlet
Für Automatisierung in Shell-Skripten, CI-Pipelines oder Cron-Jobs ist die Kommandozeile unschlagbar. Wichtig zu wissen: jq allein kann kein XML, es verarbeitet ausschließlich JSON. Die Brücke schlägt xq, das mit dem Paket yq kommt und XML einliest, in JSON wandelt und an jq durchreicht. Ein typischer Aufruf sieht so aus:
# XML in JSON umwandeln und mit jq weiterverarbeiten
xq '.' daten.xml
# Nur einen Teilbaum extrahieren
xq '.katalog.buch[].titel' daten.xml Wer feinere Kontrolle über XPath-Ausdrücke und Namespaces braucht, greift zu xmlstarlet, einem robusten XML-Schweizer-Taschenmesser, das sich gut mit jq kombinieren lässt. Der CLI-Weg ist textbasiert und damit perfekt für Versionskontrolle und reproduzierbare Builds, hat aber die steilste Lernkurve.
Direktvergleich der Werkzeuge
| Werkzeug | Typ | Daten bleiben lokal | Stärke | Am besten für |
|---|---|---|---|---|
| xml-json.de | Online (clientseitig) | Ja | Kein Upload, kein Setup | Einmaliges Umwandeln, sensible Daten |
| CoolUtils | Online (Server) | Nein (Upload) | Ausführlicher DE-Content | Unkritische Dateien bis 50 MB |
| fast-xml-parser | JS-Bibliothek | Ja | Schnell, Validator, Builder | Node.js-Apps mit Performance-Bedarf |
| xml2js | JS-Bibliothek | Ja | Etabliert, viele Beispiele | Bestandsprojekte, Callback-Stil |
| xmltodict | Python-Bibliothek | Ja | Direkt zu dict, expat-schnell | Python-Skripte, Data-Pipelines |
| xq + jq | CLI | Ja | Pipes, Automatisierung, CI | Shell-Skripte, Build-Pipelines |
Einordnung der Redaktion auf Basis der offiziellen Dokumentationen und Repositories der Werkzeuge, Stand Juni 2026.
Worauf es bei der Wahl wirklich ankommt
Neben der reinen Geschwindigkeit gibt es drei Aspekte, an denen sich Converter unterscheiden und die in der Praxis Ärger machen, wenn man sie ignoriert. Erstens das Attribut-Mapping: XML-Attribute wie jahr="2024" landen je nach Tool unter einem Präfix wie @jahr oder _jahr, oder gehen ganz verloren. Zweitens die Array-Bildung: Kommt ein Element nur einmal vor, machen manche Tools daraus ein Objekt, andere immer ein Array, das ist eine der häufigsten Fehlerquellen. Drittens die Typinferenz: Werden Zahlen als String oder als echte Zahl ausgegeben?
Wer dieselbe XML-Struktur mit verschiedenen Tools konvertiert, bekommt deshalb oft leicht unterschiedliches JSON. Für eine Anwendung sollte man sich auf ein Werkzeug und eine Konfiguration festlegen und das Verhalten bei Attributen, Arrays und Typen einmal sauber dokumentieren. Die Details dieser Mapping-Regeln behandelt der Artikel XML-Attribute, Namespaces und Arrays korrekt nach JSON mappen.
Warnung: Vorsicht bei vertraulichen Daten
Laden Sie XML mit personenbezogenen Daten, Zugangsdaten oder Geschäftsgeheimnissen niemals auf einen unbekannten Online-Dienst hoch. Sie wissen nicht, ob und wie lange die Datei dort gespeichert wird. Nutzen Sie für solche Inhalte ein clientseitiges Tool oder eine lokal installierte Bibliothek. Mehr dazu im Artikel zu Datenschutz und DSGVO.
Häufige Fragen zum XML zu JSON Converter
Welcher XML zu JSON Converter ist der beste?
Es gibt keinen pauschal besten Converter, sondern den passenden für den Anwendungsfall. Für gelegentliches Umwandeln einer Datei ist ein Online-Tool am schnellsten, idealerweise eines, das clientseitig im Browser arbeitet. Für wiederkehrende Konvertierungen in einer Anwendung lohnt sich eine Bibliothek wie fast-xml-parser (JavaScript) oder xmltodict (Python). Für Automatisierung in Skripten und Pipelines ist die Kombination aus xq und jq auf der Kommandozeile die robusteste Wahl.
Sind Online-Converter für XML zu JSON sicher?
Das hängt von der Architektur ab. Server-basierte Tools laden Ihre Datei auf einen fremden Server hoch, wo sie verarbeitet und potenziell zwischengespeichert wird, das ist bei personenbezogenen oder vertraulichen Daten datenschutzrechtlich heikel. Clientseitige Tools verarbeiten das XML direkt im Browser über die JavaScript-Engine, sodass die Daten das Gerät nie verlassen. Für sensible Inhalte sollten Sie ausschließlich clientseitige Converter oder eine lokale Bibliothek nutzen.
Was ist der Unterschied zwischen xml2js und fast-xml-parser?
Beide sind JavaScript-Bibliotheken. xml2js ist lange etabliert, arbeitet standardmäßig asynchron mit Callbacks oder Promises und ist sehr verbreitet. fast-xml-parser ist neuer, deutlich schneller bei großen Dateien, arbeitet synchron, hat keine nativen Abhängigkeiten und kann zusätzlich validieren sowie wieder zurück nach XML serialisieren. Für neue Projekte mit Performance-Anspruch ist fast-xml-parser meist die bessere Wahl.
Kann jq direkt XML in JSON umwandeln?
Nein, jq selbst verarbeitet nur JSON. Auf der Kommandozeile wandelt man XML zuerst mit xq aus dem Paket yq oder mit einem Parser wie xmlstarlet in JSON um und verarbeitet das Ergebnis dann mit jq weiter. xq ist faktisch ein dünner Wrapper, der XML einliest und an jq durchreicht.
Warum werden Zahlen beim Konvertieren oft zu Text?
XML kennt keine Datentypen, jeder Wert ist dort reiner Text. Ein konservativer Converter übernimmt Werte daher als String, um Datenverluste zu vermeiden, etwa führende Nullen in Postleitzahlen oder Artikelnummern. Viele Bibliotheken bieten eine optionale Typinferenz, die "42" automatisch in die Zahl 42 umwandelt. Diese Option sollte man bewusst aktivieren und das Ergebnis prüfen.
Gibt es eine Größenbeschränkung beim Konvertieren?
Bei Upload-basierten Online-Diensten gibt es oft ein festes Server-Limit, etwa 50 MB. Bei clientseitigen Tools hängt die Grenze allein vom Arbeitsspeicher des Geräts ab, mehrere Megabyte sind problemlos. Bibliotheken und CLI-Tools verarbeiten auch sehr große Dateien, fast-xml-parser und SAX-basierte Parser kommen mit Dateien im Gigabyte-Bereich zurecht, wenn sie im Streaming-Modus laufen.
Quellen und weiterführende Standards
- W3C: Extensible Markup Language (XML) 1.0
- ECMA International: ECMA-404, The JSON Data Interchange Syntax
- IETF: RFC 8259, The JavaScript Object Notation (JSON) Data Interchange Format
- MDN Web Docs: DOMParser (XML-Parsing im Browser)
- npm: fast-xml-parser und xml2js
- PyPI: xmltodict
- jq-Dokumentation: jq Manual
Verwandte Artikel
XML in JSON umwandeln: Schritt-für-Schritt-Anleitung
Der Grundlagen-Guide mit Mini-Beispiel und 3-Schritt-Anleitung.
Weiterlesen TutorialXML zu JSON in JavaScript, Python und PHP
Code-Snippets mit xml2js, fast-xml-parser, xmltodict und SimpleXML.
Weiterlesen RechtXML zu JSON und Datenschutz: DSGVO und Standards
Warum Browser-Verarbeitung DSGVO-sicher ist und welche Risiken Upload-Tools haben.
WeiterlesenXML jetzt direkt im Browser umwandeln
Kostenlos, ohne Anmeldung und zu 100% clientseitig, Ihre Daten verlassen den Browser nicht.
Zum XML zu JSON Converter