Formateur & minifieur XML, gratuit
Collez du XML pour le formater, l'embellir ou le minifier instantanément.
Comment utiliser
- Collez votre XML dans la zone d'entrée.
- Cliquez sur Formater pour embellir ou Minifier pour compresser.
- Copiez ou téléchargez le résultat.
Questions fréquentes
Que se passe-t-il si mon XML contient des erreurs ?
L'outil valide votre XML à l'aide du DOMParser intégré au navigateur. Les erreurs de syntaxe sont affichées dans un encadré rouge au-dessus de la sortie.
Prend-il en charge les sections CDATA, commentaires et instructions de traitement ?
Oui. Le formateur préserve tous les types de nœuds XML, y compris les sections CDATA, les commentaires et les instructions de traitement.
Y a-t-il une limite de taille ?
Il n'y a pas de limite stricte · cela dépend de la mémoire de votre navigateur. Les fichiers XML de plusieurs Mo se formatent généralement instantanément.
Tour d'horizon pratique du XML
XML 1.0 est devenu une recommandation du W3C le 10 février 1998, édité par Tim Bray, Jean Paoli et C. M. Sperberg-McQueen, avec un groupe de travail présidé par Jon Bosak de Sun. La citation de lancement de Tim Bray résume l'intention de conception : « XML est extensible, internationalisé, robuste, simple et conçu pour le Web. » La version canonique actuelle est la cinquième édition, publiée le 26 novembre 2008, éditée par Bray, Paoli, Sperberg-McQueen, Eve Maler et François Yergeau. XML descend directement de SGML (ISO 8879:1986), un format de document bien plus vaste et bien plus difficile à implémenter, dont XML a retiré la plupart des parties rarement utilisées tout en conservant le modèle de document intact.
Où le XML vit encore en 2026
Le JSON domine les charges utiles des API REST depuis plus de dix ans, mais le XML reste bien ancré partout où la rigueur des schémas, la sémantique documentaire ou les normes établies l'imposent. Savoir où vous le rencontrerez au quotidien représente la moitié de la valeur d'un bon formateur :
- Formats de documents bureautiques : les
.docx/.xlsx/.pptxde Microsoft sont des archives zip pleines de parties XML, normalisées sous ECMA-376 et ISO/IEC 29500. Les.odt/.ods/.odpd'OpenDocument (ISO/IEC 26300) suivent le même modèle. Les livres numériques EPUB sont eux aussi empaquetés en XML. - Vocabulaires web : SVG (graphiques vectoriels), MathML (notation mathématique), flux Atom, RSS 2.0, et le protocole
sitemap.xmlque Google et Bing analysent pour planifier l'exploration. - SOAP et messagerie d'entreprise : les back-ends de la banque, des télécoms, de l'assurance et des administrations exposent encore des points de terminaison SOAP, souvent derrière une façade REST. Parmi les normes sectorielles bâties sur XML figurent FpML pour les produits dérivés, XBRL pour les dépôts auprès de la SEC, ACORD pour l'assurance et ISO 20022 pour la messagerie de paiement.
- Fichiers de build et de configuration : le
pom.xmlde Maven, les anciens beans Spring, chaque ressource Android (AndroidManifest.xml,res/values/strings.xml,res/layout/*.xml) et l'Info.plistd'Apple dans sa variante XML. - Échange dans des domaines verticaux : KML pour Google Earth, GPX pour les traces GPS, MusicXML pour les partitions musicales (4.0 publié en 2021), XLIFF pour la localisation (2.1 normalisé sous ISO 21720 en juillet 2024), HL7 v3 / CDA pour les documents cliniques.
Bien formé ou valide : ce n'est pas la même chose
Le XML utilise deux niveaux de conformité différents, et il est facile de les confondre :
- Bien formé signifie que le document obéit à la grammaire XML : exactement un élément racine, toutes les balises équilibrées et correctement imbriquées, les valeurs d'attributs entre guillemets, les références d'entités fermées par un point-virgule, aucun
<ou&non échappé dans le contenu textuel. - Valide signifie qu'un document bien formé se conforme en plus à un schéma déclaré (DTD, XSD (XML Schema 1.1), RELAX NG ou Schematron) : les bons éléments aux bons endroits, avec des valeurs d'attributs des bons types, dans les bonnes cardinalités.
Ce formateur vérifie uniquement la bonne formation. Le DOMParser intégré du navigateur signale la première erreur d'analyse qu'il rencontre via un élément parsererror, que l'outil fait apparaître dans l'encadré d'erreur rouge. La validation par rapport à un schéma nécessite un autre outil (Saxon pour XSD, libxml2 avec xmllint --schema, le service de validation du W3C, etc.).
Les cinq références d'entités prédéfinies
Selon le § 4.6 de la norme W3C XML 1.0, « les documents bien formés n'ont besoin de déclarer aucune des entités suivantes » : amp, lt, gt, apos, quot. Le point-virgule final est obligatoire : le XML, contrairement à certains usages HTML, n'acceptera jamais & sans ; de fermeture.
| Entité | Caractère | Où elle est requise |
|---|---|---|
< | < | Toujours dans le contenu d'un élément (sinon, elle commencerait une balise) |
& | & | Toujours (sinon, elle commencerait une référence d'entité) |
> | > | Requise dans la séquence ]]> dans le contenu ; recommandée ailleurs par symétrie |
' | ' | Dans les valeurs d'attributs délimitées par des apostrophes |
" | " | Dans les valeurs d'attributs délimitées par des guillemets droits |
Sections CDATA, commentaires et instructions de traitement
Trois fonctionnalités syntaxiques spéciales que toute personne qui formate du XML finit par rencontrer :
- Les sections CDATA : les blocs
<![CDATA[ … ]]>vous permettent d'intégrer du texte arbitraire sans échapper<ni&. La seule séquence que vous ne pouvez pas mettre dans une section CDATA est le délimiteur de fermeture littéral]]>. Utile pour intégrer des exemples de code, des motifs regex ou des fragments HTML dans une documentation XML. - Les commentaires :
<!-- … -->. La chaîne--est interdite à l'intérieur d'un commentaire. - Les instructions de traitement :
<?target …?>. La déclaration XML elle-même n'est techniquement pas une instruction de traitement, mais la plupart des outils la traitent de la même façon :<?xml version="1.0" encoding="UTF-8"?>est la première ligne recommandée.
Les espaces de noms
Le mécanisme d'espaces de noms du XML est ce qui permet à plusieurs vocabulaires de coexister dans un même document : Atom plus une extension personnalisée, SOAP plus des en-têtes WS-Security, la partie principale d'un document OOXML référençant les relations, les dessins et les images depuis des espaces de noms voisins. La syntaxe est xmlns="…" pour un espace de noms par défaut et xmlns:prefix="…" pour un espace de noms préfixé, et le formateur les préserve tous les deux sans changement. Les URI d'espaces de noms sont des identifiants, pas des URL : ils n'ont pas à se résoudre vers quoi que ce soit.
Deux pièges de sécurité XML célèbres
L'attaque Billion Laughs. Un petit fichier XML avec des entités qui se développent de façon récursive peut gonfler jusqu'à des milliards de caractères dans la mémoire de l'analyseur :
<!ENTITY lol "lol">
<!ENTITY lol2 "&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;">
<!ENTITY lol3 "&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;">
<!-- … nine more layers later, the document expands to 10^9 lols -->
Les analyseurs modernes plafonnent l'expansion des entités pour contrer cela. Les attaques XXE (XML External Entity) exploitent un analyseur qui résout les entités externes pour lire des fichiers locaux (<!ENTITY xxe SYSTEM "file:///etc/passwd">) ou déclencher des requêtes SSRF depuis le serveur. L'aide-mémoire de prévention XXE de l'OWASP est sans ambiguïté : « le moyen le plus sûr de prévenir les attaques XXE est de toujours désactiver complètement les DTD (entités externes). » C'est exactement ce que fait le DOMParser du navigateur : il ignore entièrement les déclarations d'entités DOCTYPE, ce qui explique pourquoi ce formateur côté client peut aussi recevoir du XML non fiable en toute sécurité.
Embellissement ou minification
- Formater / Embellir indente les éléments imbriqués, place les balises ouvrantes et fermantes sur leurs propres lignes, et produit une sortie bien plus facile à lire, mais généralement 30–50 % plus volumineuse que l'équivalent minifié. Utilisez cela pour le débogage, l'examen des diffs ou l'apprentissage d'un schéma peu familier.
- Minifier supprime tous les espaces entre les éléments tout en préservant les espaces dans le contenu textuel (le XML définit par défaut les espaces dans le contenu d'un élément comme significatifs, sauf si
xml:space="default"le remplace). Utilisez cela pour les charges utiles de production et pour tout cas où les octets transmis comptent.
L'attribut xml:space est votre échappatoire lorsque les espaces comptent vraiment : du code source verbatim intégré dans une documentation, par exemple. Définissez xml:space="preserve" sur un élément ancêtre et un processeur conforme conservera chaque espace et chaque saut de ligne dans les descendants, octet par octet.
Erreurs XML courantes qu'un formateur détecte
&non échappé dans le contenu textuel. Une esperluette nue est toujours invalide ; utilisez&.- Balises mal appariées ou non fermées. L'erreur d'analyse la plus courante. Chaque
<tag>a besoin d'un</tag>correspondant (ou utilisez la forme auto-fermante<tag/>). - Plusieurs éléments racines. Un document XML doit avoir exactement un élément le plus externe. Si vous avez deux frères au niveau supérieur, enveloppez-les dans un parent.
- Incohérence d'encodage. Une déclaration
<?xml version="1.0" encoding="UTF-8"?>doit correspondre à l'encodage réel des octets du fichier. Un BOM UTF-16 avec une déclaration UTF-8 est la version classique de ce bug. - Caractères réservés dans les valeurs d'attributs.
<tag attr="a<b">est invalide même si<semble inoffensif entre guillemets. - BOM parasite devant la déclaration XML. Certains éditeurs de texte insèrent silencieusement un BOM UTF-8 qui perturbe les analyseurs stricts.
- Fins de ligne mixtes dans les régions
xml:space="preserve". Des CR / LF / CRLF incohérents peuvent produire des artefacts d'espacement visibles lors d'allers-retours entre différentes plateformes.
Autres questions fréquentes
Pourquoi le formatage de mon XML ne produit-il aucune sortie ?
Le plus souvent parce que l'entrée n'est pas bien formée. L'encadré d'erreur au-dessus de la sortie affiche la première erreur d'analyse rencontrée par le DOMParser du navigateur, généralement une balise manquante ou mal appariée, un & non échappé, ou un élément racine manquant. Corrigez l'erreur et relancez.
Mon XML est-il téléversé sur un serveur ?
Non. Le formatage et la minification s'exécutent tous deux dans le DOMParser intégré du navigateur et un petit sérialiseur JavaScript. Votre XML ne quitte jamais la page, ce qui est important pour les charges utiles SOAP, les fichiers de configuration et tout ce qui peut contenir des identifiants, des URL internes ou des données clients sensibles.
L'outil peut-il valider par rapport à un schéma XSD ou DTD ?
Non. La validation par schéma nécessite de charger le fichier de schéma et de résoudre ses références, ce qui est un problème différent de la vérification de bonne formation effectuée par le navigateur. Pour la validation XSD, utilisez Saxon ou xmllint --schema en ligne de commande, ou le service de validation de schéma XML du W3C.
Le XML est-il encore pertinent en 2026, ou devrais-je simplement utiliser JSON ?
Cela dépend de ce que vous faites. Pour de nouvelles API REST, le JSON est presque toujours le bon choix. Mais le XML reste la norme par défaut pour les documents bureautiques (.docx, .xlsx), la messagerie d'entreprise (SOAP, normes financières), les ressources Android, EPUB, RSS / Atom, SVG, et la plupart des échanges des secteurs réglementés. Savoir lire, formater et valider du XML reste une compétence de base ; ce n'est simplement pas l'outil de premier recours au quotidien comme l'est le JSON.
Que signifie « préserver tous les types de nœuds » pour le formateur ?
Les sections CDATA, les commentaires et les instructions de traitement sont tous conservés exactement tels qu'ils apparaissent dans l'entrée : le formateur ne modifie que les espaces entre les éléments. Ainsi, un bloc <![CDATA[ if (a < b) { … } ]]> fait un aller-retour octet par octet même si son contenu contient des caractères < qui nécessiteraient autrement un échappement.