Créer un tableau HTML à partir de lignes délimitées

Collez des lignes CSV, TSV ou d’autres textes délimités et copiez le balisage <table> obtenu. Les champs entre guillemets, les guillemets doublés (« "" ») et les sauts de ligne entre guillemets forment une seule cellule, et le texte des cellules est échappé pour HTML.

Fonctionne localement dans votre navigateur

Comment transformer des lignes délimitées en tableau HTML

Collez des lignes CSV, TSV ou délimitées, choisissez le caractère qui sépare les colonnes et la page renvoie le balisage du tableau : un <tr> par ligne et un <td> par champ, prêt à coller dans une page, un modèle d’e-mail ou un README.

Les lignes sont lues dans le navigateur par un analyseur qui comprend les guillemets : un champ entre guillemets peut contenir le séparateur, "" vaut un guillemet littéral, et un saut de ligne dans un champ entre guillemets reste dans cette cellule. Rien n’est envoyé et la page continue de fonctionner hors ligne une fois chargée.

  1. Collez les lignes dans la zone de texte, dont l’indication est « Collez du CSV ou du texte délimité ». Les textes séparés par virgule, tabulation, barre verticale ou espace sont acceptés, avec ou sans champs entre guillemets.
  2. Choisissez le séparateur : virgule, TAB, barre verticale ou espace simple, ou saisissez le vôtre dans le champ Personnalisé. Ce qui y est saisi prime sur les boutons radio.
  3. Cliquez sur Convertir. La zone de résultat se remplit avec le balisage <table> et une ligne sous les boutons indique le nombre de lignes et de colonnes lues.
  4. Cliquez sur Copier pour récupérer le balisage, ou sur Effacer pour vider la zone avant le collage suivant.

Comment les lignes sont lues

Champs entre guillemets et sauts de ligne

Un champ entre guillemets peut contenir le séparateur lui-même : dans "ac, abs, moon" la virgule fait partie du texte, la ligne conserve donc quatre champs au lieu de découper la valeur citée en trois. Dans un champ entre guillemets, "" représente un guillemet littéral ; c’est ainsi qu’une valeur comme "Venture ""Extended Edition""" reste intacte.

Un saut de ligne dans un champ entre guillemets reste dans cette cellule, et un saut à la fin du texte collé n’ajoute pas de ligne vide. Si la zone est vide, la page le signale au lieu de renvoyer un tableau vide.

Ce que contient le balisage généré

La sortie est un fragment <table> nu : un <tr> par ligne, un <td> par champ, sans attribut, sans CSS, sans <thead> et sans ligne d’en-tête — la première ligne est une ligne de <td> comme les autres.

Le texte des cellules est échappé pour HTML : & devient &amp;, < devient &lt; et > devient &gt;. Une cellule contenant du balisage ou une balise script reste donc du texte visible dans le tableau généré au lieu de faire partie de la page qui l’intègre.

Séparateurs, limites et gros collages

Le séparateur est comparé comme une chaîne littérale, pas comme une expression régulière : un séparateur personnalisé tel que . * ( ou :: est donc traité comme un texte ordinaire. La page ne devine pas le séparateur : si le nombre de colonnes affiché ne correspond pas, c’est la première chose à vérifier.

L’entrée est uniquement du texte collé : il n’y a pas de sélecteur de fichier .csv ou .xlsx, une feuille de calcul doit donc être exportée ou copiée depuis son application. La conversion se fait dans le navigateur et quelques milliers de lignes sont instantanées ; au-delà de 100 000 caractères, le résultat s’affiche sans coloration pour ne pas bloquer l’onglet.

Outils récents :