araç köşesi

Was ist der Unterschied zwischen XML und JSON?

Worin sich die beiden Datenformate unterscheiden und was beim Umwandeln passiert

Ein Portal verlangt von Ihnen eine XML-Datei, Sie haben aber nur einen .json-Export aus einer App. Oder umgekehrt: Ihre Steuerberatung hat Ihnen eine XRechnung geschickt, und das Programm, in das Sie die Daten übernehmen wollen, erwartet JSON. Dieser Artikel beantwortet die eine Frage, die Sie in diesem Moment haben: Was genau trennt die beiden Formate, und welcher Teil davon ist für Ihre Aufgabe wichtig?

Die kurze Antwort: Beide transportieren Daten als reinen Text, und beide können dieselben Angaben enthalten. Sie unterscheiden sich darin, wie die Daten ausgezeichnet werden, und darin, welches Format das Programm auf der Gegenseite lesen kann. Meist treffen also nicht Sie die Wahl, sondern das empfangende System. Ihre Aufgabe ist, zu erkennen, was Sie vor sich haben, und zu wissen, was sich beim Umwandeln ändert.

Ein Datensatz, zwei Formate: der Unterschied auf einen Blick

Am schnellsten versteht man den Unterschied, wenn man dieselben Angaben nebeneinanderstellt. Im Schaubild unten stehen Bestellnummer, Kunde und Betrag einer Bestellung von Hand geschrieben – zuerst als XML, dann als JSON. Der Inhalt ist identisch, nur die Verpackung wechselt.

In XML steht jeder Wert innerhalb eines Tags: Er beginnt mit <kunde> und endet mit </kunde>. Weil jeder Name doppelt vorkommt, wird derselbe Datensatz in XML länger. In JSON steht der Name nur einmal, danach folgen ein Doppelpunkt und der Wert; geschweifte Klammern markieren Anfang und Ende des Datensatzes. Die Zeichenzahl unter dem Schaubild macht den Unterschied messbar.

Beachten Sie auch den Betrag: In beiden Formaten steht 249.90 mit Punkt, obwohl Excel bei Ihnen 249,90 anzeigt. Datenformate verwenden den Punkt als Dezimaltrennzeichen, unabhängig von der Spracheinstellung des Rechners.

Derselbe Bestelldatensatz links mit XML-Tags und rechts als JSON-Schlüssel-Wert-Paare, mit der Zeichenzahl beider Schreibweisen
Dieselben drei Angaben: XML umschließt jeden Wert mit zwei Tags, JSON nennt den Namen nur einmal.

Welches Format hat Ihre Datei? Achten Sie auf das erste Zeichen

