Skip to main content
All CollectionsImport
Import products from CSV
Import products from CSV

Learn how to prepare and import CSV file for creating or updating products and images

Updated over 4 years ago

Create and update product data and images with one CSV file import. 

You can add or update fields for new and existing products; modify product categories, add or remove collections.

Watch our video tutorial:

Prepare CSV file

Important: 

  • The file should follow our formatting rules - read the last section of this article. 

  • It is possible to use file with any international encoding - read the last section.


You can re-format existing CSV file with your products to meet our requirements or download CSV file from Catalog Machine the in right format:

  • Use product export to get CSV file for existing products that you can re-import after editing in an external spreadsheet program. You can include variants and collections in this CSV

Edit your CSV file with product information in Excel, Google docs , OpenOffice or other spreadsheet programs.


Uploading Images

While you cannot directly put image file in CSV, you can import them from any public web address, file-sharing service or using direct upload.

Import Products

  1. Navigate to Product import page or click CSV submenu under Import 

  2. Select target import product  category (if you don't have Category field in CSV)

  3. Upload prepared CSV file to start import or paste CSV text from your spreadsheet program

  4. Ensure that the import is successful and start using your products

Analysis phase

  • The system will check for errors or data changes for confirmation.

  • If the system detects new categories, fields or collections it will confirm adding them (by clicking checkbox) or they will be skipped.

Formatting Rules and Saving File

A. Headers

The mandatory first row contains special and product category / variants fields names for each column. 

  • The fields should match category field names or they will be considered as new.

  • Columns for Rich Text fields ( Rich Text type in product category field) can contain plain text or basic html (css is not supported).

  • You can change field types later on the category page (e.g. Rich Text, Number, Money, etc.). Read more about product categories.

B. Special Fields

  • Code (optional) - a product ID column to help matching it with existing products or to create a new product if Code doesn't exist in your product database. The system will generate a new code if it is not present.

  • Category (optional) - a category for the product, existing products will change to the selected category if different

  • Collections (optional) - comma-delimited, list of product collections in the hierarchical format (e.g. Cars / Ford / Mustang, Best Sellers / Sport)
    - The product will be added to the listed collections and removed if existing collections it belongs are not listed.
    - It is possible to have multiple collections fields for convenience that should start from Collections (e.g. Collections 1, Collections Car)

  • Name, Rank (used for ordering products in Showroom) and Showcase (status in Showroom: 1 - show, 0 - hide) are reserved fields for any product category.


C. Image fields (Image type in product category field) support three source formats:

  • Relative path - for already uploaded images (folder / image name) in Catalog Machine storage - e.g. Products/123.png

  • Absolute url - any public web address of the image  (starting with http:// or https://) - e.g. http://mysite/com/images/product.png. Catalog Machine will download and add these images to the storage.

  • Data url - encoded image content in the string (starting from data:image/jpeg;base64,/) - e.g. data:image/png; base64,/9j/4AAQSkZ... You can use Catalog Machine export or tools like https://dopiaza.org/tools/datauri to generate Data url

Save the file in CSV format 

  • Excel (save in Unicode format to support non-Latin characters):

  • Google Drive:

Alternatively, you can copy cells from your spreadsheet program and paste as a text on the import step.


Did this answer your question?