XML formatieren

XML einfügen, auf „XML formatieren“ klicken und sauber eingerücktes XML erhalten. Jeder Lauf prüft die Syntax und meldet Fehler mit Zeile und Spalte — ohne Upload, ohne Konto, ohne Server.

Vom XML-Formatter-Team · Aktualisiert · Über diese SeiteAlles läuft im Browser — kein Upload, keine Cookies, kein Tracking.

0 B
Ergebnis—

Läuft zu 100 % im Browser · max. 2 MB · Strg/⌘ + Enter zum Starten

Kurzfassung: Dieser XML-Formatter läuft komplett in deinem Browser. XML einfügen, Einrückung wählen (2 oder 4 Leerzeichen bzw. Tabulator) und auf XML formatieren klicken. Ist das Dokument fehlerhaft, bekommst du Zeile und Spalte plus eine verständliche Erklärung — und nichts wird hochgeladen.

XML ist absichtlich ausführlich, und handgeschriebene XML-Dateien werden schnell unübersichtlich: Die Einrückung wird inkonsistent, ein schließendes Tag wird umbenannt, ein Attribut verliert seine Anführungszeichen. Ein Formatter bringt die Darstellung in Ordnung, und eine Prüfung auf Wohlgeformtheit findet die strukturellen Fehler, bevor sie in einen Build, einen API-Aufruf oder einen Konfigurationsparser gelangen. Dieses Werkzeug erledigt beides in einem Durchlauf — lokal im Browser.

Der Formatter nutzt einen eigenen XML-Parser, der für diese Seite geschrieben wurde, statt sich auf eine Browser-API zu verlassen. Deshalb kann er die genaue Zeile und Spalte nennen, an der die Datei kaputtgeht. Bei gültigem XML rückt er jede Ebene ein, normalisiert die Abstände zwischen Attributen und lässt die Daten unangetastet: Textknoten, Kommentare, CDATA-Abschnitte und Entity-Referenzen bleiben erhalten.

So formatierst du XML in vier Schritten

  1. XML einfügen

    Klicke in den linken Editor und füge dein XML aus der Zwischenablage ein. Die Größenanzeige im Kopf der Spalte zeigt sofort die Bytes und wird ab 2 MB rot.

  2. Einrückung wählen

    Standard sind zwei Leerzeichen; vier Leerzeichen oder ein Tabulator sind einen Klick entfernt. Ein Wechsel formatiert ein bereits sichtbares Ergebnis sofort neu.

  3. Auf „XML formatieren“ klicken

    Der Parser prüft zuerst die Wohlgeformtheit. Nur gültige Dokumente werden eingerückt; bei Fehlern erscheint stattdessen ein Bericht mit Zeile und Spalte statt halbfertiger Ausgabe.

  4. Ergebnis kopieren

    Mit „Ergebnis kopieren“ liegt das formatierte XML wieder in der Zwischenablage. „Leeren“ räumt beide Bereiche, „Beispiel laden“ füllt einen kleinen Beispielkatalog ein.

Tastenkürzel: Strg + Enter unter Windows bzw. Cmd + Enter unter macOS startet die Hauptaktion der Seite, ohne die Maus zu benutzen.

Was ein XML-Formatter macht

Ein XML-Formatter (auch XML-Pretty-Printer genannt) baut die Leerzeichen zwischen den Markup-Elementen neu auf, damit die Hierarchie des Dokuments auf einen Blick sichtbar wird. Er entfernt keine Elemente, benennt keine Tags um und ändert keine Werte: Es ist dasselbe Dokument mit einer anderen Einrückung.

Die Regeln sind bewusst konservativ. Reine Leerzeichen-Textknoten zwischen Kindelementen werden durch Einrückung ersetzt. Elemente mit echtem Text bleiben in einer Zeile, und dieser Text wird Zeichen für Zeichen kopiert — ein Dokument wie <p>Hallo <b>Welt</b>!</p> behält also seine exakten Abstände. Kommentare, Verarbeitungsanweisungen, DOCTYPE-Deklarationen und CDATA-Abschnitte bleiben erhalten; Attribute behalten ihre einfachen oder doppelten Anführungszeichen.

Das Formatieren ist idempotent: Zweimal formatieren ergibt identische Bytes. Das ist wichtig, wenn du den Formatter regelmäßig einsetzt — etwa vor dem Commit einer spring.xml, web.config oder Android-Ressourcendatei —, denn ein zweiter Lauf erzeugt keinen zusätzlichen Diff-Lärm.

Fehlerberichte mit Zeile und Spalte

Browser-Parser liefern meist nur eine allgemeine Meldung wie „XML parsing error“, oft ohne brauchbare Position. Dieser Formatter nutzt einen eigenen Tokenizer und Parser: Jede Meldung enthält die Zeile, die Spalte, eine verständliche Erklärung und einen Hinweis zur Behebung. Unter der Meldung steht ein kurzer Code-Ausschnitt mit einem Caret unter dem betroffenen Zeichen.

Pro Lauf werden bis zu fünf Fehler angezeigt. Der Parser erholt sich nach den meisten Fehlern und sammelt weiter, damit ein Tippfehler nicht den Rest der Datei verdeckt. Behebe die ersten Meldungen und starte erneut — der nächste Lauf zeigt, was übrig bleibt.

