Migration guide

OpenCart to Shopify migration for established retailers

OpenCart is free, lightweight and popular with retailers who like control of their own code. As a store grows, that control comes with hosting, extensions, upgrades and a catalogue structure that doesn’t map neatly onto anything else. Here’s how to migrate OpenCart to Shopify with your products, customers, orders and rankings intact.

15 min readUpdated October 2026350+ Shopify stores500K+ products migrated20+ years
Shopify PartnersGoogle PartnerMeta Business PartnerKlaviyo K:Partners

The short answer

OpenCart is free, open-source ecommerce software that you host yourself. It’s quick to set up and easy to extend, which is why many retailers started on it. Running it as an established business means looking after the hosting, the PHP version, extensions from many different developers, and upgrades between major versions.

Moving OpenCart to Shopify takes that layer away. The data moves well: migration tools support OpenCart as a source, and products, customers and orders map onto Shopify. The work is in three places: turning OpenCart’s options into Shopify variants, getting data out of a platform with no native CSV export, and redirecting URLs that, by default, are query strings.

I’ve engineered more than 350 Shopify stores and migrated over 500,000 products in 20 years. This guide covers where OpenCart is today, what moves, how options and URLs map, the tools, and when staying on OpenCart is the better call.

4.1.0.4Latest OpenCart release on GitHub
EveryOpenCart URL mapped and redirected
4 weeksMy Shopify migration package, brief to live store
From $19,997Shopify migration package, USD (UK: £14,997 + VAT)

Want to know how your OpenCart store would map across? I’ll check in the free audit.

Book a free audit

Who this guide is for

This guide is for established retailers on OpenCart, whether on version 2, 3 or 4, with a catalogue that has grown over the years, a list of extensions, customers and orders to keep, and search rankings worth protecting. Many such stores were built by a developer who has since moved on, which makes every upgrade and change harder than it should be.

If your OpenCart store is current, stable and well looked after, read when to stay on OpenCart first.

Where OpenCart is today

OpenCart is developed as an open-source project, with its releases published on GitHub. As of October 2026:

BranchLatest releaseMinimum PHP
4.14.1.0.4, marked “Latest” on GitHub8.1 (enforced in 4.1.0.4)
3.03.0.5.1, released alongside 4.1.0.4, adding PHP 8.5 support8.1 for 3.0.5.x; 7.3 for older 3.0 releases
Sources: OpenCart releases on github.com/opencart/opencart and the installer source code for each release, accessed 24 October 2026.

Because OpenCart is self-hosted, the version of PHP on your server matters too: newer OpenCart releases need PHP 8.1 or later, and older releases may not run on current PHP at all, which can make hosting changes and upgrades harder to schedule.

Two things follow. Stores on older 3.0 releases or on version 2 are running software well behind the current branches, often with extensions that won’t work on newer versions. And moving from 3 to 4 is a substantial upgrade, because extensions and themes built for 3 generally need replacing. That upgrade is the natural moment to compare staying with moving.

What moves to Shopify

OpenCartShopifyWhat to watch
ProductsProductsUsually straightforward
Options and option valuesOptions and variants, or add-onsStock and price are held per option value, not per combination
Master and variant products (v4)Products with variantsMap each group to one Shopify product
AttributesMetafieldsIdeal for filters and specification tables
CategoriesCollections and menusNested trees become collections plus navigation
ManufacturersVendor field or collectionsBrand pages may need their own template
Customers and customer groupsCustomers, tags or B2B companiesGroup pricing decides the approach
OrdersHistorical ordersImported after products and customers
ReviewsReview appImported and matched to products
CouponsDiscount codesRules checked against Shopify discounts
Information pagesPagesRebuilt in the theme and redirected
ExtensionsApps, theme features or nothingMany are no longer needed
Based on OpenCart source code and migration tool documentation, accessed 24 October 2026.

Options, variants and stock

OpenCart’s options are where most migrations need judgement. In OpenCart’s database, stock, price adjustments (with a plus or minus), points and weight are stored per individual option value, not per combination of options. So a T-shirt with a size option and a colour option has stock for “Large” and stock for “Blue”, but not for “Large Blue”.

Shopify works the other way round. Each variant is a specific combination, with its own stock, price and SKU, built from up to three options, up to 2,048 variants per product. So before import, combinations and their stock have to be worked out:

  • Single-option products map directly: each option value becomes a variant.
  • Multi-option products need combinations generated, with stock and prices decided for each. Where the old store didn’t track combination stock, that’s a business decision, not a technical one.
  • Options that don’t affect stock, such as text fields, file uploads or add-ons, use a product options app or theme feature instead of variants.
  • OpenCart 4 master and variant products map to one Shopify product with its variants.

