IA sur votre appareil : performant et privé.

Convertir CSV en XML

CSV en XML avec des noms d'éléments valides et un aperçu fiable

  • Rien n'est envoyé
  • Noms valides dans toutes les langues
  • Éléments ou attributs
  • Schéma XSD optionnel

Déposez un CSV ici

CSV, TSV, TXT ou PSV · jusqu'à 25.0 MB · un fichier à la fois

Réglages
Élément racine

L'unique élément qui entoure tout le document.

Élément de ligne

Entoure chaque ligne de données dans la racine.

Écrire les colonnes en
Écrire les colonnes en

Le mode par défaut de chaque colonne. Modifiez-en une dans le tableau ci-dessous.

Cellules vides
Cellules vides

Seul xsi:nil se distingue d'un champ jamais exporté.

Indentation
Indentation

Minifié met tout le document sur une seule ligne.

Document

Ce qui entre dans le fichier en plus des lignes elles-mêmes.

Délimiteur
Délimiteur

Détecté en analysant un échantillon avec chaque candidat, pas en comptant les séparateurs.

Caractère de citation
Caractère de citation

Des fichiers cités par apostrophes existent ; mal les lire fusionne des lignes.

Encodage

Une marque d'ordre des octets dans le fichier l'emporte toujours sur ce choix.

Ignorer les premières lignes
0

Pour les exports avec un titre au-dessus du vrai en-tête.

Préfixe de commentaire

Les lignes commençant par ceci sont ignorées. Laissez vide pour tout garder.

Regrouper les lignes par
Pro

Imbrique les lignes sous une valeur commune et retrouve la hiérarchie aplatie par le CSV.

URI d'espace de noms
Pro

Lie le document à un espace de noms. Laissez le préfixe vide pour l'espace par défaut.

Pro

Construit à partir du même plan que le document : les deux ne peuvent pas diverger.

Télécharger sous

S'applique avec un seul fichier chargé. Un lot garde ses noms d'origine.

Gratuit : un fichier jusqu'à 25.0 MB. Tous les réglages qui touchent au XML sont inclus.

Comment convertir un CSV en XML

  1. 1

    Ajoutez votre CSV

    Déposez un fichier .csv, .tsv, .txt ou .psv sur la page, ou parcourez. Le délimiteur, la citation et l'encodage sont détectés depuis le fichier lui-même.

  2. 2

    Nommez les éléments racine et ligne

    Définissez le conteneur de plus haut niveau et l'élément qui entoure chaque ligne. Tout ce qui n'est pas un nom XML valide est réparé et l'outil vous le dit.

  3. 3

    Choisissez l'écriture des colonnes

    Prenez éléments ou attributs pour tout le fichier, puis basculez n'importe quelle colonne en CDATA ou ignorez-la dans le tableau des colonnes.

  4. 4

    Vérifiez l'aperçu

    Les vingt premières lignes sont produites par le même code que l'export et relues par l'analyseur XML du navigateur : vous voyez le vrai document avant de vous engager.

  5. 5

    Téléchargez

    Enregistrez le XML, et le schéma XSD généré si vous l'avez demandé. Plusieurs fichiers reviennent dans une seule archive ZIP.

Ce que propose cet outil CSV vers XML

Un CSV est une grille de texte. Un XML est un arbre avec des noms, des types et des règles sur ce que ces noms peuvent contenir. L'essentiel du travail de conversion se trouve dans cet écart : décider ce que devient chaque colonne, et s'assurer que le résultat est bien quelque chose qu'un analyseur accepte.

  • Des noms qui sont du XML valide — Les noms sont construits selon la grammaire NCName de XML : un en-tête -id, 2024, xml ou Total (£) produit un document qui s'analyse au lieu d'un document qui échoue.
  • Des noms dans votre langue — Führung et 名前 sont des noms d'éléments parfaitement légaux et ils survivent tels quels. Un convertisseur qui les réduit à F_hrung et __ a perdu vos intitulés de colonnes.
  • Éléments ou attributs, par colonne — Fixez le mode par défaut puis modifiez n'importe quelle colonne — y compris CDATA pour les valeurs contenant du balisage, et Ignorer pour les colonnes à ne pas exporter.
  • Trois réponses honnêtes pour une cellule vide — Un élément vide, aucun élément, ou xsi:nil — la seule des trois qu'un consommateur peut distinguer d'un champ que l'exportateur a oublié.
  • Un aperçu qui est le vrai document — Les vingt premières lignes sont produites par le même code que l'export et relues par l'analyseur XML de votre navigateur.
  • Rien ne quitte votre appareil — Lecture, analyse et écriture se font localement, dans un fil d'arrière-plan : un export confidentiel le reste.