Die häufigsten XML-Fehler und die Meldung dieses Formatierers.
FehlerMeldung (Beispiel)Behebung
Nicht geschlossenes Element<body> (Zeile 5, Spalte 3) wird nie geschlossen.Füge </body> vor dem schließenden Elternteil ein oder schreibe <body/>.
Falsches schließendes TagSchließendes Tag </titl> passt nicht zum geöffneten <title> (Zeile 7, Spalte 5).Schreibweise prüfen — XML-Tags sind case-sensitive.
Attributwert ohne AnführungszeichenAttributwert muss in Anführungszeichen stehen. Schreibe id="1" statt id=1.Anführungszeichen um jeden Attributwert ergänzen.
Unmaskiertes KaufmannsundEin „&“ muss als &amp; maskiert werden.Kaufmannsund maskieren oder den Text in CDATA packen.
Unbekannte EntityUnbekannte Entity „&nbsp;“ — XML kennt nur die fünf vordefinierten Entities und numerische Referenzen.&#160; oder das Zeichen selbst verwenden.
Zwei WurzelelementeNur ein Wurzelelement ist erlaubt. Zweites Wurzelelement <b> nach <a> gefunden.Alles in ein einziges Container-Element packen.
XML-Deklaration nicht am AnfangDie XML-Deklaration muss das Allererste in der Datei sein.Leerraum, Kommentare oder anderes Markup davor entfernen.

Einrückung, große Dateien und Datenschutz

Es gibt keinen offiziellen XML-Einrückungsstandard. Zwei Leerzeichen sind der De-facto-Standard in Maven-POMs, Spring-Konfigurationen und den meisten .NET-Dateien; vier Leerzeichen sind in Android-Ressourcen üblich; Tabulatoren sind das, was xmllint standardmäßig erzeugt. Wichtig ist, dass ein Repository konsistent bleibt, denn gemischte Einrückung macht jeden sinnvollen Diff zu einer Wand aus Whitespace-Änderungen.

Alles läuft in dem Tab, den du gerade ansiehst. Dein XML erreicht keinen Server, deshalb funktioniert das Werkzeug auch mit vertraulichen Konfigurationsdateien und nach dem ersten Laden offline. Der Preis dafür ist Speicher: Ein Browser-Tab hat deutlich weniger davon als ein Kommandozeilenwerkzeug, deshalb ist die Eingabe auf 2 MB (2.097.152 Bytes) begrenzt. Größere Dateien werden sofort mit einer Meldung abgelehnt, die die genaue Größe nennt und vorschlägt, die Datei aufzuteilen oder ein Desktop-Werkzeug zu verwenden. Weitere Schutzgrenzen: mehr als 2.000 Verschachtelungsebenen oder mehr als 150.000 Elemente werden mit einer klaren Meldung statt mit einem Absturz beendet.

Wenn du nur prüfen willst, ob ein Dokument wohlgeformt ist, nutze den XML Validator; zum Verkleinern gibt es den XML Minifier; die englische Startseite mit weiteren Erklärungen findest du unter XML Formatter.

Häufig gestellte Fragen

Ist das Formatieren von XML hier kostenlos?

Ja. Alle Werkzeuge auf dieser Seite sind kostenlos, ohne Konto und ohne Nutzungslimit. Es gibt keine Werbung im Editor und keinen Upload.

Wird mein XML auf einen Server hochgeladen?

Nein. Formatieren, Minifizieren und Validieren laufen als JavaScript in deinem Browser. Du kannst in den Entwicklerwerkzeugen im Netzwerk-Tab prüfen, dass beim Klick auf „XML formatieren“ keine Anfrage mit deinem Dokument gesendet wird.

Was ist der Unterschied zwischen Formatieren und Validieren?

Formatieren ändert nur Einrückung und Abstände. Validieren prüft, ob das Dokument wohlgeformtes XML ist. Diese Seite validiert zuerst und formatiert nur gültige Dokumente; der XML Validator gibt zusätzlich einen ausführlichen Strukturbericht.

Warum lässt sich meine XML-Datei nicht formatieren?

Die häufigsten Ursachen sind ein falsch geschlossenes Tag, ein Attributwert ohne Anführungszeichen, ein unmaskiertes & oder zwei Wurzelelemente. Die Fehlermeldung nennt Zeile, Spalte und die übliche Lösung.

Gibt es eine Größenbeschränkung?

Ja, 2 MB (2.097.152 Bytes) Eingabe. Größere Dateien werden mit einer Meldung abgelehnt, damit der Browser nicht einfriert. Für sehr große Dateien eignen sich xmllint oder ein Desktop-Editor.

Wird mein XML gegen ein XSD- oder DTD-Schema geprüft?

Nein. Geprüft wird die Wohlgeformtheit, nicht die Schema-Validität. Für XSD oder DTD braucht man das Schema und ein entsprechendes Werkzeug wie xmllint --schema.

Funktioniert die Seite auch offline?

Sobald die Seite und ihre lokalen Dateien geladen sind, funktioniert das Formatieren ohne Verbindung, weil beim Benutzen keine Anfragen gesendet werden.

Weitere XML-Werkzeuge