Formateur XML
Embellissez, minifiez et validez du XML directement dans le navigateur — rien n'est envoyé. Réindente un XML désordonné et signale les erreurs de bonne formation avec numéro de ligne/colonne. Gratuit, privé, sans inscription.
Qu'est-ce qu'un Formateur XML et pourquoi en utiliser un ?
XML (Extensible Markup Language) est un format textuel pour les données structurées, utilisé partout, des services web et fichiers de configuration aux flux RSS, APIs SOAP, documents Office (DOCX, XLSX), graphiques SVG et fichiers de mise en page Android. Contrairement à JSON, XML prend en charge les commentaires, les espaces de noms, le contenu mixte (texte et éléments entremêlés) et les déclarations de type de document — ce qui en fait le format de choix pour l'intégration d'entreprise, l'échange de documents et partout où des données structurées doivent coexister avec un balisage lisible par un humain.
Le XML dans la nature est souvent mal indenté ou complètement minifié — les réponses d'API arrivent sur une seule ligne, les fichiers de configuration accumulent des indentations incohérentes et le XML généré par des sérialiseurs n'ajoute aucun espace. Un formateur XML prend cette entrée désordonnée et la réindente en une structure propre et hiérarchique où chaque niveau d'imbrication est visuellement clair. C'est essentiel pour la revue de code, le débogage, la documentation et la compréhension de schémas XML inconnus.
**Ce que cet outil fait différemment d'un simple éditeur de texte :**
**1. Validation de la bonne formation avec localisation précise des erreurs.** Le formateur utilise le DOMParser du navigateur (le même moteur qui analyse le HTML et le SVG) pour analyser le XML. Si le document n'est pas bien formé — balises non correspondantes, éléments non fermés, caractères non échappés ou plusieurs éléments racines — l'analyseur signale le numéro de ligne et de colonne exact où il a échoué. C'est bien plus rapide que de lire du XML brut en cherchant où une balise a été accidentellement laissée ouverte.
**2. Formatage sans perte.** Le formateur préserve les commentaires, les instructions de traitement, les sections CDATA, les déclarations d'espaces de noms, l'ordre des attributs et tout le contenu textuel exactement. Il ajuste uniquement les espaces entre les balises d'éléments. Vous pouvez formater en toute sécurité tout XML qui vous importe — rien de significatif ne changera.
**3. Minification pour la production.** Le minificateur supprime tous les espaces inter-éléments non significatifs, produisant la représentation XML valide la plus petite. C'est l'étape de prétraitement appropriée avant de stocker du XML dans une colonne de base de données, de l'insérer comme chaîne dans du JSON ou de le transmettre sur un canal à nombre d'octets limité.
**4. Confidentialité 100 % basée sur le navigateur.** Le XML médical (HL7, FHIR), les données financières, les charges utiles SOAP avec identifiants et les fichiers de configuration internes sont tous des charges utiles XML courantes contenant des données sensibles. Cet outil ne télécharge jamais rien — tout le traitement s'exécute dans le moteur JavaScript de votre navigateur. Consultez nos outils compagnons si vous avez besoin de convertir plutôt que de formater : Convertisseur XML vers JSON pour convertir du XML en JSON, et Convertisseur JSON vers XML pour la direction inverse.
<!-- Minified XML input -->
<?xml version="1.0" encoding="UTF-8"?><catalog><product id="p01"><name>Wireless Headphones</name><price currency="USD">79.99</price></product></catalog>
<!-- After formatting with 2-space indent -->
<?xml version="1.0" encoding="UTF-8"?>
<catalog>
<product id="p01">
<name>Wireless Headphones</name>
<price currency="USD">79.99</price>
</product>
</catalog> Fonctionnalités clés
Embellissement avec indentation 2 ou 4 espaces
Réindente le XML en une hiérarchie propre et lisible. Choisissez une indentation à 2 espaces (la plus courante pour les services web, RSS et fichiers de config) ou à 4 espaces (courante dans les schémas XML d'entreprise) avant le formatage.
Minification — Suppression des espaces non significatifs
Supprime tous les espaces entre les balises d'éléments sans toucher au contenu textuel, produisant le XML valide le plus compact. Idéal pour le stockage, la transmission ou l'intégration comme chaîne dans du JSON ou d'autres formats.
Validation de la bonne formation avec erreurs ligne/colonne
Utilise le DOMParser intégré du navigateur pour valider la structure XML. Signale le numéro de ligne et de colonne exact de la première erreur de bonne formation — balises non correspondantes, éléments non fermés, caractères non échappés — pour un débogage rapide.
Sans perte : préserve les commentaires, espaces de noms et attributs
Les commentaires, instructions de traitement, sections CDATA, déclarations d'espaces de noms et ordre des attributs sont tous préservés exactement. Seuls les espaces non significatifs entre les balises sont modifiés — votre contenu n'est jamais altéré.
100 % basé sur le navigateur — Aucun envoi, aucun serveur
Tout le traitement s'exécute localement dans votre navigateur. Les charges utiles XML contenant des identifiants, des données médicales, des dossiers financiers ou des configurations internes ne sont jamais transmises à un serveur ni journalisées.
Fonctionne avec SOAP, RSS, SVG, XHTML et Android XML
Gère toute application XML bien formée : enveloppes SOAP avec en-têtes WS-Security, flux RSS/Atom, fichiers SVG, documents XHTML, XML de mise en page Android, POM Maven et fichiers de build Maven/Ant.
Exemples
XML Compressé / Minifié
<?xml version="1.0" encoding="UTF-8"?><catalog><product id="p01" category="electronics"><name>Wireless Headphones</name><price currency="USD">79.99</price><stock>142</stock><tags><tag>audio</tag><tag>bluetooth</tag></tags></product><product id="p02" category="books"><name>Learning XML</name><price currency="USD">29.99</price><stock>55</stock></product></catalog>
Un catalogue de produits XML compact sur une seule ligne. Cliquez sur Formater pour l'indenter en une arborescence lisible avec 2 espaces d'indentation. La hiérarchie des éléments, les attributs et le contenu textuel sont tous préservés à l'identique — le formatage est purement cosmétique.
Extrait de Flux RSS
<rss version="2.0"><channel><title>Go Tools Blog</title><link>https://go-tools.org/blog</link><description>Developer tools, tips and tutorials</description><item><title>Understanding XML Namespaces</title><link>https://go-tools.org/blog/xml-namespaces-guide</link><pubDate>Thu, 29 May 2026 00:00:00 GMT</pubDate><description>A deep dive into XML namespace declarations, prefixes, and scope rules with practical examples.</description></item><item><title>XML vs JSON: When to Use Each</title><link>https://go-tools.org/blog/xml-vs-json</link><pubDate>Mon, 25 May 2026 00:00:00 GMT</pubDate></item></channel></rss>
Un flux RSS 2.0 à deux éléments compressé sur une seule ligne. Après le formatage, les métadonnées du canal et chaque élément apparaissent clairement indentés, facilitant l'inspection de la structure du flux, l'ajout de nouveaux éléments ou la comparaison avec les exigences d'un validateur de flux.
Enveloppe SOAP
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soap:Header><wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><wsse:UsernameToken><wsse:Username>api-client</wsse:Username><wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-ext-1.0.xsd#PasswordText">s3cr3t</wsse:Password></wsse:UsernameToken></wsse:Security></soap:Header><soap:Body><GetOrderRequest xmlns="http://example.com/orders"><OrderId>ORD-20260529-001</OrderId><IncludeLineItems>true</IncludeLineItems></GetOrderRequest></soap:Body></soap:Envelope>
Une enveloppe SOAP 1.1 avec un en-tête WS-Security et un corps GetOrder, utilisant trois préfixes d'espace de noms (soap:, wsse: et celui par défaut). Le formatage rend immédiatement claire la séparation en-tête/corps et les déclarations d'espaces de noms — essentiel pour déboguer les intégrations SOAP et lire les charges utiles générées par WSDL.
Comment utiliser
- 1
Collez votre XML
Saisissez ou collez votre XML dans le champ de saisie ci-dessus. Vous pouvez aussi cliquer sur « Charger un exemple » pour essayer un échantillon (un catalogue de produits XML minifié qui se formate bien).
- 2
Choisissez une action
Cliquez sur Formater pour embellir avec indentation, Minifier pour supprimer les espaces, ou Valider pour vérifier la bonne formation. Sélectionnez 2 ou 4 espaces pour la taille d'indentation avant le formatage.
- 3
Copiez le résultat
Le XML traité apparaît dans le panneau de sortie. Cliquez sur Copier pour le récupérer dans votre presse-papiers. Si Valider a trouvé des erreurs, la bannière d'erreur indique le numéro de ligne et de colonne exact.
Erreurs XML courantes
Balises non correspondantes
Les noms de balises XML sont sensibles à la casse et doivent correspondre exactement.
<products>
<Item>
<name>Widget</name>
</item>
</products> <products>
<item>
<name>Widget</name>
</item>
</products> Esperluette ou signe inférieur non échappé
Les caractères & et < sont réservés en XML et doivent être échappés en dehors des sections CDATA. Un & brut cause une erreur d'analyseur même dans les valeurs d'attributs. Utilisez & pour & et < pour <. Le signe supérieur > devrait être échappé en > dans le contenu textuel, bien que les analyseurs soient plus tolérants à son égard.
<query>price > 10 & stock > 0</query>
<query>price > 10 & stock > 0</query>
Attributs sans guillemets ou mal délimités
Toutes les valeurs d'attributs XML doivent être entourées de guillemets simples ou doubles. Les valeurs d'attributs sans guillemets sont valides en HTML5 mais constituent une erreur de bonne formation en XML. De même, une valeur contenant des guillemets doubles doit utiliser des guillemets simples comme délimiteurs (ou échapper le guillemet en ").
<product id=p01 label="It's a "widget"">
<product id="p01" label="It's a "widget"">
Plusieurs éléments racines
Un document XML doit avoir exactement un élément racine contenant tous les autres éléments. Une erreur courante lors de l'assemblage de fragments XML est de se retrouver avec deux ou plusieurs éléments de niveau supérieur côte à côte, ce qui n'est pas du XML valide (bien que cela soit courant en HTML). Enveloppez tous les éléments frères dans un seul conteneur racine.
<user><name>Alice</name></user> <user><name>Bob</name></user>
<users> <user><name>Alice</name></user> <user><name>Bob</name></user> </users>
Inadéquation de l'encodage dans la déclaration XML
Si votre fichier XML est enregistré en UTF-16 ou un autre encodage non-UTF-8 mais que la déclaration indique encoding="UTF-8" (ou est absente, ce qui correspond à UTF-8 par défaut), certains analyseurs le rejetteront ou produiront des caractères incorrects. Lors du collage dans un outil basé sur le navigateur, le navigateur gère l'encodage automatiquement. Pour les fichiers sur disque, assurez-vous que l'attribut d'encodage correspond à l'encodage réel du fichier.
<?xml version="1.0" encoding="UTF-8"?> <!-- File is actually saved as UTF-16 -->
<?xml version="1.0" encoding="UTF-16"?> <!-- File saved as UTF-16, declaration matches -->
Section CDATA non correctement fermée
Une section CDATA commence par . Si la séquence de fermeture ]]> est manquante ou mal saisie, l'analyseur traite tout ce qui suit comme faisant partie de la section CDATA jusqu'à ce qu'il trouve un autre ]]> ou atteigne la fin du document. Cela se manifeste généralement par des erreurs de « fin de document inattendue ».
<script><![CDATA[
if (a < b && b > c) { return true; }
<!-- ]]> is missing --> <script><![CDATA[
if (a < b && b > c) { return true; }
]]></script> Cas d'utilisation courants
- Débogage des charges utiles SOAP / Services web
- Les réponses SOAP des APIs d'entreprise et des services web hérités arrivent sous forme de chaînes XML sur une seule ligne. Collez la charge utile brute dans le formateur pour voir instantanément la structure de l'enveloppe, les en-têtes et le corps — facilitant la recherche du champ dont vous avez besoin ou la détection d'une incompatibilité d'espace de noms. Voir aussi : Convertisseur XML vers JSON si vous devez traiter davantage la charge utile en JavaScript.
- Validation des fichiers de configuration et descripteurs de déploiement
- Les fichiers POM Maven, les contextes d'application Spring XML, le server.xml de Tomcat, les fichiers Manifest Android et de nombreux autres fichiers de configuration Java/entreprise sont du XML. Faites-les passer par Valider avant de les committer pour détecter les balises non correspondantes ou les problèmes d'encodage qui ne se manifesteraient autrement qu'au moment du build ou du déploiement.
- Formatage des sorties de flux RSS et Atom
- Les flux RSS 2.0 et Atom 1.0 sont du XML. Lors du développement d'un générateur de flux ou du débogage des problèmes de compatibilité des lecteurs de flux, formatez le XML du flux brut pour inspecter les métadonnées du canal, la structure des éléments et les déclarations d'espaces de noms requises côte à côte.
- Lecture et édition de fichiers SVG
- Les fichiers SVG exportés depuis Figma, Illustrator ou Sketch sont du XML valide mais sont souvent minifiés ou comportent une indentation excessive de l'exportateur. Formatez le SVG pour obtenir une arborescence d'éléments propre et navigable avant d'effectuer des modifications manuelles sur les chemins, les groupes ou les attributs de style.
- Préparation du XML pour le stockage ou la transmission
- Lors du stockage de XML dans une colonne de base de données, de son envoi comme champ de chaîne JSON dans une requête d'API ou de son insertion dans une file de messages, utilisez d'abord Minifier pour supprimer les espaces inutiles. Cela réduit la taille de la charge utile et évite les problèmes avec les analyseurs JSON qui pourraient être gênés par des caractères de contrôle non échappés dans de grandes chaînes XML indentées.
- Conversion de XML en JSON
- Si vous devez convertir votre XML formaté en JSON pour une utilisation dans une application JavaScript ou une API REST, utilisez notre Convertisseur XML vers JSON. Pour l'opération inverse — construire du XML à partir d'une structure JSON — utilisez le Convertisseur JSON vers XML.
Détails techniques
- DOMParser du navigateur pour l'analyse XML
- L'analyse XML utilise le DOMParser natif du navigateur avec le type MIME 'text/xml'. C'est le même moteur qui alimente le rendu SVG et XHTML dans le navigateur — il est entièrement conforme à XML 1.0 et signale les erreurs de bonne formation avec les informations de ligne et de colonne. Quand le document n'est pas bien formé, DOMParser retourne un document parsererror contenant le message d'erreur et la position, que cet outil extrait et affiche.
- Sérialisation de l'arborescence DOM pour le formatage
- Le formatage fonctionne en analysant le XML dans une arborescence DOM puis en parcourant l'arborescence de manière récursive pour produire une sortie indentée. Cette approche préserve la structure sémantique du document : l'imbrication des éléments, le contenu textuel, les attributs, les sections CDATA, les instructions de traitement et les commentaires sont tous sérialisés exactement tels qu'analysés. Seuls les nœuds texte inter-éléments composés uniquement d'espaces sont ignorés — les nœuds texte contenant des caractères non-espace sont toujours préservés.
- Minification par suppression des nœuds texte composés d'espaces
- La minification parcourt la même arborescence DOM et supprime les nœuds texte dont le contenu est entièrement composé d'espaces (espaces, tabulations, sauts de ligne). Les nœuds texte avec contenu mixte ou non-espace — les données réelles entre les balises — ne sont jamais supprimés. Les attributs et leurs valeurs sont sérialisés sans espace supplémentaire. Le résultat est la représentation XML bien formée la plus compacte du document original.
- 100 % basé sur le navigateur — Aucun envoi, aucun serveur
- Tout le traitement s'exécute dans le moteur JavaScript de votre navigateur. Aucune donnée n'est transmise à un serveur à aucun moment. C'est particulièrement important pour les charges utiles XML qui contiennent fréquemment du contenu sensible : jetons SOAP WS-Security, données patients HL7, configuration de services internes et formats de messages financiers (FIX, SWIFT ISO 20022). L'outil est sûr à utiliser avec tout XML que vous ne souhaiteriez pas coller dans un service public.
Bonnes pratiques
- Valider avant de formater, formater avant de committer
- Validez d'abord votre XML pour confirmer qu'il est bien formé avant de le reformater — le formateur peut produire silencieusement une sortie incorrecte si l'entrée n'est pas du XML valide. Une fois validé, formatez et examinez la sortie indentée avant de committer les fichiers de configuration, les modèles de flux ou les définitions WSDL dans le contrôle de version.
- Utilisez 2 espaces pour les formats web, 4 espaces pour le XML d'entreprise
- L'indentation à 2 espaces est la convention pour les flux RSS/Atom, SVG, XHTML, XML Android et la plupart du XML orienté web. L'indentation à 4 espaces est courante dans les environnements Java d'entreprise (POM Maven, fichiers de contexte Spring, descripteurs de déploiement JBoss). Respectez la convention de vos fichiers existants et de votre chaîne d'outils.
- Minifiez le XML avant de l'intégrer dans du JSON
- Si vous devez intégrer une chaîne XML comme valeur d'un champ JSON, minifiez-la d'abord. Le XML indenté contient des sauts de ligne et plusieurs espaces qui doivent être échappés en JSON (\n, plusieurs \u0020), gonflant considérablement la taille de la charge utile. Le XML minifié est également bien moins susceptible de déclencher des limites de longueur de ligne dans les proxies intermédiaires ou les systèmes de journalisation.
- Échappez les caractères spéciaux dans le contenu textuel, utilisez CDATA avec parcimonie
- Pour les valeurs texte courtes contenant & ou <, utilisez les références d'entité (&, <) — elles sont plus portables que les sections CDATA et fonctionnent également dans les valeurs d'attributs. Réservez les sections CDATA () pour intégrer de grands blocs de code, des requêtes SQL ou des fragments HTML où l'échappement de chaque caractère spécial rendrait le contenu illisible.
- Déclarez les espaces de noms le plus tôt possible
- Déclarez les espaces de noms XML (xmlns:prefix="URI") sur l'élément racine ou l'élément de plus haut niveau qui utilise le préfixe. Déclarer des espaces de noms profondément dans une arborescence de document rend le XML plus difficile à lire et peut causer des problèmes avec les analyseurs XML en flux (SAX, StAX) qui traitent les espaces de noms de manière incrémentale. L'exemple d'enveloppe SOAP ci-dessus illustre le modèle recommandé : toutes les déclarations d'espaces de noms sur l'élément Envelope racine.
Questions fréquentes
Mes données XML sont-elles envoyées à un serveur lorsque j'utilise cet outil ?
Que vérifie le bouton Valider ?
La validation vérifie-t-elle par rapport à un schéma XML (XSD) ou à une DTD ?
Quelle est la différence entre Formater (Embellir) et Minifier ?
Le formatage préserve-t-il les commentaires et les attributs XML ?
Comment formater du XML avec une indentation de 4 espaces au lieu de 2 ?
Quelles version XML et quel encodage cet outil prend-il en charge ?
Qu'est-ce qui cause une erreur de « bonne formation » et comment la corriger ?
Puis-je utiliser cet outil pour formater des fichiers XHTML ou SVG ?
Comment cet outil gère-t-il les espaces de noms XML ?
Y a-t-il une limite de taille pour l'entrée XML ?
Comment convertir du XML en JSON ou du JSON en XML ?
Outils connexes
Voir tous les outils →Décodeur et Encodeur Base64
Encodage et formatage
Décodez et encodez en Base64 en ligne gratuitement. Conversion en temps réel, support UTF-8 et émojis. 100 % privé, dans votre navigateur.
Convertisseur CSV vers JSON
Encodage et formatage
Convertissez du CSV en JSON dans le navigateur. RFC 4180, inférence de types, ligne d'en-tête, sûr pour grands entiers. 100 % privé, sans envoi.
JSON Diff (Comparateur)
Encodage et formatage
Comparez deux fichiers JSON instantanément dans votre navigateur. Vue côte à côte, sortie JSON Patch RFC 6902, ignorer les champs bruyants comme les horodatages et les ID. 100% privé, aucun envoi.
Formateur et Validateur JSON
Encodage et formatage
Formatez, validez et embellissez vos JSON dans le navigateur. Validation syntaxique, détection d'erreurs, minification et copie en un clic. 100 % privé.
Validateur JSON Schema
Encodage et formatage
Validez du JSON contre n'importe quel JSON Schema instantanément dans votre navigateur. Compatible Draft 2020-12, 2019-09 et Draft-07 avec messages d'erreur au chemin précis. 100 % privé — sans envoi, sans compte, gratuit.
Convertisseur JSON vers CSV
Encodage et formatage
Convertissez du JSON en CSV dans le navigateur. Préréglages RFC 4180, Excel-EU, TSV, Pipe. Aplatir ou stringifier. 100 % privé, sans envoi.