Overview
Moving from Shopify to Magento 2 (Magento Open Source or Adobe Commerce 2.4.x) means leaving a hosted platform for one you install, host and maintain yourself. Merchants usually make the move for control: Magento Open Source is licensed under OSL 3.0, one installation can run multiple websites, stores and store views, and you avoid Shopify's third-party transaction fees that apply when you use a payment gateway other than Shopify Payments. The data side is only partly native. Shopify exports products, customers and orders to CSV, and Magento's System > Data Transfer > Import handles products, customers and advanced pricing, but not orders. Order history, reviews and redirects usually need a migration tool or custom scripts, and the theme has to be rebuilt.
This guide covers moving from Shopify to Magento — see each platform's release history and version notes on its technology page.
Want a plan tailored to your Shopify → Magento migration?
Get my planWhat transfers cleanly from Shopify to Magento
- Products and variants: Shopify exports products to CSV (Products > Export), including variants and supported product metafields. Magento imports them through System > Data Transfer > Import with the Products entity, where variants become configurable products (
product_type,configurable_variations,configurable_variation_labels). The columns differ between the two platforms, so a mapping step is required. - Product images: Magento can import images from an external server by placing each image URL in the image column, or from
var/import/imageson the Magento server, with extra images per SKU in anadditional_imagescolumn. Shopify's product CSV does not include the image files themselves, so keep the Shopify store live until images have been pulled. - Customers and addresses: Shopify exports customers to CSV (with optional tags and metafields), and Magento imports them using the Customers and Addresses, Customers Main File, or Customer Addresses entities. Shopify's export files are capped at 15 MB, and exports of more than 50 customers are emailed rather than downloaded.
- Tiered and advanced pricing: Magento has a dedicated Advanced Pricing import entity, so price rules that live outside the base product price can be loaded separately from the catalog.
- Tax rates: Magento imports tax rates from CSV under Stores > Tax Rules (Import Tax Rates), which helps when rebuilding the tax setup.
- Orders, reviews, coupons and URLs via a migration tool: LitExtension's Shopify to Magento service lists orders, reviews, coupons, CMS pages, SEO URLs and metadata among the entities it moves, with an optional redirect from old Shopify URLs to the new Magento URLs.
What does not transfer
- Orders through the native importer: Orders is not an Entity Type in Magento's System > Data Transfer > Import. Shopify's order CSV is useful as a record, but historical orders need a migration tool or custom development to appear in Magento.
- Customer passwords: Shopify states customer passwords can't be migrated via CSV and doesn't list them in the customer export. Expect customers to set a new password on the Magento store.
- Gift cards: Shopify's gift card export shows only the last 4 characters of each code and Shopify says it can't be used to migrate cards to another system on its own. On the Magento side, gift cards are an Adobe Commerce feature and are not available in Magento Open Source.
- Discount codes: Shopify exports discounts to CSV only, and cart price rules are not an import entity in Magento, so discounts are recreated in Magento or moved by a tool that lists coupons.
- Reviews: Shopify reviews live in third-party apps (for example Judge.me), so their export depends on the app. Magento has native product reviews, but reviews are not an entity in its built-in importer.
- The Shopify theme and apps: Shopify themes are built with Liquid, JSON templates, CSS and JavaScript; Magento themes are made of layout files, template files, translation files and skins. The storefront has to be rebuilt as a Magento theme, and each Shopify app has to be replaced by a Magento extension, custom code, or a changed process.
- Shopify Payments: Shopify Payments is Shopify's own processor. On Magento you configure a different gateway (for example PayPal or the bundled Braintree extension), so payment setup is new rather than migrated.
- Collection membership in exports: Shopify's product CSV export does not include the Collection column, so category assignments in Magento have to be rebuilt from collection data obtained another way (for example via the Admin API or a migration tool).
Effort drivers
- Catalog size and shape: the number of products and variants, image volume, and metafield usage. Magento's importer has a default 2 MB upload limit (set in
php.ini), so large catalogs are imported in batches or with the limit raised. - Order history requirements: whether you need full historical orders in Magento, or only an archive. Because orders are not natively importable, this decision largely determines whether you need a paid tool or custom work. API-based exports must also request
read_all_ordersto see orders older than 60 days. - Edition choice: Magento Open Source versus Adobe Commerce. Gift cards are Adobe Commerce-only, and Adobe documents its B2B suite (company accounts, shared catalogs, negotiable quotes, purchase order approvals, requisition lists) as the Adobe Commerce B2B extension. Confirm which features you need before choosing.
- Hosting and operations: Magento must run on a supported stack. For 2.4.8 on-premises Adobe lists PHP 8.3/8.4, MariaDB or MySQL 8.4, OpenSearch 3, nginx, Composer, Valkey, RabbitMQ and Varnish, and it supports only the listed combinations. Someone has to provision, monitor, back up and patch it.
- Version lifecycle: Adobe publishes end-of-support dates per release (2.4.7 standard support ends May 31, 2027; 2.4.8 ends May 31, 2028; 2.4.9 ends May 31, 2029). Launching on a current release and budgeting for upgrades is part of the project.
- Multi-store and international scope: Magento's websites, stores and store views hierarchy supports several storefronts in one installation, but each one needs its own configuration, catalog scope, content and URL plan.
- Theme and app replacement: the storefront is a rebuild, and every Shopify app (reviews, subscriptions, loyalty, search, shipping, tax) needs a Magento extension, custom module or integration in its place.
- SEO footprint: the number of indexed product, collection, page and blog URLs that need a one-to-one 301 redirect, plus Shopify redirects you already maintain.
Recommended approach
Start with requirements and edition, not data. Write down why you are moving (customisation, B2B workflows, multiple storefronts, hosting control, payment gateway choice) and check each requirement against Magento Open Source versus Adobe Commerce. Gift cards are Adobe Commerce-only, and Adobe documents its B2B features as an Adobe Commerce extension. Choose your hosting at the same time: pick a supported 2.4.x release and build the stack exactly as Adobe's system requirements list it.
Export everything from Shopify early. Export products (with metafields), customers (with tags and metafields), orders, discounts and existing URL redirects to CSV. For larger stores or data the CSVs leave out (such as collection membership), use the GraphQL Admin API's bulk operations, which return JSONL, and request read_all_orders if you need orders older than 60 days. Keep the Shopify store running until image URLs have been pulled, because the product CSV does not contain the image files.
Map Shopify's model onto Magento's. Decide how handles become url_key values, how variants become configurable products, how collections become categories, and how metafields become Magento attributes. Then transform the CSVs into Magento's import format and load them through System > Data Transfer > Import (Products, Customers and Addresses, Advanced Pricing) in batches that fit the upload limit. Import images from external URLs or from var/import/images.
Decide how orders, reviews and coupons move. Magento's native importer has no Orders entity, so either use a migration tool that lists them (LitExtension's Shopify to Magento service covers orders, reviews and coupons and offers a free demo) or budget custom development. Run a demo or rehearsal migration and reconcile record counts and order totals against the Shopify exports.
Rebuild the storefront and integrations. Build a Magento theme (usually starting from Luma or Blank), set up payment methods (for example PayPal or Braintree), shipping (Flat Rate, Table Rates, or the UPS, USPS, DHL and FedEx integrations), tax rules and rates, and replace each Shopify app with an extension or custom module.
Protect SEO. Crawl the Shopify site and list every indexed /products/, /collections/ and /pages/ URL. Map each to its Magento URL and create URL rewrites with Redirect Type set to Permanent (301), or use your migration tool's redirect option. Set Magento's URL suffix and category-path options before you generate the redirect map so the targets don't change later. Generate the XML sitemap from Marketing > SEO & Search > Site Map, then submit it and monitor 404s after launch.
Cut over in a controlled way. Freeze catalog changes, run a final delta import of new customers and orders, test checkout, payment, tax, shipping, emails and redirects, then switch DNS. Tell customers they will need to set a new password, and keep the Shopify exports archived.
FAQ
- Can I migrate products from Shopify to Magento 2 with CSV files?
- Yes, for the catalog. Shopify exports products, variants and product metafields to CSV from Products > Export, and Magento imports products through System > Data Transfer > Import using the Products entity, with variants modelled as configurable products. The two CSV formats are different, so the file has to be transformed, not uploaded as-is. Shopify's export does not include image files or the Collection column, and Magento's importer has a default 2 MB upload limit, so large catalogs may need to be split into batches or the limit raised.
- Can Shopify orders be imported into Magento?
- Not with Magento's built-in importer. Shopify exports orders to CSV (one row per line item), but Orders is not one of the Entity Types in Magento's System > Data Transfer > Import. Historical orders need a migration tool that lists orders as a migrated entity, such as LitExtension, or custom development. If you pull orders through Shopify's Admin API, note that apps only see the last 60 days of orders unless the
read_all_ordersscope is granted. - Will customers keep their Shopify passwords on Magento?
- Plan as if they won't. Shopify's documentation says customer passwords can't be migrated via CSV, and it doesn't list passwords as part of the customer export. Magento's customer import can accept a password hash, but there is no documented way to get one out of Shopify. Budget for an account re-activation or password-reset communication at launch.
- Is there a Shopify to Magento migration extension or tool?
- Yes, LitExtension offers a Shopify to Magento / Adobe Commerce migration covering products, collections, customers, orders, reviews, coupons, CMS pages, SEO URLs, metadata and multilingual content. Pricing is per entity via its estimator, there is a free demo migration, and it includes an option to redirect old Shopify URLs to the new Magento URLs. Run the demo on a representative sample and check the results before paying for the full run.
- How do I keep my SEO when moving from Shopify to Magento?
- Map every valuable URL and add 301 redirects. Shopify uses fixed
/products/,/collections/and/pages/paths, while Magento URLs are built from a URL key with an optional.htmlsuffix and optional category path. Create Magento URL rewrites with Redirect Type set to Permanent (301) (or use your migration tool's redirect option), generate the Magento XML sitemap, and monitor 404s and indexing after launch. - What does running Magento add compared with Shopify?
- You take on the hosting stack and upgrades. Adobe lists a specific supported stack for each release; for 2.4.8 on-premises that is PHP 8.3/8.4, MariaDB or MySQL, OpenSearch, nginx, Composer, Valkey, RabbitMQ and Varnish. Each 2.4.x release also has an end-of-support date (for example, 2.4.8 standard support ends May 31, 2028), so plan regular version upgrades as well as hosting, monitoring and security patching.
