Skip to content
feedlab Request early access

Feed format

Text (TSV)

Tab-delimited text feed

A TSV feed is the same structure as a CSV with tabs separating the fields instead of commas. Because a tab almost never appears inside product data, it needs far less quoting than a CSV, which makes it the more robust of the two delimited formats and the only one Microsoft Advertising accepts.

Specification

File extension
.tsv .txt
Content type
text/tab-separated-values; charset=utf-8
Compression
Gzip is accepted by most channels and required by OpenAI, which takes .tsv.gz.
One product is
One product per line, with a header row naming the attributes. Fields are separated by a single tab character, and consecutive tabs represent an empty value.
Escaping
Strip tabs and line breaks from every value rather than trying to quote them, because tab-delimited parsers vary in whether they honour quoting at all. Encode as UTF-8 without a byte order mark.

A valid tab-delimited text feed

Two products, every required attribute, nothing omitted for brevity. Copy it and replace the values.

id	title	description	link	image_link	availability	price	brand	gtin	condition	item_group_id
SHIRT-BLK-M	Northbound Oxford Shirt, Black, Medium	A long-sleeved Oxford shirt in 100% brushed cotton.	https://example.com/products/oxford-shirt?variant=101	https://cdn.example.com/oxford-black.jpg	in_stock	49.00 GBP	Northbound	05012345678900	new	SHIRT-OXFORD
SHIRT-BLK-L	Northbound Oxford Shirt, Black, Large	A long-sleeved Oxford shirt in 100% brushed cotton.	https://example.com/products/oxford-shirt?variant=102	https://cdn.example.com/oxford-black.jpg	out_of_stock	49.00 GBP	Northbound	05012345678917	new	SHIRT-OXFORD

Which channels accept it

Channel support for Text (TSV)
Channel Support Notes
Google Shopping Supported Accepted as a text feed alongside comma-delimited files.
Meta Supported Accepted for a catalogue data feed.
Microsoft Advertising Preferred The delimited format Microsoft accepts. A comma-delimited file is not a substitute.
Pinterest Supported Accepted for a scheduled data source.
OpenAI Supported Accepted gzipped as .tsv.gz, though Parquet is preferred.

What breaks a tab-delimited text feed

Quoting is not reliably supported

A CSV parser is expected to honour double quotes. Tab-delimited parsers vary, and some treat a quote as an ordinary character. That makes stripping tabs from values the only dependable approach, rather than quoting the fields that contain them.

Tabs arrive from pasted descriptions

A tab in product data is rare but not impossible: merchants paste from Word, from a supplier spreadsheet, or from a PDF, and a tab comes along. One tab in one description shifts every subsequent column on that row, which reads as a completely different error.

Renaming a CSV does not make it a TSV

Changing the extension or the content type leaves commas separating the fields. Microsoft will reject the file or read the whole row as a single column, and the error message will not mention delimiters.

Editors quietly convert tabs to spaces

Many editors expand a tab to spaces on save. Inspecting a TSV in one of those and saving it, even without meaning to change anything, destroys the delimiters throughout the file.

Frequently asked questions

Is TSV better than CSV for a product feed?

More robust, yes. A tab almost never appears inside product data, so far less escaping is needed, and a stray comma in a description cannot split a row. Support is slightly narrower, but every channel documented here except OpenAI takes it uncompressed.

Can I just rename my CSV to .tsv?

No. The delimiter is in the file, not the extension. The file has to be regenerated with tabs between fields.

How do I handle a tab inside a description?

Strip it at generation time, replacing it with a space. Quoting is unreliable in tab-delimited files because parsers differ on whether they honour it.

Does Microsoft Advertising accept CSV?

Its delimited format is tab-separated. A comma-delimited file has to be regenerated rather than renamed or re-declared with a different content type.

Errors this format causes

Related concepts

Primary sources

Channel specifications change. These are the official documents this page is based on.

Last reviewed View as markdown