Novus Stream Solutions
All tutorials

Novus Convert

Convert TSV & TXT: pick the right delimiter and encoding

Choose between CSV, TSV, and TXT when a tool demands a specific delimiter, dodge the comma and tab collisions that break rows, keep text encoding and the byte-order mark clean, and prove the output parses before you trust it in Novus Convert.

Novus Convert delimited text tutorial comparing CSV, TSV, and TXT delimiters with encoding and byte-order mark checks in the browser

CSV, TSV, and TXT are not three different file formats so much as three answers to one question: which character separates one field from the next. CSV uses a comma, TSV uses a tab, and TXT is the catch-all for plain text that a tool will parse on its own terms. When an importer refuses your file, the fix is almost never a fancier format — it is matching the delimiter and the encoding the importer expects, exactly.

Novus Convert runs every JSON, CSV, TSV, and TXT route entirely in browser memory: the parser reads the file on your device, the writer emits the new delimiter, and the result is checked before any download appears. This guide stays on the two decisions that quietly decide whether moving data between tools works — the delimiter and the text encoding — plus the byte-order mark that trips people up, the 25 MB text ceiling, and the validation gate that proves the output parses before you rely on it downstream.

Contents
  1. 1.1. See CSV, TSV, and TXT as delimiter choices, not a hierarchy
  2. 2.2. Let the destination tool name the delimiter
  3. 3.3. Stop delimiters from colliding with your data
  4. 4.4. Keep the encoding clean and watch the byte-order mark
  5. 5.5. Respect the 25 MB limit and remember inputs load as data
  6. 6.6. Prove the output parses at the validation gate

Two ways to finish

Match a strict importer

A tool demands one delimiter — pick the CSV, TSV, or TXT route that produces exactly what it will accept.

Escape a delimiter collision

