Formateur & minifieur XML, gratuit

Collez du XML pour le formater, l'embellir ou le minifier instantanément.

Aucune donnée ne quitte votre appareil

Comment utiliser

  1. Collez votre XML dans la zone d'entrée.
  2. Cliquez sur Formater pour embellir ou Minifier pour compresser.
  3. 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 :

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 :

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 &amp sans ; de fermeture.

EntitéCaractèreOù elle est requise
&lt;<Toujours dans le contenu d'un élément (sinon, elle commencerait une balise)
&amp;&Toujours (sinon, elle commencerait une référence d'entité)
&gt;>Requise dans la séquence ]]> dans le contenu ; recommandée ailleurs par symétrie
&apos;'Dans les valeurs d'attributs délimitées par des apostrophes
&quot;"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 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

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

  1. & non échappé dans le contenu textuel. Une esperluette nue est toujours invalide ; utilisez &amp;.
  2. 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/>).
  3. 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.
  4. 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.
  5. Caractères réservés dans les valeurs d'attributs. <tag attr="a<b"> est invalide même si < semble inoffensif entre guillemets.
  6. BOM parasite devant la déclaration XML. Certains éditeurs de texte insèrent silencieusement un BOM UTF-8 qui perturbe les analyseurs stricts.
  7. 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.

Outils associés

Formatage et validation JSON en ligne, gratuits Convertisseur JSON → YAML, gratuit Formateur SQL gratuit