SEO, GEO & Ecommerce Tools

Product Feed Validator

Validate a product feed's required fields, GTIN check digits, price and currency formats, availability values and variant consistency against a selectable target profile.

  • Issue table by severity
  • Row-level errors CSV
  • Field coverage
Runs in your browser

Everything you paste, type or drop is processed in this browser tab. It is not uploaded, logged, stored or sent to analytics.

Feed validator workspace

1 Your feed

Examples:
Drop a CSV, TSV or XML feed here, or press to choose one (up to 20 MB)

Used only to suggest fixes for prices written without a currency.

2 Validation report

Paste or drop a feed, then validate it.

What the Product Feed Validator does

This validator reads a product feed - CSV, TSV, or RSS 2.0 / Atom XML with the Google g: namespace - and checks every product for missing required attributes, invalid GTIN check digits, badly formatted prices, unknown availability and condition values, broken URLs, duplicate ids and inconsistent variants. It reports each issue by row and attribute, with its severity and the rule it comes from.

The feed is parsed in your browser and never uploaded. Rules follow the Google Merchant Center product data specification, summarised in a dated file that links to each attribute's help page; checks that go beyond the specification are labelled as A2Z conventions.

How to use it

  1. Paste the feed, or drop the file on the drop zone (up to 20 MB and 50,000 products). The format is detected: a first line starting with < is read as XML, otherwise tabs, semicolons or commas are detected from the header row.
  2. Choose the target profile. Google Merchant Center requires id, title, description, link, image_link, price and availability for every product; the minimal profile only needs id, title, link and price, for generic comparison or affiliate feeds.
  3. Optionally choose the currency for bare prices, so that a price written as 12.99 can be given a suggested fix. Without it such prices are only reported.
  4. Select Validate feed. Work through the errors first - they are what stops a product being shown - then the warnings. Download the issues as CSV to share them with whoever maintains the feed.

Reading the results

Errors break a documented requirement: a missing required attribute, a price that is not a number followed by an ISO 4217 currency code, an availability value that is not in_stock, out_of_stock, preorder or backorder, a GTIN whose check digit is wrong, or an id used twice.

Warnings are likely problems that need judgement: a missing brand, no product identifier at all, a title in capitals or with promotional text, a used item without a condition, a sale price that is not lower than the price.

Field coverage shows the share of products with a value in each column. A required attribute below 100% means some products cannot be approved, whatever the rest of the feed looks like.

Worked example: the four-row CSV example

The example has two variants of a T-shirt, a mug and an espresso machine. The first T-shirt is clean. The second writes its price as 24,00 USD with a comma (an error: Merchant Center expects 24.00 USD), its availability as In Stock (should be in_stock), and has GTIN 4006381333932 - the check digit for 400638133393 is 1, so it fails.

The mug has a title in capitals with FREE SHIPPING in it (two warnings), an SVG image (not a format Merchant Center lists), a price of $12 without a currency code, preorder without an availability_date and no brand. The espresso machine reuses the mug's id, its link has no https://, and its title says Refurbished but there is no condition attribute, which Merchant Center requires for refurbished goods.

Four of the fixes are deterministic - the comma price, In Stock, New and $12 once a currency is chosen - and the optimizer can apply them. The wrong GTIN, the duplicate id and the missing brand need a person.

How the GTIN check works

A GTIN (UPC, EAN, JAN, ISBN-13 or ITF-14) has 8, 12, 13 or 14 digits, and the last digit is a checksum of the others. Starting from the digit next to the check digit and moving left, digits are multiplied alternately by 3 and 1 and added up; the check digit is whatever brings the total up to the next multiple of 10. For 400638133393 the weighted sum is 89, so the check digit is 1.

The validator also rejects prefixes Google does not accept: 2, 02 and 04 (restricted-circulation numbers used for in-store codes) and 05, 98 and 99 (coupons). Spaces and dashes are ignored, as Google ignores them. A GTIN that passes is well-formed, not necessarily the right GTIN for your product - only the manufacturer's data can confirm that.

Limitations: what the result does not prove

  • It checks the feed text, not the landing pages or images. Price and availability mismatches with the website, image quality, watermarks and policy violations are checked by Google after submission.
  • Country-specific requirements such as shipping, tax, unit pricing and energy labels, and category attributes such as apparel size and gender, are only partly covered. Check the specification for the countries you target.
  • The XML reader handles flat product feeds (one element per attribute, plus g:shipping and g:tax). Unusual nesting or custom namespaces may be read incompletely; a parsing note says when.
  • A clean report does not mean products will be approved or shown.

Privacy: where your data goes

Everything you paste, type or drop is processed in this browser tab. It is not uploaded, logged, stored or sent to analytics. Session recording and tag-manager scripts are switched off on this page.

Standards and sources

Frequently asked questions

What attributes are required in a Google product feed?

For every product: id, title, description, link, image_link, price and availability. condition is required for used and refurbished items, brand for products with a clearly associated brand, gtin where the manufacturer assigned one, mpn where there is no GTIN, and item_group_id for variants. Shipping is needed in many countries unless it is set in the account.

What is the correct price format for Merchant Center?

A number, a space and the ISO 4217 currency code: 15.00 USD, or <g:price>15.00 USD</g:price> in XML. Currency symbols, missing codes and comma decimals such as 15,00 EUR are reported as errors; the unambiguous ones get a suggested fix.

How do I know if a GTIN is valid?

Check its length (8, 12, 13 or 14 digits) and its check digit, which this tool does using the GS1 weighting of 3 and 1. It also flags restricted and coupon prefixes. A passing GTIN is well-formed; whether it belongs to your product is a matter for the manufacturer's data.

Can I validate an XML feed with the g: namespace?

Yes. RSS 2.0 feeds with <item> elements and Atom feeds with <entry> elements are read, including g:-prefixed attributes, CDATA sections and nested g:shipping values. DOCTYPE entity declarations are ignored rather than expanded.

Why does my feed show errors when Merchant Center accepted it?

Some checks are stricter conventions, labelled as such, and Merchant Center sometimes accepts values it later disapproves or limits. It also works the other way: Google checks landing pages and images, which this tool cannot see.

Is my product feed uploaded anywhere?

No. The file is read and checked in your browser. The page loads only a static summary of the specification from this site, and no feed content is sent with that request.

Last reviewed by the A2Z.Tools team against the sources listed above.

Rate this tool

Was this tool useful? Your feedback helps us improve it.

No ratings yet — be the first to rate this tool.
Your rating (required)
0 / 2000

Please do not include passwords, payment details or other sensitive information.

Your feedback is sent privately to the A2Z.Tools team and will not be posted publicly.