Free in-browser checker for Shopify product CSVs. Your file never leaves your browser — no login, no API key, no store access. Row-level findings for missing handles, duplicate handles, header drift, encoding and price bugs. Optional $19 one-shot fixed CSV.
No reviews yetBe the first to leave a review for Preflight Kit
Maker
📌
Hi PH! I built this after watching merchants lose product data to Shopify's CSV import — silent partial failures, duplicate handles overwriting products, variants disappearing.
It's a preflight check that runs entirely in your browser: drop your product CSV, get row-level findings grouped by severity, before Shopify touches anything. No login, no API key, and your catalog never leaves your machine (the parser is client-side — you can verify in devtools).
The free check shows every finding. A $19 one-shot gives you a corrected CSV (only unambiguous mechanical fixes — BOM, header case), a machine-readable errors.csv, and a plain-English report that also lists what it *didn't* check. No subscription.
It's product-CSV only and refuses files that look like order/customer exports, so no buyer PII goes through it. Happy to answer anything about Shopify's import quirks — I've collected a lot of failure modes.
Report
Honestly love that everything runs locally in the browser, makes it feel way safer to drop a raw CSV in without thinking twice. The row-level callouts for stuff like duplicate handles and encoding bugs are exactly what a hands-on Shopify team needs.
Report
Maker
@aleynak62000 Thank you, Aleyna! The local-first constraint was actually the founding decision — a product CSV is essentially your whole catalog, so I didn't want anyone to have to trust a stranger's server with it. If you're curious, you can open devtools and watch the network tab: the file never leaves the browser.
Duplicate handles are the sneakiest failure in my experience — Shopify treats a repeated handle as an update, so one stray duplicate row can silently overwrite an existing product mid-import. That failure mode alone is why I started building this.
If your team ever hits an import failure the checker doesn't catch yet (encoding edge cases, variant quirks, etc.), I'd genuinely love to hear about it — the rule set grows from real broken files.
Honestly love that everything runs locally in the browser, makes it feel way safer to drop a raw CSV in without thinking twice. The row-level callouts for stuff like duplicate handles and encoding bugs are exactly what a hands-on Shopify team needs.
@aleynak62000
Thank you, Aleyna! The local-first constraint was actually the founding decision — a product CSV is essentially your whole catalog, so I didn't want anyone to have to trust a stranger's server with it. If you're curious, you can open devtools and watch the network tab: the file never leaves the browser.
Duplicate handles are the sneakiest failure in my experience — Shopify treats a repeated handle as an update, so one stray duplicate row can silently overwrite an existing product mid-import. That failure mode alone is why I started building this.
If your team ever hits an import failure the checker doesn't catch yet (encoding edge cases, variant quirks, etc.), I'd genuinely love to hear about it — the rule set grows from real broken files.