Ce que fait cet outil
Les champs sont découpés sur les tabulations et réécrits avec le délimiteur de votre choix, encadrés selon la RFC 4180. Un champ n’est entouré de guillemets que s’il contient le délimiteur, un guillemet double ou un saut de ligne ; un guillemet interne est doublé plutôt qu’échappé par antislash, le CSV n’ayant pas d’échappement par antislash.
Tout le reste est écrit tel quel. Une valeur sans caractère spécial est déjà un champ CSV valide, et l’encadrer quand même ajoute un bruit que certains importateurs reportent dans la valeur importée.
Pourquoi ce sens est le sens sûr
Les deux conversions ne sont pas symétriques. Le CSV sait exprimer n’importe quel caractère qu’un champ peut contenir : une tabulation, une virgule, un guillemet, même un saut de ligne, tout tient dans un champ encadré. Le TSV n’a aucun mécanisme de ce genre — dans son acception courante, une valeur ne peut tout simplement pas contenir de tabulation, puisque la tabulation est le délimiteur.
En allant du TSV vers le CSV, rien n’a donc à être supprimé ni remodelé. Dans l’autre sens, une valeur contenant une tabulation n’a nulle part où loger.
C’est une règle utile quand vous choisissez un format d’échange plutôt que de convertir un fichier qu’on vous a remis : si les données peuvent contenir des tabulations ou des sauts de ligne, le CSV est le format capable de les porter.
Sauts de ligne dans un champ
Un champ TSV en contient rarement, mais si le vôtre le fait, il survit : le champ est encadré et le saut conservé comme partie de la valeur, ce qui est du CSV légal. C’est à l’analyseur consommateur de le lire comme partie du champ et non comme un nouvel enregistrement.
Confidentiel par conception
Tout s’exécute localement dans votre navigateur en JavaScript. Vos données ne sont jamais envoyées sur un serveur, ce qui rend l’outil sûr pour des contenus sensibles, et il fonctionne hors ligne.