# Text (TSV)

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.

- **Canonical URL:** https://www.feedlab.io/knowledge/formats/text-tsv
- **Last reviewed:** 18 September 2026
- **Source:** feedlab knowledge base
- **Licence:** free to quote and cite with attribution to feedlab


## Specification

| Property | Value |
| --- | --- |
| Format | Tab-delimited text feed |
| 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. |


### File extensions

- `.tsv`
- `.txt`



### Example

```
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 | 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 this format

### 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.




## Primary sources

- [Microsoft: Feed file guidelines](https://help.ads.microsoft.com/#apex/ads/en/56895/1)
- [Google: Feed file formats](https://support.google.com/merchants/answer/7052112)



