Import Products to Shopify from Any Website

Import Products to Shopify from Any Website

Import Products to Shopify from Any Website

A supplier catalog, a brand site, a storefront you're replacing — we read it and hand back a Shopify-ready CSV. Handles, variant rows, prices, barcodes, image URLs, in the column order Shopify's product importer expects.


Most Shopify product import guides start with a file you don't have yet. We start one step earlier: give us the source website, and the file arrives already built. Open Products, click Import, upload. No app, no field mapping, no cleanup pass.

A supplier catalog, a brand site, a storefront you're replacing — we read it and hand back a Shopify-ready CSV. Handles, variant rows, prices, barcodes, image URLs, in the column order Shopify's product importer expects.


Most Shopify product import guides start with a file you don't have yet. We start one step earlier: give us the source website, and the file arrives already built. Open Products, click Import, upload. No app, no field mapping, no cleanup pass.

A supplier catalog, a brand site, a storefront you're replacing — we read it and hand back a Shopify-ready CSV. Handles, variant rows, prices, barcodes, image URLs, in the column order Shopify's product importer expects.


Most Shopify product import guides start with a file you don't have yet. We start one step earlier: give us the source website, and the file arrives already built. Open Products, click Import, upload. No app, no field mapping, no cleanup pass.

Supplier product page converted into a Shopify-ready CSV with 4,182 products and 11,640 variant rows, handles and image URLs verified
Supplier product page converted into a Shopify-ready CSV with 4,182 products and 11,640 variant rows, handles and image URLs verified

What You Get: A Shopify-Ready CSV

What You Get: A Shopify-Ready CSV

What You Get: A Shopify-Ready CSV

Shopify's importer is unforgiving about column names. Get one header wrong and the row is skipped; get the handle wrong and you create a duplicate instead of a product. So we don't deliver product data you can adapt for Shopify — we deliver the sheet Shopify reads, with its own headers, in its own order.

Shopify's importer is unforgiving about column names. Get one header wrong and the row is skipped; get the handle wrong and you create a duplicate instead of a product. So we don't deliver product data you can adapt for Shopify — we deliver the sheet Shopify reads, with its own headers, in its own order.

Shopify's importer is unforgiving about column names. Get one header wrong and the row is skipped; get the handle wrong and you create a duplicate instead of a product. So we don't deliver product data you can adapt for Shopify — we deliver the sheet Shopify reads, with its own headers, in its own order.

Product level

Descriptions arrive as clean HTML, not one collapsed paragraph. Specification tables from the source page stay structured. Vendor is filled from the brand on the page rather than left blank.

Variant level

One row per variant, not one row per product page. A jacket in five sizes and three colors arrives as fifteen rows sharing a handle — the structure Shopify builds products from.

Media

Main shot and full gallery, in original order, as URLs Shopify can fetch during the import.

Search & your own columns

Already running a modified template — extra columns from an app, a different tag convention, a metafield sheet you maintain separately? Send it over and the export comes back in yours instead of the default.

Handles, Variants, and Re-Imports

Handles, Variants, and Re-Imports

Handles, Variants, and Re-Imports

How we generate handles

How we generate handles

Slugified from the product title, deduplicated across the whole catalog, and — where the source exposes them — anchored to the supplier's own SKU or model number, so the handle stays stable even if the supplier rewrites the title next quarter.

Slugified from the product title, deduplicated across the whole catalog, and — where the source exposes them — anchored to the supplier's own SKU or model number, so the handle stays stable even if the supplier rewrites the title next quarter.

How we generate handles

Slugified from the product title, deduplicated across the whole catalog, and — where the source exposes them — anchored to the supplier's own SKU or model number, so the handle stays stable even if the supplier rewrites the title next quarter.

How variant rows are grouped

How variant rows are grouped

Every variant of a product repeats the same handle. The first row carries the full product content; subsequent rows carry only what differs — option values, SKU, price, barcode, stock, variant image. That is exactly how Shopify's importer expects to receive them, and it's the part hand-built spreadsheets almost always get wrong.

Every variant of a product repeats the same handle. The first row carries the full product content; subsequent rows carry only what differs — option values, SKU, price, barcode, stock, variant image. That is exactly how Shopify's importer expects to receive them, and it's the part hand-built spreadsheets almost always get wrong.

How variant rows are grouped