Éléments ou attributs : quand utiliser l'un ou l'autre

C'est la première vraie décision de toute conversion CSV vers XML, et les deux formes sont des documents réellement différents, pas une préférence de style.

  • Éléments — Chaque valeur devient un élément enfant : <row><city>Paris</city></row>. C'est le choix par défaut et le plus sûr — un élément peut être vide, typé, déclaré nillable, et contenir un texte de n'importe quelle longueur, sauts de ligne compris.
  • Attributs — Chaque valeur devient un attribut de la ligne : <row city="Paris"/>. Le document est nettement plus petit et se lit naturellement pour des identifiants courts. Un attribut ne peut être ni répété ni nil.
  • CDATA — La valeur est enveloppée dans une section CDATA et passe telle quelle. C'est ce qu'il faut pour une colonne contenant du HTML ou un autre fragment de balisage. Le terminateur ]]> est traité en scindant la section, donc une valeur qui le contient reste correcte.
  • Ignorer — La colonne est totalement exclue de la sortie — utile pour les clés internes et les colonnes d'audit qui ne doivent pas partir vers le système cible.
  • Le piège des attributs que cet outil évite — Les analyseurs XML normalisent les valeurs d'attribut avant que l'application les voie : une tabulation, un saut de ligne ou un retour chariot littéral dans un attribut est remplacé par une espace. Un convertisseur qui écrit une adresse multiligne directement en attribut produit un document bien formé qui a discrètement perdu ses retours. Ici ces caractères sont écrits en références, et la valeur survit à l'aller-retour.

Comment les en-têtes CSV deviennent des noms d'éléments XML

XML est bien plus strict sur les noms qu'un tableur. Un en-tête est un texte quelconque ; un nom d'élément doit commencer par une lettre ou un tiret bas et ne peut contenir ni espace, ni presque aucune ponctuation, ni deux-points. Plutôt que d'émettre ce que disait l'en-tête en espérant que ça passe, chaque nom est réparé selon la grammaire publiée et la réparation vous est montrée.

  • Espaces et ponctuation — Une suite de caractères illégaux devient un seul tiret bas : First Name donne First_Name et non First__Name, et Total (£) donne Total et non Total____.
  • Un nom qui ne peut pas commencer là où il commence — Un chiffre, un tiret ou un point initial reçoit un tiret bas devant plutôt que d'être supprimé — 2024 devient _2024, ce qui est réversible, alors que supprimer le chiffre rendrait 2024 et 024 identiques.
  • Le préfixe réservé xml — La spécification réserve tout nom commençant par xml, quelle que soit la casse. Un en-tête xml ou XmlData reçoit un préfixe, la seule chose légale à en faire.
  • En-têtes en double — Deux colonnes Name deviennent Name et Name_2. La réparation elle-même peut créer des collisions — Total (£) et Total (€) partent toutes deux de Total — ce n'est donc pas optionnel.
  • Les lettres de toutes les écritures sont conservées — La grammaire autorise tout le domaine des lettres Unicode et cet outil aussi. La seule exception délibérée concerne les emoji et les autres caractères au-delà du plan de base : la spécification les autorise dans un nom, les analyseurs réels non. Mesuré sur deux implémentations indépendantes, l'une refuse le document entier et l'autre renvoie l'élément en texte brut, contenu perdu. Un emoji dans un en-tête devient donc un tiret bas, pour que tout analyseur lise le résultat de la même façon.
  • Vous voyez toujours ce qui a changé — Le tableau des colonnes liste le nom utilisé et, quand ils diffèrent, l'en-tête d'origine. Un outil qui renomme vos colonnes sans le dire a le même problème qu'un outil qui les renomme mal.

Cellules vides, types de données et schémas

