Duplicate product titles in a CSV: find and fix
Your product CSV has rows with different SKUs but the same title, or titles that differ only in capitals or spaces, such as "Canvas Tote Bag" and "canvas tote bag ". A shopper scanning a list or a search page may not tell them apart. A store search or a marketplace listing may group them, hide them or reject them; that depends on the store or marketplace and is not verified here. This post is about titles; for rows that share a SKU, see "Duplicate SKUs in a product CSV: find and fix".
Why it happens. A product was copied to start a new item and only the SKU and price were changed. A supplier file names every model in a range the same way. Size, colour or material sits in its own column, but the title never mentions it. Or a title was retyped with different capitals or a stray space, so it looks new to a machine yet reads the same to a shopper.
Find them, on a copy of the file. 1. Add a helper column called title_key. Fill it with each title in lower case, with spaces at the ends removed and runs of inner spaces reduced to a space. Spreadsheet programs usually have text formulas for this; the exact formula depends on the program (verify). 2. Select all columns and all rows together, then sort by title_key. Sorting the title column by itself would pull titles away from their SKUs and prices. 3. Read down title_key: matching keys now sit side by side. Label every matching group in a helper column, for example G1, G2, G3. (Not run.)
Decide, group by group. Variants: if the rows are sizes or colours of the same product, a shared base title can be correct, so you may not need to rename them; follow "Size and colour variant rows in a CSV: find and fix" instead. Different products: if the rows are separate items that happen to carry the same name, keep every row and make each title specific. Real duplicates: if the rows describe the same item entered twice, read how to choose the row that stays in "Duplicate SKUs in a product CSV: find and fix" before you delete anything; the SKU on the row you remove may still be in use in your store, for stock, links or orders, so check it first (verify). If different products share a SKU as well as a title, fix the SKU first; see "Duplicate SKU: what should I change?".
Fix. For different products, add the detail that tells them apart, in words a shopper would search for: material, colour, size, capacity, pattern or model number. For example "Canvas Tote Bag Natural 38 cm" and "Canvas Tote Bag Black 45 cm". Keep the shared words at the start so related items still sort together. Change titles only; leave SKUs, prices and the other columns as they are. Where titles differed only by capitals or edge spaces, bring them into the style the rest of the file uses; for stray spaces see "Hidden spaces in a product CSV: find and fix them". Title length limits and wording rules differ between stores and marketplaces, so check your own import template (verify). (Not run.)
Recheck. Rebuild title_key from the edited titles and sort again: the only matching groups left should be variant groups you chose to keep. Compare with your untouched copy: the row count is the same, minus any duplicate rows you removed, and every SKU still sits next to the right price. Delete the helper columns, save as CSV, and import a small test batch first (a test or draft area, if your store offers it). (Not run.)
The free CSV check does not compare titles with each other. When we ran it locally on made-up files, rows with different SKUs and identical titles, titles that differed only in capitals, and titles with extra spaces all gave no problems. It reports a title only when it is empty, and it reports a repeated SKU. A clean result therefore says nothing about duplicate titles; use the steps above for that.
sku,title,price
SYN-TOTE-N,Canvas Tote Bag,12.50
SYN-TOTE-B,canvas tote bag ,14.00
SYN-MUG-S,Enamel Mug,9.00
SYN-MUG-L,Enamel Mug,11.00sku,title,price
SYN-TOTE-N,Canvas Tote Bag Natural 38 cm,12.50
SYN-TOTE-B,Canvas Tote Bag Black 45 cm,14.00
SYN-MUG-S,Enamel Mug 250 ml,9.00
SYN-MUG-L,Enamel Mug 400 ml,11.00Where the numbers come from
- Dev team draft, 27 September 2026; made-up example only, no customer file; the find, fix and recheck steps are marked (Not run.) because nobody tried them on a real table
- Free CSV check behaviour (heloft.com/m01): titles are never compared with each other; identical, case-variant and space-variant titles on different SKUs give no problems; an empty title and a repeated SKU are reported; first 20 data rows (local run with synthetic files, 27 September 2026)
- Store and marketplace handling of repeated titles (search, grouping, listing rules, title limits): not verified, deliberately hedged, not tied to any named platform