Merchlint
Available now
Next, in this order
  • DeutschDE
  • EspañolES
  • FrançaisFR
  • ItalianoIT
  • PortuguêsPT
  • NederlandsNL
  • SvenskaSV
  • TürkçeTR

A language shows up here once its pages are actually written. Nothing on this site is machine-translated.

Install free

Duplicate SKU and GTIN Finder for WooCommerce

A free WordPress plugin that finds products sharing an SKU, and products sharing or missing a GTIN. It reads your catalogue and writes nothing back.

Two products with the same SKU throw off stock levels, integrations and every export file your store produces. Two products with the same GTIN tell a shopping service they are the same item, so one of them quietly disappears from search. A product with no identifier at all usually drops out of the feed altogether.

None of this breaks the store, which is why it goes unnoticed for years. Nothing in the WooCommerce admin points at any of it.

Video, 1:22 — Invalid or duplicated SKU in WooCommerce: find every duplicate

Three checks, and nothing else

CheckWhat counts as a findingHow it works, and how to do it by hand
Two products share the same SKUthe same code on two different productsduplicate SKU
Product with no GTIN, UPC, EAN or ISBNthe identifier field is emptyno GTIN
Two products share the same identifierthe same GTIN on two different productsduplicate GTIN

Three details decide whether a report like this is useful or just long:

  • Translations are not duplicates. A multilingual store gives every translation of a product the same SKU on purpose. The plugin reads the translation groups of Polylang and WPML and treats one group as one product, so a two-language shop does not get a false alarm for every item.
  • A shop without identifiers gets one sentence, not a list. If not one product has the GTIN field filled, the check stays quiet and says why. Handmade goods, services and your own production carry no manufacturer’s barcode and need none.
  • A check that could not run says so by name. The identifier field was added in WooCommerce 9.2. On anything older the report says the field does not exist, instead of calling every product faulty — or calling the catalogue clean.

What the result looks like

The Duplicate SKU and GTIN Finder screen under Tools: three checks, each with the products it found, the value that was read and an Edit link

The plugin adds one screen under Tools → Duplicate SKU and GTIN Finder. Each finding shows the field that was read and the value found — duplicated SKU: SB-60, not “problem detected” — with a link straight to the product in your admin. You can check every claim before acting on it.

Download CSV gives you the same list as a file, evidence and edit links included, so it can go to whoever maintains the catalogue. Cells are protected against spreadsheet formula injection.

What it does not do

  • It never writes to your catalogue. There is no “Fix it” button, and there will not be one — the reasoning is here. The only thing it stores is the last result, so that reloading the page does not need another scan. Uninstalling removes that too.
  • It reads no order data. That keeps the scan cheap: on a test catalogue of 10,000 products and variations it took about 2.5 seconds.
  • No upgrade prompts. No paid version, no banner in your admin, no notices on other screens.

Large catalogues

The screen runs the scan in a single request, and on a very large store that can hit your host’s time limit — on a 50,000-item test catalogue the scan took 22 seconds. Above 5,000 products and variations the screen tells you so in advance. The WP-CLI command has no such limit:

wp merchlint-duplicate-sku-finder scan
wp merchlint-duplicate-sku-finder scan --format=csv

It prints how many findings each check produced and saves the result, so the full list with evidence is waiting on the screen afterwards.

Requirements

WordPress6.5 or newer
WooCommerce9.0 or newer; the two GTIN checks need 9.2, where the field was added
PHP7.4 or newer
MultilingualPolylang and WPML translation groups are recognised
LicenceGPL-2.0-or-later, free

Where to get it

The plugin is in the WordPress.org plugin directory as Merchlint – Duplicate SKU and GTIN Finder for WooCommerce and installs from Plugins → Add New like any other. Questions and problems go to its support forum on WordPress.org, or to contact.

The name leads with our own, because the reviewers asked for a distinctive first term instead of a generic phrase — a fair request: “Duplicate SKU Finder” describes a category, not a product. The checks, the screen and the CSV file are the same ones this page describes.

Where the engine comes from

The scanning engine is the one behind Merchlint, a full WooCommerce catalogue audit from the same author, Baltano. This plugin carries its own copy under its own class names, so the two can run side by side on one store without conflict. If you want the rest of the catalogue checked too — prices, stock, images, categories — that is what Merchlint is for.