Convert Arrow to TSV Online
Convert Arrow files to TSV format directly in your browser. No upload required — your data never leaves your device.
About converting Arrow to TSV
Feather became popular as a fast way to pass data frames between Python and R. When a collaborator uses neither, or the next step is a shell script, tab-separated text is the lowest common denominator. Arrow to TSV is common in scientific and bioinformatics work, where results computed in pyarrow, Polars or R feed tools that read tab-delimited tables: R read.delim, Galaxy workflows, awk, cut and Unix join.
Tabs also avoid the quoting that CSV forces on free-text columns such as gene descriptions, addresses or comments, because those rarely contain a tab. The first line holds the Arrow field names. When a value does contain a tab, a line break or a double quote, it is wrapped in double quotes CSV-style rather than escaped with a backslash.
Numeric detail is the main thing to watch. Arrow files from NumPy-based code often use float32, and those values are printed with the extra digits of their 64-bit form. Columns with NaN, which Polars and NumPy treat as a number rather than a missing value, contain the text NaN rather than an empty field. R reads that back as NaN, and most other tools read it as text.
Worked example
A small sample file, converted with the default settings.
Input (Arrow)
Arrow IPC file (binary, columnar) — shown as a table with its schema
| sensor_id | site | read_at | temp_c | ok |
|---|---|---|---|---|
| 101 | Dock A | 2026-03-02 09:15:00.123 | 4.25 | true |
| 102 | Dock A | 2026-03-02 09:15:00.125 | 4.5 | true |
| 205 | Cold Room 2 | 2026-03-02 09:15:01 | -18.75 | true |
| 311 | Loading Bay | 2026-03-02 09:15:01.004 | NULL | false |
Schema: sensor_id INTEGER, site VARCHAR, read_at TIMESTAMP_NS, temp_c DOUBLE, ok BOOLEAN
Output (TSV)
sensor_id site read_at temp_c ok
101 Dock A 2026-03-02 09:15:00.123 4.25 true
102 Dock A 2026-03-02 09:15:00.125 4.5 true
205 Cold Room 2 2026-03-02 09:15:01 -18.75 true
311 Loading Bay 2026-03-02 09:15:01.004 falseWhat changes when you convert Arrow to TSV
- Each Arrow field becomes one tab-separated column, headed by its name.
- A float32 value stored as 0.1 is written as 0.10000000149011612. float64 values print as expected.
- NaN is written as NaN, while a true null becomes an empty field, like temp_c for sensor 311.
- R factors and pandas categories, stored as Arrow dictionaries, are written as their labels. The level order is not recorded.
- Timestamps print as 2026-03-02 09:15:00.123, cut to milliseconds. Nested struct, list and map values are written as compact JSON text in a single field.
Your file is processed locally in your browser and is never uploaded. The free limit is 50 MB per file; larger files work if your device has the memory for them.
Frequently Asked Questions
How do I read the TSV in R?
readr::read_tsv("file.tsv") handles the header and any quoted fields. With base R use read.delim("file.tsv", na.strings = "") so empty fields become NA rather than empty strings.
Will my R factor levels survive the round trip?
The labels do, the level order does not. TSV has no way to record it. After reading, set the levels again with factor(x, levels = c(...)).
Why does 0.1 show up as 0.10000000149011612?
The column is float32 in the Arrow file. 0.1 cannot be stored exactly in 32 bits, and printing the value at 64-bit precision shows the difference. Cast the column to DOUBLE and round it in the SQL Query tool if you want short numbers.
What is TSV format?
TSV (Tab-Separated Values) is similar to CSV but uses tab characters as delimiters — useful when data values contain commas.
Related Tools
Convert TSV to Arrow Online
Convert TSV files to Arrow format directly in your browser. No upload required — your data never leaves your device.
TSV Viewer Online
View and inspect TSV files directly in your browser. Browse rows, check column names and data types — no upload required, your data stays on your device.
Arrow Viewer Online
View and inspect Arrow files directly in your browser. Browse rows, check column names and data types — no upload required, your data stays on your device.
Convert Arrow to CSV Online
Convert Arrow files to CSV format directly in your browser. No upload required — your data never leaves your device.
Convert Arrow to Parquet Online
Convert Arrow files to Parquet format directly in your browser. No upload required — your data never leaves your device.
Convert Arrow to Excel Online
Convert Arrow files to Excel format directly in your browser. No upload required — your data never leaves your device.
Convert Arrow to JSON Online
Convert Arrow files to JSON format directly in your browser. No upload required — your data never leaves your device.