Shopify Product CSV Cleaner

Drag your supplier CSV. Get a clean, UTF-8, Shopify-import-ready file out the other side. Fix encoding errors, map columns, and validate — all in your browser.

Your file never leaves your browser. All processing happens locally — no upload, no signup, no server. Open DevTools → Network tab to verify zero outbound requests.
📁
Drop your CSV here, or click to choose
.csv, .tsv, or .txt up to 15MB
1
What we found
2
Map your columns to Shopify

We auto-mapped what we recognized. Adjust any that look wrong, or set unmapped columns to "(skip)". Required: Title. Recommended: Handle, Body (HTML), Vendor, Variant Price.

Your column Shopify column Sample value
3
Validation
4
Preview & download

First 10 rows of your cleaned, Shopify-ready CSV:

Spot-check the cleaned file in a spreadsheet before importing to Shopify, and always test a small batch first. This tool is not affiliated with Shopify.

[ Ad slot — replace with AdSense / Ezoic code ]

Why Shopify CSV imports fail (and how this tool fixes them)

Most failed Shopify imports come down to one of four problems, and Shopify's error messages don't always tell you which one. This tool fixes all four automatically.

1. Encoding errors ("illegal quoting")

Shopify requires UTF-8 encoding. When you save a CSV from Excel, Excel often saves as Windows-1252 or UTF-8 with BOM (byte-order mark) — both of which break Shopify's import. The most common symptom: a "line invalid (no details)" error or "illegal quoting" because curly quotes (" and ") get replaced with byte-pair garbage. This tool detects the encoding, converts to clean UTF-8 without BOM, and straightens curly quotes automatically.

2. Wrong column names

Shopify's import is case-sensitive. Title works; title or TITLE fails. Variant Price works; Price or price fails silently (the data gets ignored). Suppliers and Excel exports use whatever names they want — this tool maps your actual column names to the exact names Shopify expects.

3. Missing required columns

For new product imports, Shopify needs Title at minimum. If you have variants, you also need Handle, Option1 Name, and Option1 Value. The validator below flags any missing required columns before you waste time on a failed import.

4. Invalid data inside columns

Common offenders: image URLs that aren't full URLs (Shopify needs https://..., not /images/foo.jpg), prices with currency symbols ($19.99 won't parse — Shopify wants just 19.99), Handles with spaces or accents (must be lowercase letters, numbers, and hyphens only). The validator catches all of these and offers to auto-fix the ones that are safe to fix automatically.

What this tool does NOT do

This is a CSV cleaner, not a CSV builder. It cannot generate product data you don't already have. If you're starting from scratch, download Shopify's official CSV template and fill it in manually. This tool is for when you already have a file from a supplier, an old store, a print-on-demand integration, or a wholesale catalog, and you need to translate it into Shopify's exact format.

It also doesn't upload images. Shopify imports product images by URL — your image files need to be hosted somewhere with public HTTPS URLs (Cloudinary, Imgix, your supplier's CDN, etc.) before the import will work. This tool validates the URLs, but it can't host the images for you.

[ Ad slot — replace with AdSense / Ezoic code ]

Frequently asked questions

Is this safe to use with confidential product data?

Yes. The entire tool runs in your browser. Your CSV is read locally with the FileReader API, processed with JavaScript, and the cleaned CSV is generated as a download — nothing is ever sent to any server. You can verify by opening DevTools → Network tab and watching while you process a file. There will be zero outbound requests.

What's the maximum file size?

Shopify's own import limit is 15MB. This tool can handle files of that size, though browsers may struggle with very large files (50,000+ rows). If your file is larger than 15MB, split it before importing — Shopify won't accept it anyway.

Why can't I just open my CSV in Excel and re-save it?

You can, but Excel introduces problems while solving them. Excel often saves CSVs in Windows-1252 encoding instead of UTF-8, converts straight quotes to curly quotes, and silently changes long numbers (like UPC codes) to scientific notation. Google Sheets handles this better but adds its own quirks. A purpose-built CSV tool avoids all of these.

Does this handle product variants?

Yes. Shopify uses a multi-row pattern for variants: each variant gets its own row, all sharing the same Handle. Map your variant columns (Option1 Name, Option1 Value, Variant Price, Variant SKU) and the tool preserves the row structure. If your source file has one row per product with columns like "Size 1", "Size 2", "Size 3", you'll need to reshape that into the multi-row format first — this tool doesn't pivot data.

What about images?

Shopify imports images by URL. The tool validates that your Image Src column contains full URLs starting with http:// or https://. If your file has image filenames instead (like shirt-red.jpg), you need to host those images somewhere public first and update the column with the full URLs.

What if my file has tabs instead of commas?

The tool auto-detects the separator. CSV (commas), TSV (tabs), and semicolon-separated files (common in European Excel) all work. The output is always proper UTF-8 comma-separated CSV, which is what Shopify expects.