Deux réglages décident de ce qu'un consommateur de votre XML peut en conclure, et tous deux sont gratuits.

  • Élément vide — <city></city> — le champ existe et sa valeur est la chaîne vide. C'est le mode par défaut et il correspond à ce que produisait la version précédente de cet outil.
  • Omettre — L'élément n'est pas écrit du tout. Sortie plus compacte, et la bonne réponse quand le système cible traite un champ absent comme inconnu.
  • xsi:nil — <city xsi:nil="true"/> — la façon correcte au sens du schéma de dire que la valeur est connue comme absente, et la seule des trois qu'un consommateur peut distinguer d'un champ oublié par l'exportateur. La liaison de l'espace de noms xsi est ajoutée automatiquement à la racine, car un espace de noms déclaré au milieu d'un document est légal et inutile.
  • Annotation de type — Activez xsi:type et chaque élément déclare ce qu'il contient — xs:integer, xs:decimal, xs:boolean, xs:date, xs:time, xs:dateTime ou xs:string. Une colonne ne reçoit un type étroit que si toutes ses valeurs non vides correspondent à cette forme lexicale.
  • Pourquoi 01234 reste une chaîne — Un zéro initial signifie identifiant — code postal, référence, numéro de téléphone — et dès qu'il est typé en nombre le zéro disparaît. Aucune supposition de langue non plus : l'espace lexical XSD est fixe, donc un export allemand écrivant 1.234,56 est correctement une chaîne au lieu d'être réinterprété en silence.

Options d'import du CSV

Le délimiteur, le caractère de citation et l'encodage sont détectés depuis le fichier, et chacun peut être forcé quand la détection n'est pas celle que vous vouliez.

  • Délimiteur — Virgule, point-virgule, tabulation ou barre verticale. La détection analyse un échantillon avec chaque candidat et note la régularité des largeurs de lignes : une virgule dans une adresse entre guillemets ne fait donc pas passer un fichier à point-virgule pour un fichier à virgules.
  • Caractère de citation — Guillemet double, apostrophe, ou aucun. Des fichiers cités par apostrophes existent, et en lire un avec le mauvais caractère fusionne des lignes au lieu d'échouer.
  • Ignorer les premières lignes — Pour les exports portant un titre et une ligne vide au-dessus du vrai en-tête. Le compte s'applique avant la détection du délimiteur, car une ligne de titre n'est pas délimitée et détecter dessus ne trouve qu'une colonne.
  • Ignorer les lignes vides — Une ligne dont toutes les cellules sont vides est supprimée. Ne tester qu'une ligne littéralement vide manque ce qu'un tableur écrit réellement pour une ligne blanche au milieu d'une plage.
  • Lignes de commentaire — Définissez un préfixe — # est l'usage courant — et toute ligne qui commence par lui est ignorée.
  • Les colonnes en trop sont conservées — Quand une ligne de données est plus large que l'en-tête, les colonnes excédentaires reçoivent un nom généré et le compte est signalé. Aligner le fichier sur l'en-tête supprime des données en silence, et le document obtenu paraît parfait.

Quel encodage choisir ?

Auto convient presque toujours. La liste mérite d'être lue parce que deux des entrées proposées par la version précédente de cet outil étaient le même décodeur sous deux noms.

  • Auto — Une marque d'ordre des octets si le fichier en a une, sinon UTF-8 si les octets sont de l'UTF-8 valide, sinon Windows-1252 — ce qu'écrit un tableur occidental quand on ne lui demande rien de précis.
  • La marque l'emporte toujours — Une marque d'ordre des octets est le fichier qui déclare son encodage ; la liste déroulante, c'est vous qui devinez. En cas de désaccord la marque est utilisée et l'outil le dit, au lieu de faire silencieusement le bon choix pendant que la liste affiche autre chose.
  • UTF-16LE et UTF-16BE — Ce que produit l'export Texte Unicode d'un tableur. Lus en UTF-8, ces octets deviennent un champ de nuls et le fichier entier s'analyse comme une seule ligne énorme d'une colonne.
  • Windows-1252 et ISO-8859-1 diffèrent vraiment ici — La norme d'encodage liste iso-8859-1 comme étiquette de windows-1252 : demander l'un à un navigateur donne l'autre. En vrai ISO-8859-1, les octets 0x80 à 0x9F sont des caractères de contrôle, pas des guillemets courbes et des symboles euro. Cet outil l'implémente réellement, seule façon de lire un fichier qui est vraiment en Latin-1.

Imbrication et espaces de noms

