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
- 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.
- 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.
- 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.
- 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
- Google Merchant Center product data specification - checked 19 Sep 2026
- Google Merchant Center - gtin attribute
- GS1 - How to calculate a check digit
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.