Price adjustments need the same care. In OpenCart, choosing an option can add or subtract an amount from the base price. On Shopify, each variant simply has its own price, so the final price of every combination is calculated before import and checked against the old store for a sample of products. The same goes for weights, which affect shipping rates.

OpenCart attributes, the descriptive specifications grouped into attribute groups, map naturally to Shopify metafields, where they can power filters and specification tables.

Cleaning the catalogue

OpenCart catalogues that have grown over years tend to share the same untidiness, and the migration is the moment to fix it:

  • Missing or duplicate model codes and SKUs, resolved so every Shopify variant has a unique SKU for stock, feeds and marketplaces.
  • Option names and values normalised, so “Colour” and “Color”, or “XL” and “X-Large”, become one consistent set.
  • Attributes consolidated, merging overlapping attribute groups into clean metafields buyers can filter on.
  • Descriptions tidied of old inline styling and editor leftovers.
  • Disabled and out-of-range products left behind, with their URLs redirected to the best live alternative.
  • Images checked so every product has its main image first and descriptive alt text.

OpenCart URLs and redirects

OpenCart’s SEO URLs are switched off by default in both version 3 and version 4. Without them, URLs are query strings:

PageDefault OpenCart URLWith SEO URLsShopify
Product (v3)index.php?route=product/product&path=20&product_id=42/product-keyword/products/product-handle
Product (v4)index.php?route=product/product&language=en-gb&product_id=42/product-keyword/products/product-handle
Categoryindex.php?route=product/category&path=20/category-keyword/collections/category-handle
Information pageindex.php?route=information/information&information_id=4/page-keyword/pages/page-handle
From OpenCart 3.0.5.1 and 4.1.0.4 source code, accessed 24 October 2026. SEO URL keywords are stored per product and category; exact formats depend on your settings and extensions.

Most established OpenCart stores have SEO URLs switched on, but many have both formats indexed, because query-string URLs were live before SEO URLs were enabled, or because some links still use them. The redirect map covers both: each product ID and each SEO keyword is mapped to its new Shopify URL. Product URLs that include a category path are covered too.

Shopify allows up to 100,000 redirects on standard plans, and its folders such as /products/ and /collections/ can’t be renamed. My Shopify migration SEO guide covers how the map is built and tested.

Getting data out of OpenCart

OpenCart has no native CSV export for products. Its built-in backup tool exports database tables, including customers and orders, as SQL, and CSV exports need an extension. For a migration, that usually means one of two routes: a migration tool that connects to the store directly, or reading the data from the database and mapping it into Shopify’s formats.

Shopify’s Store Migration app doesn’t list OpenCart as a source. Cart2Cart supports OpenCart to Shopify across a wide range of versions, moving products, categories, manufacturers, customers, orders, coupons and reviews, with 301 redirects and SEO URLs as options. LitExtension also supports OpenCart, noting that options and attributes “may need careful handling”. Matrixify can import OpenCart data once it’s converted to its template. My Shopify migration tools guide compares them.

Customers and orders

Customers, addresses and order history move, with newsletter consent carried on each record. Shopify’s guidance is to import products first, then customers, then historical orders, so each order links correctly. Orders arrive as historical records with notifications switched off, and order statuses are mapped so completed, cancelled and refunded orders report properly.

Shopify says customer passwords can’t be migrated from another store by CSV. LitExtension says OpenCart passwords aren’t transferred; Cart2Cart offers an extension for it. Shopify’s customer accounts sign customers in with a one-time code sent to their email, so a clear launch email is usually all that’s needed.

OpenCart customer groups, often used for trade pricing, become customer tags or, where prices differ by group, Shopify B2B companies and catalogues. Since April 2026, Shopify’s Basic, Grow and Advanced plans include core B2B features with up to three active catalogues.

Extensions and themes

  • Retire caching, SEO, security and performance extensions; Shopify handles that layer.
  • Rebuild in the theme product tabs, filters, specification tables, badges and layout extensions.
  • Replace reviews, email marketing, feeds, marketplace connectors and accounting links with Shopify apps or integrations.

Extension data deserves a check: reviews, loyalty points and blog extensions often store their data in their own tables. Those are listed at the audit and extracted separately. Your OpenCart theme doesn’t transfer; the new store is designed and built as a Shopify theme.

OpenCart to Shopify migration: a person holding a cardboard box on a table
A migration is the chance to rebuild the store around how customers actually shop.

