Cookies voor statistiek en advertenties
We gebruiken cookies voor statistiek en voor advertenties, allebei naar Google. Weigeren verandert niets aan wat je te zien krijgt.Lees de privacypagina
Hier zet je TSV naar CSV om, gratis en zonder account: sleep het bestand hierboven erin en binnen een paar seconden staat het resultaat klaar om te downloaden. De omzetting gebeurt binnen je eigen browser, dus het bestand wordt nooit geüpload. Het werkt hetzelfde op Windows, macOS en Linux als op iPhone en Android, en het blijft werken als je de verbinding verbreekt.
Tot 100 bestanden tegelijk. Verschillende formaten door elkaar is prima.
Ze worden een voor een omgezet en samen in één ZIP gedownload.
TSV naar CSV
Veel systemen exporteren tab-gescheiden bestanden en bijna niets accepteert ze. Analyseconsoles, advertentieplatforms, laboratoriuminstrumenten en databaseclients grijpen naar de tab omdat hun data vol kommas zit; het CRM, de mailingtool en het boekhoudpakket aan de andere kant hebben een veld met “CSV uploaden” en menen dat letterlijk.
Hernoemen is dertig seconden waard, want een minderheid van importschermen ruikt aan het scheidingsteken in plaats van de extensie te vertrouwen — en Excel is er zo een. De meeste niet: ze splitsen elke regel op kommas, vinden één kolom waar er twaalf verwacht werden, en weigeren het bestand of importeren elke rij in het eerste veld.
De omzetting is geen zoek-en-vervang van tabs door kommas, en dat mag ook niet. Een veld met "Amsterdam, Nederland" bevat al het teken dat zo het scheidingsteken wordt, dus het wordt bij het wegschrijven tussen dubbele aanhalingstekens gezet, en een aanhalingsteken binnen zo’n veld wordt verdubbeld.
Dat is correct en universeel, en het schrikt mensen die het resultaat voor het eerst in een teksteditor openen nog steeds af. Alleen de velden die het nodig hebben, worden aangehaald; de rest wordt kaal geschreven, dus een bestand waar een handvol adreskolommen aangehaald zijn en de rest niet, is precies wat een correct gevormde CSV eruitziet.
De ene zwakte van een tab-gescheiden bestand is dat een tab af en toe binnen een waarde belandt — geplakt, per ongeluk getypt, meegekomen uit een ander systeem — en het formaat heeft geen natuurlijke manier om dat uit te drukken. Downstreamtools die tabs tellen, zien dan vanaf die rij één kolom extra.
Omzetten naar CSV lost dat volledig op, want de tab is geen scheidingsteken meer. Hij wordt gewoon in het veld geschreven zonder aanhaling en zonder onduidelijkheid. Produceerde een tab-gescheiden export scheve rijen in een tool, dan is deze omzetting een legitieme oplossing en geen omweg.
Waarden die er numeriek uitzien, worden onderweg als getal gelezen, wat goed is voor hoeveelheden en prijzen en verkeerd voor codes. Een lidnummer 00123 komt in de CSV aan als 123, een telefoonnummer zonder spaties wordt een groot geheel getal.
De test is of het optellen van twee waarden in de kolom iets zou betekenen. Postcodes, artikelnummers, telefoonnummers en referenties falen die test en horen als tekst behandeld te worden. Kijk naar die kolom in het omgezette bestand voordat je uploadt.
De uitvoer is UTF-8 zonder byte-order mark. Dat is de juiste keuze voor scripts, importtools en versiebeheer, en de verkeerde voor dubbelklikken op Windows: zonder markering aan het begin valt Excel terug op de systeemcodetabel en verschijnt Müller als Müller.
De oplossing is importeren in plaats van openen — Gegevens, dan Gegevens ophalen, dan Uit tekst/CSV, en 65001: Unicode (UTF-8) kiezen als oorsprong. Gaat het echt om een rekenblad in plaats van een importscherm, dan omzeilt TSV naar XLSX de hele kwestie.
Een hier geproduceerde CSV gebruikt de komma, wat de internationale conventie is en wat vrijwel elk importscherm ermee bedoelt. Excel geïnstalleerd in een landinstelling waar de komma het decimaalteken is — Nederland, Duitsland, Frankrijk, Spanje en veel van de rest van Europa — splitst niet bij dubbelklikken, want het zoekt puntkomma’s.
Dat is een weergaveprobleem in één programma en geen fout in het bestand, en dezelfde importroute lost het op door je het scheidingsteken zelf te laten kiezen. Gaat het bestand naar collega’s op zo’n Excel in plaats van naar een systeem, dan is TSV naar XLSX opnieuw de kortere weg.
De kolomnamen komen precies over zoals de TSV ze schreef, inclusief spaties, eenheden of symbolen. Importschermen zijn doorgaans veel kieskeuriger dan dat: ze matchen op exacte namen, op een vaste volgorde, of ze laten je kolom voor kolom handmatig koppelen.
De koprij aanpassen is makkelijker vóór de omzetting dan erna, wanneer aanhaling kan zijn verschenen. Koppelt de importtool interactief, dan bespaart een goede koprij nog steeds tijd, want het koppelscherm toont de naam en een voorbeeldwaarde.
Elke rij houdt hetzelfde aantal velden, dus een lege waarde blijft een leeg veld in plaats van te verdwijnen, en het bestand blijft rechthoekig. Dat is wat een importtool nodig heeft om de kolommen überhaupt op elkaar te leggen.
Wat een lege waarde betekent, is de beslissing van de importtool, niet van het bestand, en hier gaat een contactupload weleens mis. Veel systemen behandelen een leeg veld bij een update als "zet dit op niets" en wissen dan een telefoonnummer dat gewoon niet in de export stond.
Beide formaten zijn platte tekst, zowel de lezer als de schrijver zijn gewone JavaScript, en de omzetting gebeurt op deze pagina. Geen verzoek draagt het bestand, dus een contactlijst of klantexport wordt niet naar een derde partij gekopieerd op weg naar degene die je zelf koos.
Er wordt geen rijaantal gecontroleerd en er is geen account nodig; het plafond is 100 MB, honderd bestanden per keer. Een tabel van tientallen megabytes zet zonder omhaal om, en eentje die 100 MB haalt, is vrijwel zeker ook te groot voor het importscherm.
Gaat de bestemming een shellpipeline, een R-script of iets anders dat op een teken splitst zonder aanhalingstekens te parsen, dan is het tab-gescheiden origineel het betere bestand en is de omzetting een stap terug. Aanhaling is precies de complicatie die zulke tools niet aankunnen.
Bewaar de TSV naast de CSV wanneer de export een brondocument is. De omzetting leest waarden als getal waar ze er numeriek uitzien, dus de CSV is geen verliesloze kopie van het origineel, en het onaangeroerde exportbestand achter de hand hebben heeft menige middag gered.
| TSV | CSV | |
|---|---|---|
| Volledige naam | Tab-Separated Values | Comma-Separated Values |
| Bestandsextensie | .tsv, .tab | .csv |
| Mediatype | text/tab-separated-values | text/csv |
| Voor het eerst gepubliceerd | 1993 | 1972 |
| Specificatie | IANA text/tab-separated-values | RFC 4180 |
| Licentie | Open standaard | Open standaard |
| Stand van zaken | Actueel | Actueel |
| Opent in een browser | Geen browser | Geen browser |
| In plaats daarvan overwogen | JSON | XLSX, JSON, Parquet |
Er gaat niets verloren. TSV en CSV bewaren hun inhoud verliesvrij: de omzetting wisselt de verpakking, niet de kwaliteit, en je kunt haar herhalen zonder dat schade zich opstapelt.
Microsoft Excel, LibreOffice Calc en pandas lezen zowel TSV als CSV, dus je kunt het resultaat naast het origineel leggen zonder een tweede programma.
TSV verscheen in 1993. Het is vastgelegd in IANA text/tab-separated-values, en dat is de moeite waard als het bestand het gereedschap moet overleven dat het schreef.
CSV stamt uit 1972, vastgelegd in RFC 4180. Microsoft Excel, LibreOffice Calc en pandas lezen het formaat.
CSV verscheen in 1972 en TSV in 1993. Het oudste is doorgaans het veiligste bestand om te overhandigen; het nieuwste doet hetzelfde werk met minder bytes.
Nee. Deze omzetting gebeurt volledig in je browser, dus het bestand verlaat je apparaat niet. Je kunt het zelf nagaan: open het netwerktabblad van de ontwikkelaarshulpmiddelen en zet iets om. Je ziet de pagina zelf en de verzoeken voor statistiek en advertenties waarmee deze dienst betaald wordt, en geen enkel verzoek dat je bestand meeneemt.
Ja. Geen account, geen watermerk en geen dagtegoed dat opraakt: het draait op je eigen machine, dus je mag zo vaak terugkomen als je wilt. De browser verwerkt bestanden tot 100 MB, 100 tegelijk.
Nee. CSV bewaart dezelfde inhoud zonder iets weg te gooien: het resultaat is in kwaliteit identiek aan het origineel.
Er gaat niets verloren. TSV en CSV bewaren hun inhoud verliesvrij: de omzetting wisselt de verpakking, niet de kwaliteit, en je kunt haar herhalen zonder dat schade zich opstapelt.