Shopify

How do I clean Shopify product CSV files?

Clean a Shopify product CSV by making columns match Shopify’s import template, fixing encoding and line breaks, aligning variant rows to one Handle, and filling required fields (title, status, variant price). Remove stray commas inside unquoted text. CrossKit CSV Formatter helps tidy messy spreadsheets before you import; URL Cleaner is useful if tracking parameters leaked into image or product URLs.

Most failed Shopify imports are structural, not “Shopify being picky”. One shifted column can wipe prices.

Steps

  1. Download the official product CSV template and compare headers

    Rename your columns to the template. Do not invent Handle vs handle vs URL Handle.

  2. Normalize encoding to UTF-8

    Accented characters in product titles break when the file is still Windows-1252.

  3. One product, many variant rows, same Handle

    Empty title on variant rows is normal in Shopify’s format. Filling random titles creates duplicate products.

  4. Validate money and inventory columns

    No currency symbols in price fields. Inventory policies consistent.

  5. Import 5 rows as a test

    Then the rest. Never first-run 5,000 SKUs.

  6. Validate image URLs before a full import

    Paste a sample of Image Src values into Link Checker. Fix 404s and tracking parameters, then import. Photos are the slowest part of a failed catalog load.

Match the official template before you beautify cells

Most failed imports are structural. Compare headers to Shopify’s product CSV template. Unify Handle vs handle. Encode UTF-8 so accented titles survive. Variant rows share one Handle; empty titles on child rows are normal—filling random titles creates duplicate products. Prices must be numbers without currency symbols. Test 5 rows before 5,000. CrossKit CSV Formatter tidies messy spreadsheets; URL Cleaner strips tracking junk from image URLs; Link Checker verifies those URLs still resolve.

Excel, barcodes and HTML

Opening a CSV in Excel and re-saving can change encoding and strip leading zeros on barcodes. Use a tool that respects text columns. Title should be plain text; HTML belongs in Body (HTML). Merged cells from factory Excel must be split. Builds Handles from slugified titles and repeat that Handle on size rows. Image URLs must be publicly reachable or the import will skip photos even when the rest succeeds.

How CrossKit fits this job

CrossKit CSV Formatter is for headers, encoding and messy columns before Shopify import. URL Cleaner and Link Checker are for Image Src values that 404 or carry tracking junk. Test five rows. Keep a backup of the last good export so a bad save cannot wipe prices.

Example

A factory Excel export uses “Product Name”, merged cells and €29,90 prices. Save as CSV, split merged cells, rename to Title, convert prices to 29.90, build Handles from slugified titles, duplicate the handle on size variant rows. Import succeeds.

Common mistakes

  • Opening CSV in Excel and re-saving without care

    Excel may change encodings and strip leading zeros on barcodes.

  • Putting HTML in Title

    Title should be plain text. HTML belongs in Body (HTML).

  • Editing live export and import on the same file without a copy

    A bad save can wipe prices. Duplicate the file, clean the copy, import the copy.

Recommended tool

CSV Formatter

CrossKit CSV Formatter cleans messy spreadsheets before Shopify import. Use it before Bulk Translate if you also localize the catalog.

FAQ

Frequently Asked Questions

Can CrossKit import the CSV into Shopify for me?

No. It prepares a cleaner file. You import in Shopify admin.

What if images fail to import?

Image URLs must be publicly reachable. Clean tracking parameters with URL Cleaner.

Can CrossKit push the CSV into Shopify?

No. It prepares a cleaner file. You import in Shopify admin. Always keep a backup of the last good export.

Why did variants become separate products?

Handles did not match, or child rows had their own titles. One product, many rows, same Handle.