Upgrade to OpenCart 4, or move?

Upgrade to OpenCart 4Move to Shopify
DataUpgraded in placeMigrated and restructured
Extensions and themeUsually need replacing for version 4Replaced by a Shopify theme and apps
Hosting and PHPStill yours; PHP 8.1 or laterNot your concern
URLsCheck how SEO URLs carry overAll change; every one redirected
Future upgradesYours to plan and testShopify updates continuously

If you have a developer you trust and want to keep control of your code, upgrading keeps that control. If you’d rather spend the time selling, moving is the stronger long-term choice.

Payments and integrations

  • Payments. OpenCart payment extensions are replaced by Shopify Payments or your provider’s Shopify integration. Shopify Payments is available in the UK and many other countries; Shopify adds a fee when you use a third-party provider instead.
  • Shipping and tax. Shipping methods, geo zones and tax classes are rebuilt as Shopify shipping profiles and tax settings, and tested with real orders.
  • Stock, accounting and marketplaces. Each connection is named in the scope and tested before launch.

Ways to migrate OpenCart to Shopify

Migration app

Low

Cart2Cart or LitExtension move products, customers and orders, with redirects as an option.

Right for: small, tidy stores with an in-house team.

Freelancer

Varies

Can work well. Check they’ve handled OpenCart options, query-string URLs and extension data before.

Right for: mid-sized stores with a clear brief.

Recommended

Managed migration

From $19,997

Data, options, redirects, design, integrations and launch handled as one project, with a fixed fee and scope in writing.

Right for: established retailers with revenue and rankings to protect.

Preparing your OpenCart store before the move

  • Take a full backup of files and database, and keep it after launch.
  • Note your OpenCart version and every extension installed, with what each does today.
  • List products with more than one option and decide how combination stock should be set.
  • Check whether SEO URLs were always on, or switched on later, so both formats are mapped.
  • Pull your top pages from Search Console so the URLs that matter are checked at launch.
  • Keep hosting live until the move is confirmed.

How an OpenCart migration runs

My Shopify migration package runs over four weeks from signed brief to a live store. Very large catalogues and complex integrations can take longer, and I’ll tell you if yours will after the audit, before you commit.

  1. Week 1: audit and mapCatalogue, options, extensions, integrations and rankings reviewed; every OpenCart URL mapped.
  2. Week 2: design and buildA custom theme built around the restructured catalogue while OpenCart keeps trading.
  3. Week 3: move and connectData imported in the right order, integrations connected and tested, redirects loaded.
  4. Week 4: test and launchCheckout tested on real devices, a final data sync, DNS switched, then 30 days of monitoring and fixes.

Multi-store and languages

OpenCart can run several stores, and several languages, from one installation. On Shopify, several countries or languages for one brand usually become a single store using Shopify Markets, with up to 20 languages on standard plans and 30 on Plus. Genuinely separate brands usually become separate Shopify stores, or expansion stores on Shopify Plus if they share a brand. Each language version’s URLs are mapped to the matching Shopify market URL, so international rankings come across too.

Launch week

  • A short content freeze on OpenCart, so nothing is lost between the final sync and launch.
  • A final delta import of customers and orders placed since the main migration.
  • Redirects tested in bulk, including query-string and SEO URL formats, with top pages checked by hand.
  • Stock checked on multi-option products, against the combinations agreed at the audit.
  • DNS switched carefully, changing only the website records so email keeps working.
  • The new sitemap submitted in Search Console, and crawl errors watched daily.

What improves after the move

  • No more hosting, PHP or version upgrades to plan and test.
  • Accurate combination stock, so customers can’t order a size and colour you don’t have.
  • Clean, readable URLs with every old one redirected.
  • Fewer moving parts, with features built into the theme rather than spread across extensions.
  • A team that can manage the store without the developer who built it.

Choosing a Shopify plan

OpenCart is free to download, so Shopify’s monthly plan can look like a new cost. The fair comparison is with what you spend now on hosting, extensions, security and the developer time to keep everything working together. Shopify’s US pricing lists Basic at $39, Grow at $105 and Advanced at $399 a month billed monthly, with local prices on its UK site; all include unlimited products and, since April 2026, core B2B features for trade customers. I recommend a plan after the audit, based on how you actually sell; my Shopify Plus migration guide covers when the top plan is worth it.

Protecting rankings

