Back to Guides
Products
18 min read

How to Import Products to Shopify

Bulk importing products saves hours of manual data entry. This guide covers the complete process from preparing your CSV file to troubleshooting common import errors.

Flex Commerce Team
Updated February 2024

Import Overview

Shopify's product import feature uses CSV (Comma Separated Values) files to bulk create or update products. This is essential when migrating from another platform, uploading supplier catalogues, or making mass updates to existing products.

The import process handles product titles, descriptions, prices, variants, inventory, images, and all other product data. Understanding the CSV format is key to successful imports.

What You Can Import

  • Product details including title, description, vendor, and type
  • Pricing including price, compare at price, and cost per item
  • Inventory including stock quantities and SKUs
  • Variants including size, colour, and custom options
  • Images via URLs to hosted image files

CSV Format

Shopify expects a specific CSV structure. The easiest way to get the correct format is to export your existing products first, which provides a template with all the correct column headers.

Required Columns

Handle

Unique identifier used in the product URL. Must be lowercase with hyphens instead of spaces. Example: blue-cotton-shirt

Title

The product name displayed to customers. Can include spaces and special characters.

Variant Price

The price for each variant. Use numbers only, no currency symbols. Example: 29.99

Common Optional Columns

  • Body (HTML): Product description, can include HTML formatting
  • Vendor: The manufacturer or supplier name
  • Type: Product category for filtering and organisation
  • Tags: Comma-separated tags for search and filtering
  • Published: TRUE or FALSE to control visibility

Preparing Your File

Proper file preparation prevents most import errors. Follow these steps to create a clean, error-free CSV.

  1. 1
    Download the Template

    Go to Products → Import → Download a sample CSV. This ensures you have all correct column headers.

  2. 2
    Use UTF-8 Encoding

    Save your file with UTF-8 encoding to support special characters. In Excel, choose "CSV UTF-8" when saving.

  3. 3
    Clean Your Data

    Remove extra spaces, fix formatting inconsistencies, and ensure all required fields are filled.

  4. 4
    Validate Handles

    Ensure all handles are unique, lowercase, and contain no special characters except hyphens.

  5. 5
    Test with Small Batch

    Import 5-10 products first to verify everything works before importing the full catalogue.

Importing Products

Once your file is prepared, the actual import process is straightforward.

Import Steps

  1. 1
    Navigate to Import

    Go to Products in your Shopify admin and click the "Import" button.

  2. 2
    Upload Your File

    Click "Add file" and select your CSV. Shopify will validate the file structure.

  3. 3
    Review Import Options

    Choose whether to overwrite existing products with matching handles or skip them.

  4. 4
    Start Import

    Click "Import products". Large imports may take several minutes to complete.

Important Note

Imports cannot be undone. Always export a backup of your existing products before running a large import, especially if using the overwrite option.

Handling Variants

Products with multiple options like size and colour require special formatting in your CSV. Each variant gets its own row.

Variant CSV Structure

  • First row: Contains product details (title, description, etc.) and first variant
  • Subsequent rows: Same Handle but only variant-specific data (option values, price, SKU, inventory)
  • Option columns: Option1 Name, Option1 Value, Option2 Name, Option2 Value, etc.

Example Structure

HandleTitleOption1 NameOption1 ValuePrice
cotton-tshirtCotton T-ShirtSizeSmall25.00
cotton-tshirtMedium25.00
cotton-tshirtLarge27.00

Importing Images

Product images must be hosted online and accessible via URL. Shopify downloads images from these URLs during import.

Image Requirements

  • Format: JPEG, PNG, GIF, or WebP
  • Size: Maximum 20MB per image, 4472 x 4472 pixels
  • URL: Must be publicly accessible (no authentication required)
  • Multiple images: Separate URLs with commas in the Image Src column

Pro Tip

Host images on a CDN or cloud storage like Amazon S3, Google Cloud Storage, or Cloudflare before importing. This ensures reliable access during import.

Troubleshooting

Common import errors and how to fix them quickly.

"Invalid CSV" Error

Usually caused by incorrect encoding or extra commas. Open in a text editor and check for formatting issues. Re-save as UTF-8.

"Missing required column"

Ensure your CSV has Handle, Title, and Variant Price columns. Check for typos in column headers.

Products Not Appearing

Check the Published column is set to TRUE and that products have valid prices. Also verify Status is set to Active.

Images Not Loading

Verify URLs are accessible by opening them in a browser. Ensure no authentication is required and the file format is supported.

Best Practices

Follow these best practices for smooth, error-free imports.

Import Tips

  • Backup first: Always export existing products before importing
  • Test small: Import a few products first to verify formatting
  • Consistent handles: Use a naming convention for handles to avoid duplicates
  • Batch large imports: Split files with more than 1000 products into smaller batches
  • Off-peak timing: Run large imports during low-traffic periods

Need Help With Product Migration?

Our team can handle complex product migrations, data cleaning, and bulk imports to ensure a smooth transition to Shopify.