How to Import a CSV Into Shopify Without Breaking Your Store

Importing a CSV into Shopify is the fastest free way to add products in bulk — you upload a formatted spreadsheet through the Shopify admin panel, and your products go live in minutes instead of hours. But without the right preparation, a CSV import can create duplicate listings, overwrite existing inventory, or fail silently with products missing images and descriptions.
This guide covers the exact steps to import a CSV into Shopify correctly, from pre-upload prep through post-import verification.
Before You Upload: The 5-Minute Prep Checklist
Skipping preparation is the number one reason CSV imports go wrong. Run through these five checks before you touch the upload button:
- Back up your current products. Export your existing catalog from Products > Export in the Shopify admin. If anything goes wrong, you can restore from this file.
- Validate your CSV encoding. Open the file and re-save it as "CSV UTF-8" from Excel or Google Sheets. Non-UTF-8 files cause silent character errors.
- Check your file size. Shopify rejects files over 15 MB. If yours is larger, split it into smaller batches.
- Verify image URLs. Every URL in the Image Src column must be publicly accessible and start with
https://. Test a few in your browser — if the image doesn't load, Shopify can't import it either. - Test with a small sample first. Pull 10 to 20 products into a separate CSV and import those first. Verify they look correct before uploading your full catalog.
Step-by-Step: The Import Process
Once your file is prepped, the actual upload takes less than five minutes.
- Step 1: Open the import tool. In your Shopify admin, go to Products > Import. Click Add file and select your CSV.
- Step 2: Preview the import. Shopify shows a summary of what will be created or updated. Review the product count and check for any warnings. Pay attention to the "overwrite existing products" checkbox — leave it unchecked unless you specifically want to replace current listings with the CSV data.
- Step 3: Start the import. Click Import products. For files under a few hundred products, this takes seconds. Larger files (5,000+ rows) may take several minutes. Shopify processes the import in the background, so you can navigate away.
- Step 4: Review the results. Shopify displays a summary showing how many products were created, updated, or skipped. If any rows failed, download the error report for specifics.
After the Import: Verify Everything
A successful import notification does not mean every product is perfect. Spend 10 minutes on these checks:
- Check images. Browse your product list and confirm images loaded correctly. Broken image URLs are the most common silent failure — the product imports successfully but appears without photos.
- Check variants. Open a few products with multiple sizes or colors and confirm each variant is present with the right price and SKU.
- Check inventory counts. If you included inventory quantities in your CSV, verify a sample against your actual stock numbers.
- Check collections. Products imported via CSV are not automatically added to manual collections. You will need to add them yourself or use automated collection rules.
Troubleshooting: When the Import Fails
If your import fails or produces unexpected results, here are the most common culprits:
| Symptom | Likely Cause | Fix |
|---|---|---|
| Entire import rejected | Column header mismatch or encoding error | Re-download Shopify's sample template and copy headers exactly; re-save as UTF-8 |
| Products imported without images | Image URLs are private or broken | Replace with direct, publicly accessible https:// links |
| Duplicate products created | "Overwrite" was unchecked and Handles matched existing products | Delete duplicates and re-import with "Overwrite existing products" checked |
| Variants missing | Option columns left blank | Include Option1 Name and Option1 Value on every variant row |
| Prices showing $0.00 | Currency symbols in the price column | Remove $ signs and use plain numbers only |
| Import times out | File too large | Split CSV into files under 15 MB each |
When a CSV Is Not Enough
CSV imports work well for straightforward catalogs, but they hit limits quickly. If your products come from vendor invoices rather than clean spreadsheets, you spend more time reformatting data than actually importing it. Stores that receive new inventory as PDFs, emails, or paper invoices often find that a dedicated product listing service saves more time than any spreadsheet trick.
Goodness Logic converts vendor invoices into complete Shopify listings — with images, descriptions, tags, and collections — in 1 to 2 business days, no CSV required.
Stop entering products. Start selling them.
Goodness Logic turns your vendor invoices into publish-ready Shopify listings. No more data entry for you.
See how Goodness Logic works