Die Dateiendung sagt nicht immer die Wahrheit. Manche Programme liefern XML unter .txt oder .dat aus, manche Dienste laden JSON ganz ohne Endung herunter. Sicher ist nur der Blick in die Datei, und dafür brauchen Sie kein besonderes Programm. Starten Sie den Editor (auf dem Mac TextEdit) und wählen Sie die Datei über Datei > Öffnen aus. Stellen Sie unter Windows im Öffnen-Fenster unten rechts den Dateityp auf "Alle Dateien", sonst taucht eine Datei ohne .txt-Endung gar nicht erst auf. Überspringen Sie im geöffneten Text Leerraum und schauen Sie auf das erste sichtbare Zeichen:

  • Steht dort <, erst recht <?xml, ist es XML
  • Steht dort { oder [, ist es JSON
  • Sind die Zeilen schlichter Text, getrennt durch Semikolon oder Komma, ist es keins von beiden, sondern sehr wahrscheinlich eine CSV-Datei
  • Erscheinen nur wirre Zeichen, handelt es sich um keine Textdatei, sondern zum Beispiel um ein komprimiertes Paket – dann geht es um keines der beiden Formate

Die Unterschiede in einer Tabelle

So sieht das Schaubild im Alltag aus. Achten Sie besonders auf die dritte Zeile: Dieser Unterschied sorgt beim Umwandeln für die meisten Überraschungen und begegnet Ihnen in den nächsten Abschnitten wieder.

ThemaXMLJSON
SchreibweiseÖffnende und schließende Tags: <name>…</name>Geschweifte Klammern und "name": Wert
ZusatzangabenKönnen direkt am Tag hängen: <bestellung nr="1042">Gibt es nicht; jede Angabe ist ein eigenes Feld
Zahl oder TextIn der Datei ist jeder Wert Text; den Typ legt eine separate Schemadatei festZahlen ohne, Text mit Anführungszeichen; true, false und null sind eigene Typen
ListenGleichnamige Tags folgen aufeinanderEinträge in eckigen Klammern: [ … ]
KommentareZwischen <!-- und --> möglichNicht vorgesehen
Äußerste EbeneGenau ein äußeres Tag ist PflichtKeine solche Regel
LängeLänger, weil Namen doppelt stehenKürzer bei gleichen Daten

Warum will das eine System XML und das andere JSON?

Das Format bestimmt das Programm, das die Datei lesen soll; es erwartet das, wofür es gebaut wurde. XML ist das ältere Format, und ein großer Teil des behördlichen Dokumentenaustauschs, der Buchhaltungssoftware und der Schnittstellen zwischen Unternehmen beruht darauf. Die XRechnung, der Standard für elektronische Rechnungen an öffentliche Auftraggeber in Deutschland, ist eine XML-Datei; deshalb kommt eine E-Rechnung so oft als .xml bei Ihnen an.

JSON hat sich dagegen als gemeinsame Sprache von Webdiensten und Smartphone-Apps durchgesetzt. Wenn Sie in einer App "Meine Daten herunterladen" antippen oder zwei Programme hinter einer Website miteinander sprechen, ist meist JSON unterwegs. RSS-Feeds von Nachrichtenseiten und die Sitemaps, die Websites an Suchmaschinen übergeben (sitemap.xml), sind dagegen weiterhin XML.

Praktisch heißt das: Die Frage "Was ist besser?" stellt sich für Sie selten. Erwartet die Gegenseite XML, wird selbst fehlerfreies JSON abgewiesen. Passt Ihr Format nicht zum verlangten, ist Umwandeln die Aufgabe. Liegt die Wahl wirklich bei Ihnen, schauen Sie in die Hilfeseiten des empfangenden Programms, welches Format dort als Beispiel steht, und bleiben Sie dabei.

KoSIT/XEinkauf: der Standard XRechnung und seine XML-Schemata →

Was ändert sich beim Umwandeln, und geht etwas verloren?

Beide Formate tragen dieselben Angaben, aber nicht in derselben Form. Umwandeln ist deshalb keine Kopie, sondern eine Anpassung. Die Konverter auf dieser Website passen Ihre Daten so an und verschweigen es nicht:

  • XML zu JSON: Angaben, die am Tag hängen, bleiben erhalten und werden zu einem Feld, dessen Name mit @ beginnt. Die Nummer aus <bestellung nr="1042"> erscheint in JSON als "@nr": "1042"
  • XML zu JSON: Jeder Wert kommt als Text in Anführungszeichen an. XML unterscheidet in der Datei nicht zwischen Zahl und Text, also wird aus 249.90 "249.90"; das Programm, das damit rechnet, muss es selbst wieder in eine Zahl verwandeln
  • XML zu JSON: Kommentare zwischen <!-- --> und die Zeile <?xml ?> am Anfang werden nicht übernommen, weil JSON dafür keinen Platz hat
  • JSON zu XML: Es entstehen keine Angaben am Tag, jeder Schlüssel wird ein eigenes Element. Erwartet das Zielsystem die Nummer direkt am Tag, müssen Sie das Ergebnis von Hand nacharbeiten
  • JSON zu XML: Die Trennung zwischen Zahl und Text entfällt, beides steht als einfacher Text im Tag

Eine amtliche Datei nicht umwandeln und zurückschicken

Diese Anpassungen haben eine Folge: Wandeln Sie eine Datei von XML in JSON und wieder zurück in XML, erhalten Sie das Ausgangsdokument nicht Zeichen für Zeichen zurück. Elementnamen, Reihenfolge und der Ort von Zusatzangaben können sich verschieben. Für Alltagsdaten ist das belanglos, für ein amtliches Dokument nicht.

Bei elektronisch signierten Dokumenten hängt die Signatur an jedem einzelnen Zeichen der Datei; ändert sich auch nur ein Leerzeichen, lässt sie sich nicht mehr bestätigen. Der sinnvolle Grund, eine solche XML umzuwandeln, ist das Lesen: Positionen ansehen, Beträge in eine andere Tabelle übernehmen. Bewahren Sie das Original unverändert auf, schicken Sie im Zweifel das Original weiter und behalten Sie die umgewandelte Kopie für den eigenen Gebrauch.

Vor dem Umwandeln prüfen, ob die Datei in Ordnung ist

Konverter funktionieren nur mit einem Dokument, das seine eigenen Regeln einhält. In XML macht ein einziges nicht geschlossenes Tag oder ein Wert ohne Anführungszeichen die ganze Datei unlesbar. Steht Ihre XML in einer einzigen Zeile oder meldet ein System "ungültige Datei", fügen Sie sie zuerst in das Werkzeug "XML formatieren und prüfen" ein: Der Text wird eingerückt, und ein Fehler wird mit Zeile und Spalte gemeldet. Für JSON erledigt "JSON formatieren und prüfen" dieselbe Arbeit.

Diese Prüfung hat eine Grenze, die Sie kennen sollten. Sie stellt fest, ob das Dokument richtig geschrieben ist, nicht, ob alle Felder vorhanden sind, die das Zielsystem verlangt. Welche Felder Pflicht sind, legt die Schemadatei (XSD) fest, die die jeweilige Stelle veröffentlicht. "Wohlgeformt" heißt also: Die Datei ist lesbar. Dass sie angenommen wird, ist damit nicht gesagt.

Häufige Fragen

Ist XML oder JSON besser?

Einen generellen Sieger gibt es nicht. Richtig ist das Format, das das empfangende System verlangt. Haben Sie freie Wahl und wandern die Daten zwischen Apps oder Webdiensten, ist JSON kürzer und verbreiteter; für den förmlichen Dokumentenaustausch zwischen Organisationen ist XML weiterhin der Standard.

Gehen beim Umwandeln von XML in JSON Daten verloren?

Die Werte bleiben, nur ihre Form ändert sich: Angaben am Tag werden zu Feldern mit @ am Anfang, Zahlen kommen als Text in Anführungszeichen an. Wegfallen nur Kommentare zwischen <!-- und -->, weil JSON keine Kommentare kennt.

Wie mache ich eine XRechnung lesbar?

Wollen Sie die Rechnungspositionen als Tabelle sehen, macht das Werkzeug "XML in Excel (XLSX) umwandeln" aus wiederkehrenden Einträgen Zeilen und aus Feldern Spalten. Wollen Sie nur hineinschauen, rückt das Werkzeug "XML formatieren und prüfen" den Text lesbar ein. Die Originaldatei bleibt in beiden Fällen unberührt.

Kann ich meine JSON-Datei an ein System geben, das XML verlangt?

Ja, nachdem Sie sie mit dem Werkzeug JSON in XML umgewandelt haben. Vergleichen Sie das Ergebnis vor dem Absenden mit der Beispieldatei des Systems: Das äußerste Tag und der Name der Listeneinträge sollten dem Erwarteten entsprechen. Den Namen des äußeren Tags können Sie selbst eintragen.

Sind HTML und XML dasselbe?

Sie sehen sich ähnlich, beide verwenden Tags in spitzen Klammern. HTML hat aber einen festen Satz von Tags, die beschreiben, wie eine Seite am Bildschirm aussieht; in XML vergibt derjenige die Tag-Namen, der die Daten bereitstellt, und es geht um die Daten selbst statt um deren Darstellung.

Zuletzt aktualisiert: 12. Oktober 2026

Werkzeuge zu diesem Ratgeber