Un CSV est plat et un XML est un arbre, et la raison la plus courante de vouloir du XML est de retrouver une hiérarchie que le tableur avait aplatie. Ces deux fonctions sont dans le plan Pro parce qu'aucune n'est nécessaire pour obtenir du XML correct — elles servent à faire entrer le document dans le système de quelqu'un d'autre.

  • Regrouper par une colonne — Choisissez une colonne et les lignes partageant une valeur sont réunies sous un élément de groupe portant cette valeur, dans l'ordre où le fichier la mentionne pour la première fois. La colonne de regroupement n'est pas répétée dans chaque ligne, sinon ce serait le document plat avec de l'imbrication autour.
  • Liaison d'espace de noms — Donnez au document un URI d'espace de noms, avec un préfixe optionnel. Sans préfixe il devient l'espace de noms par défaut ; avec préfixe, chaque élément le porte.
  • XSD généré — Un schéma construit à partir du même plan et du même classificateur de types que le document. Il est volontairement souple là où deviner ferait du tort : aucune longueur maximale déduite, aucune énumération, car une contrainte tirée d'un export est celle que le suivant enfreindra.
  • Lot dans une seule archive — Convertissez jusqu'à 50 fichiers d'un coup et repartez avec une seule archive, schémas compris. Les noms d'entrées sont d'abord assainis et rendus uniques, pour que deux dossiers contenant chacun data.csv ne s'effondrent pas silencieusement en une seule entrée.

Le fichier est décodé, analysé et écrit dans un fil d'arrière-plan, par blocs de lignes. Un export de 26,7 Mo se convertit en environ 1,2 seconde et la page reste réactive.

Les options en un coup d'œil

  • Balises racine et ligne — Définissez les noms d'éléments de plus haut niveau et par ligne. Gratuit : c'est la raison d'être de l'outil.
  • Première ligne comme noms — Utilisez les champs d'en-tête comme noms de balises enfants, ou générez column_1, column_2, etc.
  • Mode de sortie — Éléments ou attributs pour tout le fichier, modifiable par colonne en CDATA ou Ignorer.
  • Valeurs vides — Élément vide, omis, ou xsi:nil.
  • Annotation de type — Ajoute xsi:type à chaque élément, avec le type déduit de toute la colonne.
  • Indentation — Deux espaces, quatre espaces, tabulation, ou minifié sur une seule ligne.
  • Déclaration XML — Inclure ou omettre la ligne de version et d'encodage en tête.
  • Délimiteur, citation, encodage — Détectés depuis le fichier, ou fixés à la main quand la détection ne convient pas.
  • Ignorer lignes, vides, commentaires — Lignes de titre initiales, lignes vides, et lignes commençant par un préfixe de votre choix.
  • Télécharger sous — Définissez le nom du fichier de sortie. Plusieurs fichiers reviennent dans une seule archive ZIP.

Pourquoi convertir un CSV en XML ?

Un CSV ne dit rien de ce que ses colonnes signifient. Un XML porte les noms, la structure et — avec un schéma — les types, ce qui en fait toujours le format demandé par la plupart des intégrations d'entreprise et du secteur public.

  • Compatibilité entre systèmes — Beaucoup de systèmes d'entreprise, financiers et publics n'acceptent que XML et rejettent un CSV sans même le lire.
  • La structure que le tableur avait perdue — Regrouper les lignes sous une colonne clé retrouve une hiérarchie qu'un export plat avait dû abandonner.
  • Un contrat, pas seulement des données — Un XSD généré permet au système receveur de valider ce que vous avez envoyé au lieu qu'on lui décrive la forme par courriel.
  • Un texte sans ambiguïté — Les caractères qui casseraient un export naïf sont échappés, ceux que XML ne peut pas représenter sont retirés et comptés, et le résultat est contrôlé par un analyseur avant votre téléchargement.

Questions fréquentes

Comment fonctionne le convertisseur CSV vers XML ?

Déposez un CSV et l'outil le lit sur votre appareil : il repère toute marque d'ordre des octets, décode le texte, déduit le délimiteur et le caractère de citation en analysant un échantillon avec chaque candidat et en notant la régularité du résultat, puis transforme chaque ligne en élément. Vous nommez les éléments racine et ligne, décidez si chaque colonne devient un élément enfant ou un attribut, et téléchargez le résultat. Les vingt premières lignes s'affichent en XML réel avant tout engagement.

Puis-je personnaliser les noms d'éléments et de balises ?