Every variant of a product repeats the same handle. The first row carries the full product content; subsequent rows carry only what differs — option values, SKU, price, barcode, stock, variant image. That is exactly how Shopify's importer expects to receive them, and it's the part hand-built spreadsheets almost always get wrong.

How updates work

How updates work

Re-import the same file with "Overwrite products with matching handles" enabled and Shopify updates in place: new prices land on existing products, stock counts refresh, discontinued lines can be set to draft. Without stable handles and identifiers, a second import doesn't update your catalog — it doubles it.

Re-import the same file with "Overwrite products with matching handles" enabled and Shopify updates in place: new prices land on existing products, stock counts refresh, discontinued lines can be set to draft. Without stable handles and identifiers, a second import doesn't update your catalog — it doubles it.

How updates work

Re-import the same file with "Overwrite products with matching handles" enabled and Shopify updates in place: new prices land on existing products, stock counts refresh, discontinued lines can be set to draft. Without stable handles and identifiers, a second import doesn't update your catalog — it doubles it.

Shopify product CSV with the Alpine Shell Jacket split into one product row and six variant rows sharing one handle
Shopify product CSV with the Alpine Shell Jacket split into one product row and six variant rows sharing one handle

The handle is the single most important column in a Shopify product import, and the one most often filled in badly. It is the product's permanent identity: the URL slug, the row group for variants, and the key Shopify uses to decide whether an uploaded row is a new product or an update to an existing one.

The handle is the single most important column in a Shopify product import, and the one most often filled in badly. It is the product's permanent identity: the URL slug, the row group for variants, and the key Shopify uses to decide whether an uploaded row is a new product or an update to an existing one.

The handle is the single most important column in a Shopify product import, and the one most often filled in badly. It is the product's permanent identity: the URL slug, the row group for variants, and the key Shopify uses to decide whether an uploaded row is a new product or an update to an existing one.

Importing Products to Shopify with Images

Importing Products to Shopify with Images

Importing Products to Shopify with Images

Shopify doesn't accept image files in a CSV. It accepts public URLs in Image Src, then fetches each one itself during the import. That single detail is behind most failed image imports: links behind a login, hotlink-protected supplier CDNs, or relative paths copied straight out of page source.


If the source blocks direct fetching, we can rehost the images on request and deliver URLs Shopify can reach.

Shopify doesn't accept image files in a CSV. It accepts public URLs in Image Src, then fetches each one itself during the import. That single detail is behind most failed image imports: links behind a login, hotlink-protected supplier CDNs, or relative paths copied straight out of page source.


If the source blocks direct fetching, we can rehost the images on request and deliver URLs Shopify can reach.

Shopify doesn't accept image files in a CSV. It accepts public URLs in Image Src, then fetches each one itself during the import. That single detail is behind most failed image imports: links behind a login, hotlink-protected supplier CDNs, or relative paths copied straight out of page source.


If the source blocks direct fetching, we can rehost the images on request and deliver URLs Shopify can reach.

What we deliver

What we deliver

Every image on the product page — main shot and full gallery — not just the thumbnail

Original gallery order preserved in Image Position, so the first image becomes the featured image

Publicly resolvable URLs, verified as fetchable before delivery

Variant-level images matched to the right color or model in Variant Image

Where the Products Come From

Where the Products Come From

Where the Products Come From

A Shopify import needs a source, and a website is a perfectly good one. This page covers the Shopify end of our catalog import service — the same pipeline builds files for any platform.

A Shopify import needs a source, and a website is a perfectly good one. This page covers the Shopify end of our catalog import service — the same pipeline builds files for any platform.

A Shopify import needs a source, and a website is a perfectly good one. This page covers the Shopify end of our catalog import service — the same pipeline builds files for any platform.

A supplier or distributor site

The common case: full product content published online, but only a bare price list offered as a feed.

Supplier / distributor

A manufacturer or brand site

The richest content — official photography, complete specifications, model numbers.

Manufacturer / brand

Your current storefront, before replatforming

Reading the live site captures what customers actually see, which is usually more complete than what an old admin panel exports.

Your own store

A competitor's Shopify store

Useful for seeing how a category is built before you commit to carrying it.

Competitor

More on how each source is read: how product data collection works.

More on how each source is read: how product data collection works.

More on how each source is read: how product data collection works.

What Shopify's Product Importer Won't Do

What Shopify's Product Importer Won't Do

What Shopify's Product Importer Won't Do