Your values contain commas or tabs — switch to a separator the data does not use so columns stop breaking.

  1. 1

    1. See CSV, TSV, and TXT as delimiter choices, not a hierarchy

    The active structured-text routes are JSON, CSV, TSV, and TXT, and each row in the queue can target the others. The tabular three differ in exactly one way that matters: the separator. CSV places a comma between fields, TSV places a tab, and TXT is the loosest label — plain text that carries whatever structure the receiving tool agrees to read, whether that is a fixed delimiter, one value per line, or a log the tool parses with its own rules.

    Because the difference is a single character, there is no better format among the three in the abstract. The right choice is entirely a function of what will open the file next. A data warehouse loader might demand tab-separated input, a legacy billing system might only accept comma-separated values, and a script might want a plain newline-delimited list. Convert to the one the destination names, not the one you happen to use most.

    None of these conversions are a rename. When you send a CSV to the TSV route, Novus Convert parses the fields out of the source and re-emits them separated by tabs, which is why a genuinely broken source cannot slip through as if the extension alone made it valid.

    • CSV = comma-separated, TSV = tab-separated, TXT = plain text the receiving tool parses itself.
    • No format is best in the abstract — the destination decides.
    • Converting re-emits parsed fields; it is not a file rename.
  2. 2

    2. Let the destination tool name the delimiter

    When a tool insists on a particular delimiter, read its import documentation before converting anything. Importers are usually explicit: they say comma-separated, tab-separated, or a named delimiter, and they often state the encoding and whether a header row is expected. Match that specification exactly rather than guessing, because a near miss — the right columns with the wrong separator — fails as completely as garbage.

    The most common rescue is switching from CSV to TSV or back. If an importer swallows a comma-separated file but scatters every value into a single column, it was expecting a different separator. Producing the delimiter it actually wants is a one-step conversion in Novus Convert, and it beats fighting the importer with settings it does not expose.

    When a tool is vague and only asks for a text file, TXT is the safe target for a plain, one-value-per-line list or a simple export the tool will parse itself. Reserve CSV and TSV for genuinely tabular data with a consistent column count, since that is where a strict delimiter earns its keep.

    • Read the import spec: delimiter, encoding, header row.
    • A one-column import usually means the wrong separator — switch CSV and TSV.
    • Use TXT for plain lists a tool parses on its own.
  3. 3

    3. Stop delimiters from colliding with your data

    Every delimiter becomes a hazard the moment your values contain that same character. A comma-separated file breaks wherever a value holds a comma — street addresses, surname-first name orderings, product descriptions, decimal numbers in comma-decimal locales. Well-formed CSV protects those values by wrapping them in quotes, and the parser honors quoting and even line breaks inside a quoted field, but plenty of downstream tools handle quoting imperfectly and split the row anyway.

    This is the strongest practical reason to reach for TSV. A literal tab almost never appears inside a real-world value, so tab separation sidesteps the entire collision problem without relying on quoting that a fragile importer might mishandle. If your data is dense with commas and the destination accepts tabs, convert to TSV and remove the risk at the source.

    Tabs are not immune. A value copied out of a spreadsheet cell can carry an embedded tab, and then TSV has the same problem CSV has with commas. The rule underneath both cases is identical: choose the separator your data does not contain, and when in doubt, open a few suspect rows in a plain-text editor to see exactly where the fields break.

    • Commas inside values break naive CSV readers even when quoting is correct.
    • TSV avoids the problem because real values rarely contain tabs.
    • Pick the delimiter your data does not use anywhere.
  4. 4

    4. Keep the encoding clean and watch the byte-order mark

    Delimiters decide where fields break; encoding decides whether the characters inside them survive. Novus Convert writes UTF-8, the modern universal default, so accented names, curly quotes, and non-Latin scripts come through intact when the source was already clean. Trouble almost always enters upstream, when a legacy exporter saved the source in a regional encoding, or downstream, when an app opens UTF-8 as something else and turns every accent into mojibake.

    The subtle one is the byte-order mark, or BOM: a few invisible bytes some tools place at the very start of a UTF-8 file. You cannot see it, but it is really there, and tools disagree about it. Some spreadsheet apps rely on a BOM to recognize a file as UTF-8 when you double-click it; other parsers and importers read those bytes as ordinary content, so the first header becomes an unexpected garbled token and the very first column silently fails to match. One invisible character at byte zero is enough to break a strict import.

    Handle the BOM by being deliberate rather than lucky. If an importer complains that the first column or header is wrong while the rest looks fine, suspect a BOM and inspect the file start in an editor that can show raw bytes. When a destination lets you state the encoding — a From Text or From CSV import dialog rather than a double-click — use it, because naming UTF-8 explicitly removes both the BOM guesswork and the mojibake risk in one move.

    • Outputs are UTF-8, the safest modern default.
    • A BOM is invisible but real; some tools need it, others read it as data.
    • A wrong first header or first column often means a stray BOM.
    • Prefer an explicit import dialog that lets you state the encoding.
  5. 5

    5. Respect the 25 MB limit and remember inputs load as data

    Text and structured-data routes accept files up to 25 MB, which is roughly hundreds of thousands of rows for a typical export. If a file crosses the line, trim it at the source — filter the export to the columns, date range, or records you actually need — instead of hand-splitting a large file and hoping the halves stay consistent. A clean smaller export is always easier to trust than a manually chopped one.

    Every file loads by its content, not its name. Novus Convert inspects what is actually in the file rather than believing the extension, which matters most with delimited text because it is mislabeled constantly: an export named .csv that is really tab-separated, or a .txt that turns malformed part way down. Inputs are parsed as data, never merely renamed, so a broken source is caught up front.

    That parsing discipline is a safety feature. When content is malformed, the conversion fails without altering the original file, so a truncated or corrupt export costs you nothing but a retry. Treat a failure here as information about the source: open it in a text editor, find the bad row or the wrong delimiter, fix it upstream, and convert the corrected file.

    • Text and structured routes cap at 25 MB — trim oversized exports at the source.
    • Content, not the extension, determines how a file is read.
    • Malformed input fails safely and leaves the original untouched.
  6. 6

    6. Prove the output parses at the validation gate

    A structured-text row offers its download only after the output passes a parse check, so a result that reaches your downloads folder is structurally well-formed rather than merely carrying the right extension. This gate is the reason a malformed conversion fails in front of you instead of exploding inside some importer next week. A file that fails here is telling you the source, or the chosen delimiter, needs another look.

    Validation proves the file is well-formed; only the destination proves it is correct. Do the check no gate can do for you and open the output where it will actually live. Load the delimited file into the spreadsheet or importer and confirm the column count, the header row, and a few values deep in the file rather than only the first line. If the columns line up and the accented characters read correctly, the delimiter and the encoding are both right.

    Everything lives in temporary browser memory, so save what you keep before closing the tab — result URLs are revoked when a job is removed or the page closes. Structured text carries a generous allowance of 50 downloads per local calendar day, with the remaining count shown beside the download control, so re-exporting after a fix or running a verification pass costs you nothing.

    • Download unlocks only after the output parses cleanly.
    • Open the file in its real destination and check rows deep in the file.
    • Results are temporary — save before closing; 50 structured-text downloads per day.

Match the delimiter and the encoding to the destination

A delimited file works when the separator and the text encoding are both what the receiving tool expects — nothing more, nothing less. Convert to the delimiter the importer names, switch to TSV when your values are full of commas, keep everything UTF-8, and stay alert for a stray byte-order mark that breaks the first column. Then open the output in the tool that will consume it and read a few rows from the bottom, not just the top, before you rely on it. Keep the untouched source until the destination has accepted the result.

Frequently asked questions

Quick answers to common questions about this topic.

Should I use CSV or TSV?

Use whichever delimiter the destination tool asks for. When you have a choice, prefer TSV if your values contain commas — addresses, names, descriptions — because real data almost never contains tabs, so tab separation avoids the collisions that break comma-separated files. Reach for CSV when the importer specifically expects commas.

What is a byte-order mark and why does it break my import?

A byte-order mark, or BOM, is a few invisible bytes some tools add at the very start of a UTF-8 file. Certain apps rely on it to detect UTF-8, but stricter parsers read those bytes as part of the first field, so the first header or column silently fails to match. If everything looks right except the first column, suspect a BOM and open the file start in an editor that shows raw bytes.

How large a text file can Novus Convert handle?

Structured-text routes — JSON, CSV, TSV, and TXT — accept files up to 25 MB, which is roughly hundreds of thousands of rows for a typical export. If a file is larger, filter or trim it at the source rather than splitting it by hand, then convert the smaller, consistent export.

What happens if my delimited file is malformed?

Inputs are parsed as data, not renamed, so a malformed file fails at the validation gate without changing the original. The download only appears after the output parses cleanly. Treat a failure as a clue about the source: open it in a text editor, find the bad row or wrong delimiter, fix it upstream, and convert again.