Ecommerce · product import

Shopify CSV preflight.

Open your product CSV and catch the rows Shopify will reject before you upload. The file never leaves your browser.

Input

Read locally as bytes so the UTF-8 check is real.

Result

Open or paste a product CSV, then run the preflight.

What is checked, and where each rule comes from

Rules were checked against Shopify Help Center on 2026-09-30. Headers: Title present; both spellings of column names accepted (for example "URL handle" or "Handle"); duplicate or blank headers; Barcode and Barcodes together. Encoding: UTF-8 and LF line endings. Handles: no spaces, letters/dashes/numbers, first row of each handle has a Title, blocks kept together. Variants: option values present for each named option and no duplicate option combination per handle. Status: active, draft or archived. Image-only rows: recognised, not treated as variants; image URLs must be http(s). Numbers: price, compare-at and cost as bare numbers; inventory quantity numeric; tracker and continue-selling values.

Where Shopify's two pages disagree (blank price and blank inventory quantity: one page gives a default, the other calls it an error) the finding is a warning that says so.

Sources: Shopify Help: Using CSV files to import and export products and Shopify Help: Common product import issues. Rules can change; this page is an independent tool and is not affiliated with Shopify.

Frequently asked questions

Does a clean result mean Shopify will accept the file?

No. This does not replace Shopify's import preview. It cannot see your store (existing handles, categories, locations, image URLs that no longer resolve) and it checks only the rules listed above.

Is my file uploaded?

No. Parsing happens in your browser tab and nothing is sent or stored.

What is in the error CSV?

One line per finding: spreadsheet row number, severity, handle, column, rule id, message, offending value and the Shopify page the rule came from.

Preflight only

Findings are based on Shopify's public help pages as of the date above. Always confirm in Shopify's own import preview before importing.