Worth knowing before you plan the launch, because no CSV solves these — ours included.

Worth knowing before you plan the launch, because no CSV solves these — ours included.

Worth knowing before you plan the launch, because no CSV solves these — ours included.

Collections aren't created by the product CSV

Category paths come through as Product Category, Type, and tags. We deliver the source's full category hierarchy as structured tags, so building automated collections afterwards is a rules exercise rather than a manual sort.

Metafields need a separate path

Shopify's native importer ignores them. If your theme or apps depend on metafields, we deliver a matching metafield sheet for a bulk-import app, or a JSON payload for the Admin API.

Inventory across multiple locations

The product CSV sets a single quantity. Multi-location stock is a separate import in Shopify.

Orders, customers, and redirects are not product data

A replatform needs all three. We cover the catalog — products, variants, images, identifiers, categories. The rest stays with your developer or migration agency.

See a Real File First

See a Real File First

See a Real File First

Column lists only tell you so much. Download a sample export — twenty products, variants included, images attached — and open it in the importer preview before you decide anything.


Better: send us a category URL from the source you actually plan to import, and we'll build the sample from that instead. Same structure, your products, before you commit.

Column lists only tell you so much. Download a sample export — twenty products, variants included, images attached — and open it in the importer preview before you decide anything.


Better: send us a category URL from the source you actually plan to import, and we'll build the sample from that instead. Same structure, your products, before you commit.

Column lists only tell you so much. Download a sample export — twenty products, variants included, images attached — and open it in the importer preview before you decide anything.


Better: send us a category URL from the source you actually plan to import, and we'll build the sample from that instead. Same structure, your products, before you commit.

How It Works

How It Works

How It Works

01
01

Submit your source

Submit your source

A supplier site, a category or collection page, a brand page. One entry point is enough — the crawler follows pagination and maps the rest.

A supplier site, a category or collection page, a brand page. One entry point is enough — the crawler follows pagination and maps the rest.

01

Submit your source

A supplier site, a category or collection page, a brand page. One entry point is enough — the crawler follows pagination and maps the rest.

02
02

Choose your fields

Choose your fields

The standard Shopify column set, or your own template.

The standard Shopify column set, or your own template.

02

Choose your fields

The standard Shopify column set, or your own template.

03
03

Set your schedule

Set your schedule

One-off for a launch or a replatform. Daily, weekly, or monthly when prices and stock have to stay in step with the supplier.

One-off for a launch or a replatform. Daily, weekly, or monthly when prices and stock have to stay in step with the supplier.

03

Set your schedule

One-off for a launch or a replatform. Daily, weekly, or monthly when prices and stock have to stay in step with the supplier.

04
04

Receive a CSV

Receive a CSV

Normalized, deduplicated, image URLs checked, handles verified unique — ready to upload.

Normalized, deduplicated, image URLs checked, handles verified unique — ready to upload.

04

Receive a CSV

Normalized, deduplicated, image URLs checked, handles verified unique — ready to upload.

What Merchants Use It For

What Merchants Use It For

What Merchants Use It For

Launching a Shopify store

You have suppliers and no products. The first file fills an empty admin — handles, variants, images, categories as tags — so the store goes from blank to browsable in an afternoon instead of a quarter.

Keeping a supplier catalog current

Scheduled runs refresh prices, stock, and new arrivals against the source. The first import is rarely the last.

Adding a supplier or a brand

A new distributor's range, generated against your existing handle pattern and tag vocabulary. Import it and the new lines fall into your collections on the rules you already run, rather than sitting in an unsorted pile.

The product side of a migration

Moving from Magento, BigCommerce, Volusion, WooCommerce, or a custom build. We handle products, variants, images, and identifiers; orders, customers, and URL redirects belong to the wider migration project.

Frequently Asked Questions About Importing Products to Shopify

Importing into WooCommerce instead? We support that too — just get in touch.

Ready to Fill Your Shopify Catalog?

Ready to Fill Your Shopify Catalog?

Send us the source URL and tell us what the store needs to carry. We'll prepare a sample export so you can review the structure and the data before the full delivery.

Ready to Fill Your Shopify Catalog?

Send us the source URL and tell us what the store needs to carry. We'll prepare a sample export so you can review the structure and the data before the full delivery.

Ready to Fill Your Shopify Catalog?

Send us the source URL and tell us what the store needs to carry. We'll prepare a sample export so you can review the structure and the data before the full delivery.