Product CSV Splitter
Split a large product CSV into smaller files by row count or size, without ever separating a variable product's parent from its variations.
How grouping works
A plain row-by-row split can separate a variable product's parent row from its variations, or a Shopify product's rows from each other, which breaks the import on the other end. This tool detects a Shopify Handle column, or a WooCommerce file with Type and SKU columns (using the Parent column to attach variation rows to their parent), and always keeps a whole group in the same output file.
12-row sample file, 5 rows per file
- Groups detected
- 7 (two variable products with 3 and 2 variations, five simple products)
- Files produced
- 3 files: 2, 5, and 5 rows
The Zip Hoodie's parent row and both of its variation rows land in the same file, even though that's 3 rows against a 5-row limit.
Splitting a large export
- 01
Upload your export
Drop in a Shopify or WooCommerce product CSV, up to 25 MB.
- 02
Choose a limit
Split by a row count (simplest) or an approximate file size, and leave “Keep together by” on Auto-detect unless you need to force it.
- 03
Download each part
Every part keeps the original header row and can be imported on its own, in any order, at Products → All Products → Import.
Pitfalls
- File-size splitting is an estimate based on the text in each cell, not an exact byte count of the final CSV.
- A single very large group (one product with hundreds of variations) still lands whole in one file, even if that pushes it over your chosen limit.
- If neither a Handle column nor a Type/SKU pair is found, the tool falls back to splitting anywhere, since there's nothing to group by.
Questions people ask
Why does it keep some rows together even past my row limit?
A variable product's variations (or a Shopify product's option rows) have to stay in the same file as their parent, or the import breaks. The tool never splits a group, even if that group is bigger than your limit.
Does it work with Shopify CSVs too?
Yes. It looks for a “Handle” column and groups every row that shares a handle.
What's the largest file it can read?
Up to 25 MB, read entirely in your browser. Nothing is uploaded to a server.
Does it change any of my data?
No. Rows are copied unchanged into smaller files; only the file they end up in changes.
Related tools
Last reviewed 30 September 2026.
