Fix a broken Shopify CSV before it breaks your import.
Drop a product CSV. See which rows would fail, why, and what the file should say instead. Runs in your browser — your file never leaves your computer.
- ✓ No upload
- ✓ Nothing to install
- ✓ Every fix shown first
What we check
FILE_UTF8_BOMHidden byte before your first column nameSHOPIFY_PRICE_CURRENCYPrice written as$19.99instead of19.99SHOPIFY_HANDLE_SPACEURL handle with spacesSHOPIFY_HANDLE_ILLEGALUppercase, underscores, slashes in a handleROW_COLUMN_COUNT_MISMATCHA row with the wrong number of fieldsFILE_UNCLOSED_QUOTEA quote that never closesSHOPIFY_TITLE_EMPTYNew product without a titleSHOPIFY_PUBLISHED_BOOLPublished column that is not TRUE or FALSESHOPIFY_OPTION_COMBO_DUPLICATETwo rows describing the same variantSHOPIFY_SKU_DUPLICATEOne SKU used on two variantsSHOPIFY_VARIANT_ID_RISKAn option edit that would recreate an existing variantSHOPIFY_IMAGE_HTTPImage linked over http instead of httpsSHOPIFY_WEIGHT_UNITA weight unit Shopify does not read
26 rules in this build: file, row, variant and resource checks. Every rule names the official Shopify documentation it is based on. The one check that would need to fetch your image URLs is not run — that would send data off your machine.
Frequently asked
Does my file get uploaded?
No. The file is read by your browser and analysed in a Web Worker on your machine. Open DevTools → Network and drop a file: no request carries its contents. The only request the app makes is a licence check, and it sends a key and nothing else.
What can it fix?
Anything marked Fixable in the issue list: prices with currency symbols, handles with spaces or illegal characters, BOM and line endings, wrong boolean values, and blank rows. Issues that need a business decision — duplicate SKUs, mismatched columns — are reported, not changed.
Will it import after I fix it?
Every remaining blocker is counted before you download. If a blocker is left, the button says so. We do not claim a file will import — we show what we found and what changed.
Why does it need my file to stay local?
Product CSVs contain supplier prices and unpublished stock. The tool cannot leak what it never receives.
What is the free limit?
5,000 data rows, full features. Larger files can be inspected for free; fixing and downloading the whole file needs a licence.
Which Shopify CSV errors does it detect?
Missing or duplicated handles, empty titles, prices with currency symbols, wrong boolean values, duplicated or missing SKUs, variant option problems, image URLs on plain http, unquoted tags, barcode overflow and weight unit mistakes — 26 checks in total, each documented on the errors page with the Shopify docs behind it.
Can I use it offline?
The tool runs entirely in your browser, so a page that is already open keeps working when the connection drops: parsing, fixing and exporting never touch the network, and the licence check simply fails, so the free limit applies. Reloading the page does need the connection again — there is no offline cache yet.
This file has a header but no data rows.
File is over the free limit
data rows — the free limit is . You can still read the full issue list. Fixing and downloading the whole file needs a licence.
See plans