What moves: titles, variations (each with its own SKU, price, stock and UPC), prices, stock, SKUs, eBay category names, and in Shopify files also UPC, EAN or ISBN barcodes. The report has no descriptions, photos or weights, so products arrive without them. What does not: customers, orders, reviews, gift card balances, blog posts, pages and URL redirects are not in a product export, so CatalogHop does not convert them.
1. Export your products from eBay
- In eBay, open Seller Hub and go to the Reports tab, then Downloads.
- Click Download report. Choose the source Listings and the type All active listings, then download. eBay shows a summary of the report's columns on the right before you download.
- Upload the CSV as it was downloaded. If you open it in Excel first, eBay says to format the Item number column as a number with 0 decimals before saving, or the 12-digit item numbers get rounded and variations can no longer be grouped.
- Do not use the Edit price and quantity template from the Uploads page. eBay lists it in Downloads under the same label, All active listings, but it is a different file, and the converter refuses it with a message.
What to know about the eBay file
- The report has no description, photos or weight. eBay's list of the report's columns has none of them, so every product is written without them and the converter says so. Add descriptions and photos in the new store, or the products import with a title, price and stock only.
- eBay does not document how this report lays out variations, so the converter handles a listing row followed by variation rows, and variation rows alone. Rows with the same Item number are one listing. A row with a single combination in the Variation column, such as Size=M, becomes a variant with its own SKU, price, stock and barcode. The listing's own row, either blank in Variation or listing all the values the way eBay's templates write it (Size=Medium; Small), gives only the title, and its SKU becomes the WooCommerce parent SKU. A variation row with a blank Item number is added to the listing in the row above, and the converter names those rows. If a listing has only one row that lists several values, it is written as one product without options, and named.
- eBay does not say how the Variation column is written in this report. The converter reads it the way eBay writes variations in its Seller Hub templates, Name=Value pairs separated by semicolons, such as Color=Blue;Size=M, so each name becomes an option. Any other value, or more than 3 option names, is kept as one option named Variation with the value as written, and the converter names those listings.
- Fixed price listings: the Current price is written as the price, because it is what buyers pay now (eBay says it may include a sale). When the Start price is higher, it goes in Shopify's Compare-at price, or in WooCommerce's Regular price with the current price as the Sale price, and the converter names those listings so you can end the sale. A Current price above the Start price is written as it is and named. When Current price is blank, the Start price is used.
- Auction-style listings become drafts, because a store has no bidding. They get the Buy It Now price, or the start price when there is none, and are named so you can set a price and publish them. Reserve prices, bids and watchers do not move.
- Available quantity, the number left after sales, becomes tracked stock.
- eBay category 1 name and eBay category 2 name are the last level of the eBay category, not a full path. WooCommerce files get both as categories; Shopify files get category 1 name as the product type (the Type column).
- P:UPC, P:EAN and P:ISBN become the Shopify barcode, the first one filled in. "Does not apply" is skipped. WooCommerce's importer does not map barcodes on its own, and the converter says so.
- Condition (New, Used and so on) has no column in a Shopify or WooCommerce product file. When a listing is not new, the converter names the conditions and how many listings have each, so you can put it in the title, description or a tag.
- Not carried over, and named when the file has them: Item number, eBay Product ID (ePID), Listing site, sold quantity, views, watchers, bids, start and end dates, category numbers, reserve price and the trading card grading columns.
- eBay's Unsold listings report and its upload templates (they have an Action column, and the price template an #INFO row) are refused with a message, so an ended listing or a template is not converted by mistake. That includes the Edit price and quantity template with its #INFO row and Action column deleted, recognised by its Relationship columns. An Orders report is not a listing export, and eBay gives no column list for it, so it is not recognised.
- Built from eBay's Seller Hub Reports guides (the list of the Active listings report's columns and the upload templates guide). eBay publishes no sample report, and this was not verified against a real download. It was not tested by importing into a live store.
What the Shopify file gets
- The 61 columns of Shopify's current product template, as UTF-8 with no byte order mark.
- One row per variant, with extra rows for additional images, and all rows of a product kept together.
- Weights in whole grams, with your display unit kept.
- Products with no options get the usual "Title" / "Default Title" option.
- Products Shopify would reject (more than 3 options, more than 2,048 variants, repeated option combinations, a blank or negative price, or anything else the Shopify checker on this site finds) are left out of the file and listed on screen so you can fix them in the source.
- Image paths that are not full web links are left out with a note, so the product itself still imports.
- Files over Shopify's 15 MB limit are also offered as smaller parts, each product kept whole.
2. Before and after
Before: the eBay Active listings report CSV
Item number,Title,Variation,Custom label (SKU),Available quantity,Format,Currency,Start price,Auction Buy It Now price,Reserve price,Curr... 100000000001,Sample Ceramic Planter,,SAMPLE-PLANTER,5,Fixed Price,USD,24.00,,,24.00,2,3,0,25-Mar-25 10:57 PDT,,Planters & Pots,20614,,,Ne... 100000000002,Sample Cotton Tee,,SAMPLE-TEE,,Fixed Price,USD,,,,,4,7,0,02-Apr-25 09:00 PDT,,T-Shirts,15687,,,New,,US,,, 100000000002,Sample Cotton Tee,Color=Blue;Size=M,SAMPLE-TEE-BLU-M,3,Fixed Price,USD,18.00,,,18.00,,,,,,,,,,,,,000000000017,, 100000000002,Sample Cotton Tee,Color=Blue;Size=L,SAMPLE-TEE-BLU-L,2,Fixed Price,USD,19.00,,,19.00,,,,,,,,,,,,,,, 100000000002,Sample Cotton Tee,Color=Red;Size=M,SAMPLE-TEE-RED-M,4,Fixed Price,USD,18.00,,,15.00,,,,,,,,,,,,,,,
After: shopify-products.csv
| Row | Title | URL handle | Type | Published on online store | Status | SKU | Variant Barcodes | Option1 name | Option1 value | Option2 name | Option2 value |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product | Sample Ceramic Planter | sample-ceramic-planter | Planters & Pots | TRUE | active | SAMPLE-PLANTER | Title | Default Title | |||
| Product | Sample Cotton Tee | sample-cotton-tee | T-Shirts | TRUE | active | SAMPLE-TEE-BLU-M | 000000000017 | Color | Blue | Size | M |
| Variant | sample-cotton-tee | SAMPLE-TEE-BLU-L | Blue | L | |||||||
| Variant | sample-cotton-tee | SAMPLE-TEE-RED-M | Red | M | |||||||
| Product | Sample Vintage Film Camera | sample-vintage-film-camera | Film Cameras | FALSE | draft | SAMPLE-CAMERA | Title | Default Title | |||
| Product | Sample Field Guide Paperback | sample-field-guide-paperback | Nonfiction Books | TRUE | active | SAMPLE-BOOK | 9780000000002 | Title | Default Title |
12 of 62 columns shown (empty columns hidden, 9 more with data).
What the converter reported for this sample
4 products read, 4 written.
- Check this: eBay's Active listings report has no description, photos or weight (they are not among its columns), so all 4 products were written without them. Add descriptions, photos and weights in the new store, or the import will create products with a title, price and stock only.
- Check this: One listing is auction-style. A store has no bidding, so it was written as a draft with the Buy It Now price (or the start price when there is none): "Sample Vintage Film Camera". Set a price and publish it in the new store.
- Check this: One listing has a current price below the start price (eBay says the current price may include a sale). The current price, what buyers pay now, was written as the price, and the start price as the compare-at price in Shopify, or as the regular price with the current price as the sale price in WooCommerce. End the sale in the new store if it is over: Sample Cotton Tee (Red / M) (15.00, was 18.00).
- Check this: Shopify and WooCommerce product files have no condition column, so item conditions were not carried over: Used (2). Put the condition in the title, description or a tag if buyers need it.
- Not carried over: These eBay columns have data but no place in the new file, so they were not carried over: Sold quantity, Watchers, Bids, Start Date, eBay category 1 number, Listing site, Reserve price, End date, eBay category 2 number.
Sample products made up for this page, laid out exactly like a real eBay export. The "after" file and the notes were produced from it by the same converter this page runs.
3. Import into Shopify
- In Shopify admin, go to Products and click Import.
- Click Add file and choose shopify-products.csv.
- Leave "Publish new products to all sales channels" and the overwrite option as you need them. Overwrite replaces products that have the same URL handle.
- Click Upload and preview, look over the first product, then Import products. Shopify emails you when it finishes, including any rows it skipped.
Before you import everything
- A few of Shopify's rules are our best reading rather than something Shopify states outright: that the 2,048 variant limit also applies to CSV imports, that decimal gram weights should be rounded, and that "Title" is the option name for products without options. Try a small file first.
- Images are imported by Shopify downloading each link. Links that are private, slow or removed fail on Shopify's side, which no file check can see.
- Inventory quantity in the file only applies to stores with a single location. With more than one location, set stock after import (or with Shopify's inventory CSV).
- Import the file as it is. Opening it in Excel or Google Sheets and saving again can change prices, SKUs and accents.
- Import a handful of products first, open them in your store and check variants, prices, stock and images. Then import the rest.
Already have a Shopify CSV that fails? Use the Shopify CSV checker.
Questions
- Why do my eBay products have no photos or descriptions in Shopify?
- eBay's Active listings report does not contain them. Its columns are listed in eBay's Seller Hub Reports guide, and there is no description, photo or weight column, so the converter cannot carry them over and says so. Add them in Shopify after import.
- Do my eBay variations move to Shopify?
- Yes, when the Variation column holds Name=Value pairs such as Color=Blue;Size=M, which is how eBay writes variations in its templates. Each row becomes a variant with its own SKU, price, stock and barcode. eBay does not document the format of that column in this report, so any other value is kept as one option named Variation, and the converter names those listings.
- What happens to my auctions?
- They become drafts in Shopify, because a store has no bidding. Each gets its Buy It Now price, or the start price when there is none, and is named in a note so you can set a price and publish it.
- Was this tested by importing into a live Shopify store?
- No. It follows eBay's Seller Hub Reports description of the Active listings report and Shopify's documented import rules, and every file is checked against those rules before download. It was not checked against a real eBay download, so import a few products first and check them.
- Is my file uploaded anywhere?
- No. The page reads the file with your browser and converts it there. The only thing the site records is an anonymous count: which converter was used, a rough row count, and whether it worked. The privacy page lists every field.
Sources
- eBay Seller Hub Reports, Downloadable Reports (Active listings report columns, Unsold listings report, Item number format): https://pages.ebay.com/sh/reports/help/downloadable-reports
- eBay Seller Hub Reports, Uploadable Templates (variation rows and the Name=Value syntax, the Edit price and quantity template): https://pages.ebay.com/sh/reports/help/uploadable-file-feeds
- eBay, How to use Seller Hub Reports (download steps): https://export.ebay.com/en/services-tools/seller-hub/seller-hub-reports/
Related converters
- Etsy to Shopify CSV converter
- Wix to Shopify CSV converter
- Squarespace to Shopify CSV converter
- WooCommerce to Shopify CSV converter
- BigCommerce to Shopify CSV converter
- Square to Shopify CSV converter
- Magento to Shopify CSV converter
- PrestaShop to Shopify CSV converter
- Ecwid to Shopify CSV converter
- eBay to WooCommerce CSV converter