![]() | |
Filename extension | .tsv ,.tab [1] |
---|---|
Internet media type | text/tab-separated-values |
Uniform Type Identifier (UTI) | public.tab-separated-values-text[2] |
UTI conformation | public.delimited-values-text[2] |
Developed by | University of Minnesota InternetGopher Team Internet Assigned Numbers Authority |
Initial release | c. June 1993; 31 years ago (1993-06) |
Type of format | Delimiter-separated values format |
Container for | database information organized as field separated lists |
Standard | IANAMIME type |
Tab-separated values (TSV) is a simple,text-basedfile format for storingtabular data.[3]Records are separated bynewlines, and values within a record are separated bytab characters. The TSV format is thus adelimiter-separated values format, similar tocomma-separated values.
TSV is a simple file format that is widely supported, so it is often used indata exchange to move tabular data between different computer programs that support the format. For example, a TSV file might be used to transfer information from adatabase to aspreadsheet.
The head of theIris flower data set can be stored as a TSV using the followingplain text (note that the HTML rendering may convert tabs to spaces):
Sepal length Sepal width Petal length Petal width Species5.1 3.5 1.4 0.2 I. setosa4.9 3.0 1.4 0.2 I. setosa4.7 3.2 1.3 0.2 I. setosa4.6 3.1 1.5 0.2 I. setosa5.0 3.6 1.4 0.2 I. setosa
The TSV plain text above corresponds to the following tabular data:
Sepal length | Sepal width | Petal length | Petal width | Species |
---|---|---|---|---|
5.1 | 3.5 | 1.4 | 0.2 | I. setosa |
4.9 | 3.0 | 1.4 | 0.2 | I. setosa |
4.7 | 3.2 | 1.3 | 0.2 | I. setosa |
4.6 | 3.1 | 1.5 | 0.2 | I. setosa |
5.0 | 3.6 | 1.4 | 0.2 | I. setosa |
TheIANAmedia type standard for TSV achieves simplicity by simply disallowing tabs within fields.[4]
Since the values in the TSV format cannot contain literal tabs ornewline characters, a convention is necessary for lossless conversion of text values with these characters. A common convention is to perform the followingescapes:[5][6]
escape sequence | meaning |
---|---|
\n | line feed |
\t | tab |
\r | carriage return |
\\ | backslash |
Another common convention is to use the CSV convention fromRFC 4180 and enclose values containing tabs or newlines in double quotes. This can lead to ambiguities.[7][8]
Records are typically separated by a line feed, as is typical for Unix platforms, or a carriage return and line feed, as is typical for Microsoft platforms. Some programs may expect the latter. The de-facto specification[9] specifies that records are separated by anEOL, but does not specify any specificnewline.