Oui, et c'est gratuit. Définissez la balise racine (le conteneur de plus haut niveau) et la balise de ligne (qui entoure chaque ligne de données). Activez Première ligne comme noms d'éléments pour prendre les noms dans votre en-tête ; désactivez-la et les colonnes deviennent column_1, column_2, etc. Tout nom que XML refuserait est réparé plutôt qu'émis cassé — un en-tête 2024 devient _2024, un en-tête commençant par xml reçoit un préfixe car la spécification réserve ce préfixe, et deux colonnes homonymes sont numérotées. Le tableau des colonnes montre l'en-tête d'origine à côté du nom utilisé : rien n'est renommé dans votre dos.

Mes données CSV sont-elles envoyées à un serveur ?

Non. Le fichier est lu, analysé et écrit en XML entièrement sur votre appareil, dans un fil d'arrière-plan pour que la page reste réactive sur les gros fichiers. Rien n'est envoyé, stocké ni transmis : un export confidentiel reste privé du début à la fin. La page continue de fonctionner hors ligne une fois chargée.

Quels délimiteurs et encodages sont pris en charge ?

Virgule, point-virgule, tabulation et barre verticale, détectés automatiquement ou forcés à la main, avec guillemet double, apostrophe ou aucune citation. Les encodages sont UTF-8, UTF-16LE, UTF-16BE, Windows-1252 et le vrai ISO-8859-1 — des décodeurs réellement différents, pas trois étiquettes pour le même. Une marque d'ordre des octets l'emporte toujours sur la liste déroulante, car la marque est le fichier qui déclare son encodage alors que la liste n'est qu'une supposition, et l'outil signale quand il a ignoré votre choix.

Chaque colonne doit-elle être un élément ou un attribut ?

Les éléments sont le choix sûr : ils peuvent se répéter, être vides, porter un type et contenir un texte de n'importe quelle longueur. Les attributs rendent le document plus compact et se lisent naturellement pour des identifiants courts comme un id ou un code. Vous pouvez fixer le mode par défaut puis modifier n'importe quelle colonne, ce qu'aucun autre convertisseur en ligne ne propose. Une précaution que l'outil prend pour vous : les analyseurs XML remplacent les tabulations et les sauts de ligne à l'intérieur d'un attribut par des espaces, si bien qu'une adresse sur plusieurs lignes écrite en attribut brut perd silencieusement ses retours. Ici ils sont écrits en références de caractères et la valeur revient exactement telle qu'elle est entrée.

Peut-il générer un schéma XSD, et le XML est-il valide vis-à-vis de ce schéma ?

Oui. Le schéma est construit à partir du même plan et du même classificateur de types que le document : les deux ne peuvent pas diverger — un schéma généré que son propre XML ne valide pas est pire que pas de schéma. Les types sont prudents : une colonne n'est déclarée entier, décimal, booléen, date, heure ou date-heure que si toutes ses valeurs non vides correspondent à cette forme lexicale, et une valeur à zéro initial comme 01234 reste une chaîne car c'est un identifiant, pas un nombre. Aucune longueur maximale ni énumération n'est déduite, car une contrainte tirée d'un export est celle que le suivant enfreindra.

Le convertisseur CSV vers XML est-il gratuit et fonctionne-t-il hors ligne ?

Tout ce qu'il faut pour produire un XML correct, complet et correctement échappé est gratuit : tous les délimiteurs et encodages, le nommage racine et ligne, éléments ou attributs, CDATA, la politique des cellules vides, l'annotation de type, l'indentation et le document entier jusqu'à 25 Mo par fichier. Une fois la page chargée, elle continue de fonctionner sans connexion. Le plan Pro ajoute l'échelle et l'intégration — conversion par lot dans une archive, imbrication par colonne clé, espaces de noms et XSD généré.

À quoi sert le XML produit, et cela marche-t-il sur mobile ?

Flux de données, imports entre systèmes, charges utiles d'API, et les nombreux outils d'entreprise ou hérités qui n'acceptent que XML. Comme la sortie est vérifiée par l'analyseur XML du navigateur avant le téléchargement, vous découvrez un problème ici plutôt que dans le système cible. L'outil fonctionne dans tout navigateur mobile ou de bureau moderne : vous pouvez donc convertir depuis un téléphone.

4.8sur 5

sur 74 notes

Notez cet outil

Touchez une étoile — c’est rapide