A Shopify CSV import is failing with: “Line 2: Validation failed: Cannot add more than 10000 references to a file.” The original poster tested multiple CSVs, including one-line files, and shared a sample, suggesting the issue is not simply CSV size or row count.
The main consensus is that Shopify’s limit applies to references to a single file or image, not the number of CSV rows. If a commonly reused image, placeholder, product image, variant image, or file-reference metafield is already near or over 10,000 references across the store, even a one-line import that points to it can fail.
Suggested troubleshooting steps include:
Identify the image/file referenced on line 2.
Check whether it is reused across many products or variants.
Try a fresh copy of the file with a new filename/URL.
Remove image/file columns entirely in a test import, then add them back one at a time.
If the error still occurs without file-related columns, contact Shopify Support with the minimal reproduction.
The issue remains unresolved, pending confirmation of which file/image column is triggering the limit.
This error usually appears when one of the CSV rows is trying to attach more than 10,000 references to a single file or resource, which exceeds Shopify’s limit.
I’d recommend checking your CSV for:
Duplicate entries referencing the same file repeatedly
Image/file columns containing too many references
Malformed data causing Shopify to interpret multiple values as file references
As a workaround, try splitting the import into smaller batches or reducing the number of file references per product. Also, validating the CSV formatting (especially separators, commas, and line breaks) may help identify the problematic row.
If you can share a sample of line 2 (with sensitive data removed), it may be easier to pinpoint the exact issue.
That error is easy to misread as a CSV formatting problem, but it reads like it’s about references to a single file, not the number of rows you’re importing. Shopify caps how many resources can point at one file, and once a file is near that ceiling, even a one-line import that references it tips it over. That would explain why your single-line files fail too, the row count isn’t the issue, the target asset already carries the references.
So I’d stop looking at the CSV structure and look at the file column: is it pointing at an image or asset that’s already shared across a big chunk of your catalog? If yes, swap those rows to a fresh copy of the file or a unique URL and the import should go through.
Is that column a product image, or a metafield of type list.file_reference? The thing to fix is slightly different depending on which one it is.
This error usually comes up when the same image file is being referenced by more products/variants than Shopify allows in a single file – Shopify caps this at 10,000 references per individual file. It’s not really about the CSV row count itself, but about how many times one specific image (same URL/filename) gets reused across your catalog.
There’s a few things to try:
Check which image is on line 2 (or being referenced there) and see if it’s a shared/generic image used across many rows.
If so, try duplicating that image under a few different filenames and split the references across them, so no single file exceeds the 10,000-reference cap.
Alternatively, split your CSV import into smaller batches so fewer rows reference that same image in one go (though this only helps if the total store-wide count is still under the cap – if it’s already at 10k+ from prior imports, you’ll need to vary the image file itself).
Double check it’s not a metafield or file reference (rather than product image) pointing to the same file across too many products/variants.
This usually happens when Shopify hits a limit with too many file or image references during the CSV import.
I’d suggest trying these first:
Split the CSV into smaller files and import them one by one.
Check line 2 carefully for too many image URLs or repeated file references.
Remove duplicate/unnecessary image URLs from the CSV.
Try importing products first, then handle images separately.
Also, you can try the Syncora: Backup & Restore app. I think this app can help you keep store data safely backed up before making big imports or changes, so you can restore things if anything goes wrong.
lumine has it: the limit is on the file, not on your CSV. Shopify caps how many products and variants can reference one image, and once a shared placeholder is near ten thousand references, any row pointing at it fails, including a one-line import. Find the image on line 2 and count how many products already use it. The fix is a copy of that file under a new name for the next batch, or dropping the image column from rows that do not need it.
One thing before you change anything. An import that fails on validation is the safe case, because nothing was written. The dangerous case is the one that succeeds with “overwrite products with the same handle” and a file that only half describes the product.
So take a copy of the affected products before the retry. A versioned backup makes that a non-event: StoreVault keeps product versions as they change and restores fields from any earlier moment through a plan you approve, with the honest caveat that media is not re-attached by a restore. Media you keep as files.
Hi @Plumblikeaking Welcome To Shopify Community So This usually happens when the same image file is referenced across a large number of rows in the CSV (like reusing one placeholder image across many variants or products) Shopify caps references to a single file at 10,000. Try checking if there’s an image URL repeated excessively in your CSV and either reduce that reuse or split the import into smaller batches so no single file gets referenced that many times in one go. If you genuinely need the same image on that many products, uploading it once to Shopify’s Files section and linking via a stable CDN URL sometimes handles it better than bulk reference imports. please do not forget to like and mark it solution
@Plumblikeaking Since you reproduced it with files as small as one line, I’d stop treating the CSV row count as the variable and trace the actual file reference on that row. Is it a generic image/file that gets reused across a large part of the catalog, or a metafield file reference? Also, roughly how many products reference that asset today, and is this a recurring supplier/import workflow? If the same shared asset is reused every cycle, it’s worth detecting that reference-count risk before the import rather than discovering it from Shopify’s validation error.
Will, a smaller batch won’t help if the file is already at its reference limit across the store. Shopify documents this exact message as TOO_MANY_FILE_REFERENCE, so I’d isolate the image/file columns before changing the rest of your CSV.
For your one-product test, keep a backup and all its variant rows. In a separate copy, omit the image/file columns entirely rather than leaving their cells blank. Only try that if the update doesn’t need to change those fields. If it succeeds, add those columns back one at a time to identify the reference that triggers the error.
If it still fails without any file/image fields, give Shopify Support that minimal reproduction and the exact error; it needs a store-side investigation. Does your one-line test contain an Image Src / Variant Image column, or a file-reference metafield?