My Shopify CSV import has been running for hours — is it stuck?
Probably not. A 20,000-row import took seven hours and nineteen minutes on a real store and completed with no gaps.
What you are seeing
The import started a long time ago, rows are trickling in, and you cannot tell whether it is progressing or hung.
There is no error message for this one. That is the problem, not an omission on this page — the import reports success and the damage is only visible if you go looking for it.
Why it happens
Shopify does not publish a row limit and we did not find one at 20,000 rows: the importer processed the whole file, and every handle from 6441 to 20000 was present with not one gap in 13,560 consecutive rows. It simply took seven hours and nineteen minutes from the first row to the last.
A store runs one CSV import at a time and the import cannot be cancelled once it is running. So a large file is not only slow, it also blocks the next one — which matters if you were planning to fix a mistake by uploading a corrected file.
How to fix it
- Check progress by looking for the LAST handle in your file rather than by watching the product count. If it has not arrived, the import is still working.
- Split large catalogues before uploading — not because of a row cap, but because a stuck seven-hour import you cannot cancel is a worse position than four shorter ones.
- Split on product boundaries. Every row sharing a handle must stay in the same file.
Where this came from
We broke a real Shopify store on purpose to answer these questions, and kept what it said. Nothing on this page is quoted from documentation.
- No row cap was found at 20,000: the importer processed the whole file, and handles 6441 through 20000 are present with not one gap in 13,560 consecutive rows. It finished seven hours and nineteen minutes after the first row.
What we did not measure. One run, one store, 20,000 rows, 2026-09-04. Import speed depends on the store, the columns and the day, so treat the seven hours as evidence that slow is normal — not as an estimate for your file.
Observed 2026-09-04. The store this was measured on has since been deleted, so these answers are an archive rather than something we re-run — we would rather tell you the date than imply it is checked continuously.
Check your file before you upload it
The Pre-Flight Report reads your supplier file and names every blocker, with the row it is on, before you go near an importer. It is free, it needs no account, and it does not send your file to a model.