Beyond the redirect map, meta titles, descriptions and keywords for products, categories and information pages are carried into Shopify’s SEO fields, category descriptions move into the new collection templates, and image alt text moves with each image. A baseline of rankings, clicks and organic revenue is captured before launch and checked daily afterwards, because Google says rankings can fluctuate while a moved site is recrawled and recommends keeping permanent redirects in place for at least a year.

What an OpenCart migration costs

My Shopify migration package starts from $19,997 USD, or £14,997 + VAT for UK clients, with flexible plans depending on the deposit paid. It includes the audit, a custom theme, migration of products, images, customers, orders and content, every old address redirected, integrations connected, launch and 30 days of post-launch fixes. I’m UK-based and work remotely with retailers all over the world. Outside the UK, the package starts from $19,997 with no VAT, quoted in US dollars after the free store audit.

Against that, set what you stop paying: hosting, extension licences, upgrade work and developer time. My Shopify migration cost guide covers what moves the price, and my PrestaShop to Shopify migration guide covers a similar move from another open-source platform.

Common mistakes

Assuming option stock maps to variants. OpenCart tracks stock per option value; Shopify per combination.

Redirecting only SEO URLs. Query-string URLs may still be indexed and linked.

Forgetting extension data. Reviews and loyalty data often live outside the core tables.

Moving attributes as text. Structure them as metafields so they power filters.

Cancelling hosting too early. Keep OpenCart running until the final sync is done.

When to stay on OpenCart

  • You’re on a current release with a developer you trust and extensions that work.
  • You rely on custom code that would be expensive to rebuild anywhere else.
  • Your store is small and simple. If you do move, a migration tool may be enough, and I’ll tell you if it is.

For established retailers facing a major OpenCart upgrade, moving to Shopify is often the better use of the same budget. For the full service, see my Shopify migration service, and for a large catalogue move in practice, the Lipton’s Shopify migration case study, with more than 2,800 products migrated.

Get a straight answer on whether to move from OpenCart.

Book a free audit

OpenCart to Shopify migration: FAQ

Yes. Products, options, attributes, categories, customers, orders, reviews and information pages all move, and every OpenCart URL is redirected to its new Shopify address.
As of October 2026, 4.1.0.4 is marked as the latest release on OpenCart’s GitHub, and the 3.0 branch’s latest is 3.0.5.1. Both require PHP 8.1 or later.
OpenCart stores stock per option value, while Shopify stores it per combination, so combinations and their stock are worked out before import. Options that don’t affect stock use an app or theme feature.
Yes. Both query-string URLs such as index.php?route=product/product&product_id=42 and SEO URLs change to Shopify’s /products/ and /collections/ formats. Every old URL gets a permanent redirect.
Not if the migration is managed properly. A complete redirect map, carried-over metadata and daily monitoring against a pre-launch baseline protect rankings.
Not natively. OpenCart’s backup tool exports SQL, and CSV export needs an extension. Migration tools usually connect to the store directly instead.
No. Cart2Cart and LitExtension support OpenCart to Shopify, and Matrixify can import OpenCart data converted to its template.
Shopify says passwords can’t be migrated by CSV, and vendors differ on workarounds. Customers sign in on Shopify with a one-time code sent to their email.
Both are substantial projects. Upgrading keeps you in control of your own code and hosting; moving to Shopify removes hosting and upgrades from your list for good.
Hosting, SEO and performance extensions are retired, layout features are built into the theme, and reviews, email and integrations move to Shopify apps.
My Shopify migration package runs over four weeks from signed brief to a live store. Very large catalogues or complex integrations can take longer, which I’ll tell you after the audit.
My Shopify migration package starts from $19,997 USD, or £14,997 + VAT for UK clients, with flexible plans depending on the deposit paid. Shopify plans and apps are paid separately.

Sources

OpenCart releases and PHP minimums: github.com/opencart/opencart releases (4.1.0.4 and 3.0.5.1) and installer source code for each release, accessed 24 October 2026. OpenCart URL defaults, SEO URL setting and option data structure: OpenCart 3.0.5.1 and 4.1.0.4 source code, accessed 24 October 2026. OpenCart exports: LitExtension, “OpenCart import export”, updated 7 October 2026. Migration tools: shopping-cart-migration.com and litextension.com OpenCart to Shopify pages, matrixify.app and Shopify’s Store Migration listing, accessed 24 October 2026. Shopify variants, redirects, import order, customer passwords and B2B: Shopify Help Center and changelog, accessed 24 October 2026. KA Consultancy prices and proof points as published on the Shopify migration services page.

Free store audit

Find out what your OpenCart move involves.

A free review of your OpenCart store, catalogue, extensions and rankings, with the risks named and a fixed price for the move if you want one.