Skip to content
feedlab Request early access

Free tool

Product feed validator

This validator reads a CSV, TSV or XML product feed and checks it against one channel's requirements: which attributes are missing, which values break a format rule, and which ids are duplicated. It parses the file in your browser.

Paste a feed or choose a file, pick the channel you are submitting to, and the report lists what is missing and what is malformed, grouped by attribute rather than by row so a problem affecting a thousand products reads as one finding.

Runs entirely in your browser. Nothing you paste is uploaded or stored.

Validate a feed

Format
Products
Errors
Warnings

Nothing to report against the attributes documented here. That is not a guarantee of approval: channels check things a file cannot show, including whether your landing page agrees with the feed.

Errors

These stop items being accepted.

Warnings

Attributes this channel requires in some cases, and which are absent here.

Frequently asked questions

What does this validator check?

Whether the attributes the channel requires are present, whether values match their format rules for prices, URLs, availability, condition and GTINs, and whether any id appears twice. The requirements come from this knowledge base, so they match the attribute pages exactly.

Does a clean report mean my feed will be approved?

No. A file cannot show whether your landing page agrees with the feed, whether your images can be fetched, or whether a product breaches policy. It means the file itself is well formed against the attributes documented here.

Which formats can it read?

Comma-delimited text, tab-delimited text, and XML in either RSS 2.0 or Atom 1.0. The format is detected automatically, and namespaced elements such as g:id are read correctly.

How large a file can I check?

Up to 10 MB of text, which is roughly forty thousand products. The parsing happens on your own machine rather than a server, so the limit is there to keep the page responsive. A few hundred rows show the same problems as the whole catalogue.

Can I check a compressed or Parquet feed?

Not directly, because this reads plain text. Expand a .gz or .zip first and check the file inside, which is the file the channel reads too. Parquet is binary and has no text form to check here.

Is my feed uploaded anywhere?

No. The file is read and parsed in your browser, so it never leaves your machine. That is why you can paste a real catalogue into it.

Why does it report a byte order mark?

Because a BOM at the start of a file becomes part of the first column name, so a channel reads the first attribute as something other than id. It is invisible in an editor, which is why it is worth calling out.

Attributes this relates to

Errors this helps you avoid

Related concepts

Primary sources

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