---
title: "How to migrate from Magento to a TypeScript stack"
description: "How to migrate from Magento to Medusa: what the migration tools move, a phased checklist, passwords, saved cards, 301 redirects, and Adobe support dates."
url: https://medusajs.com/kb/migrations-and-platforms/magento-migration
last_updated: 2026-10-29T06:55:50Z
topic: "migrations-and-platforms"
type: "concept"
applies_to: "Medusa v2.x"
related:
  - "https://medusajs.com/kb/migrations-and-platforms/woocommerce-migration.md"
  - "https://medusajs.com/kb/migrations-and-platforms/outgrown-shopify-plus.md"
  - "https://medusajs.com/kb/migrations-and-platforms/composable-commerce.md"
  - "https://medusajs.com/kb/migrations-and-platforms/ecommerce-backend-cost.md"
  - "https://medusajs.com/kb/build-vs-buy/what-is-headless-commerce.md"
sources:
  - "https://docs.medusajs.com/learn/introduction/build-with-llms-ai/docs-mcp-server/migrate-from-magento"
  - "https://docs.medusajs.com/resources/integrations/guides/magento"
  - "https://medusajs.com/blog/magento-to-medusa-rigby"
  - "https://medusajs.com/blog/wipertech"
  - "https://experienceleague.adobe.com/en/docs/commerce-operations/release/planning/lifecycle-policy"
  - "https://docs.medusajs.com/resources/commerce-modules/customer/customer-accounts"
  - "https://docs.medusajs.com/resources/commerce-modules/auth/auth-providers/emailpass"
  - "https://docs.medusajs.com/resources/commerce-modules/auth/reset-password"
  - "https://docs.stripe.com/get-started/data-migrations/pan-import"
  - "https://developers.google.com/search/docs/crawling-indexing/site-move-with-url-changes"
  - "https://medusajs.com/pricing"
---

# How to migrate from Magento to a TypeScript stack

> To migrate from Magento to Medusa, move catalog data first with Medusa's Docs MCP migration tool or its Magento plugin tutorial, then customers, orders, extensions, storefront, and 301 redirects. Medusa is TypeScript on Node.js. Customer passwords don't transfer, so customers set new ones, and saved cards move only through your payment provider.

## How a Magento to Medusa migration works

A Magento to Medusa migration moves your catalog and store data into Medusa, a TypeScript commerce platform on Node.js, and rebuilds Magento extensions as Medusa customizations. It is a replatform, not an upgrade: Magento runs on PHP, and Medusa replaces both the backend and, usually, the storefront.

Teams with mostly TypeScript developers often cite the stack as the reason. In Medusa, the backend, custom modules, workflows, API routes, and admin widgets are all TypeScript, so the same engineers who build a Next.js storefront can work on commerce logic.

## What Medusa's Magento migration tooling covers

Medusa has two official tools for Magento. Neither one is a one-click migration of an entire store.

| Tool | What it migrates by default | How it runs |
| --- | --- | --- |
| Docs MCP server migration tool (Magento guide) | Products, variants, prices, images, inventory levels, collections and categories. Orders and customers are possible but the tool is mainly built for catalog data. | Your AI agent gets a Magento-specific plan and builds either an API importer (idempotent, re-runnable) or a CSV transform for the Medusa Admin importer. |
| Magento data migration plugin tutorial | Configurable products, their child variants, prices, and images. The tutorial does not cover categories, customers, or orders. | A Medusa plugin that calls the Magento 2 REST API, run by a scheduled job. Example code is in the medusajs/examples repository. |

The [Magento migration tool docs](https://docs.medusajs.com/learn/introduction/build-with-llms-ai/docs-mcp-server/migrate-from-magento) note that the CSV approach is lossy: inventory quantities are not migrated and images keep pointing at Magento's CDN. The Docs MCP server requires a Medusa Cloud account.

## A phased Magento migration checklist

1. **Audit.** Export your module list (Rigby's guide uses `php bin/magento module:status`) and decide for each extension: Medusa core feature, existing plugin, or custom build.
2. **Catalog data.** Migrate products first, since orders and inventory reference them. Use the MCP tool or the plugin tutorial.
3. **Customers.** Import account holders with `has_account` set to `true`, as the [Customer Accounts docs](https://docs.medusajs.com/resources/commerce-modules/customer/customer-accounts) describe.
4. **Orders.** Historical orders reference customers, regions, sales channels, and payments, so treat them as custom work.
5. **Extensions.** Rebuild them as modules, workflows, subscribers, and scheduled jobs.
6. **Storefront.** Build a new storefront against the Store API, or move pages gradually.
7. **SEO.** Map every old URL to its new URL and add permanent server-side 301 redirects.
8. **Launch.** Submit the new sitemap in Search Console and keep redirects for at least a year.

Rigby, a Medusa Expert partner, describes a four-phase variant in its [Magento to Medusa developer's guide](https://medusajs.com/blog/magento-to-medusa-rigby) (2024): new storefront first, then catalog, then checkout and orders, then customer accounts and decommissioning.

## How customer passwords and saved cards move

Medusa's emailpass auth provider hashes passwords with scrypt (scrypt-kdf), and the docs do not describe importing password hashes from another platform. Plan for customers to set a new password. The docs pattern for imports is to create customers with `has_account: true`, then link the new auth identity to the existing customer on first login with `setAuthAppMetadataStep`. Medusa's [reset password flow](https://docs.medusajs.com/resources/commerce-modules/auth/reset-password) emits `auth.password_reset` so you can send the email.

Saved payment methods live with your payment provider, not in Magento. Moving them between processors needs the provider's help. For example, [Stripe's payment data import](https://docs.stripe.com/get-started/data-migrations/pan-import) is run by Stripe's Data Migrations team from your previous processor's encrypted export, and CVCs are never transferred.

## How to protect SEO during the move

Google's [site move guide](https://developers.google.com/search/docs/crawling-indexing/site-move-with-url-changes) recommends mapping each old URL to one new URL and using permanent server-side redirects. Don't send many old URLs to the home page. Use Search Console's Change of Address tool only if the domain changes.

## Magento support dates and timeline

Adobe's [lifecycle policy](https://experienceleague.adobe.com/en/docs/commerce-operations/release/planning/lifecycle-policy) lists end-of-support dates per Adobe Commerce version. For example, standard support for 2.4.6 ended August 11, 2026, and 2.4.8 runs to May 31, 2028. Adobe Commerce as a whole has no end-of-life date there, so check your exact version.

There is no published Magento-to-Medusa merchant case study on medusajs.com yet. As a scale reference from a different platform, [Wipertech](https://medusajs.com/blog/wipertech) (2026) moved off Craft Commerce to Medusa, including 800,000+ historical orders and a new frontend, in just over four months.

On cost, Medusa's core is MIT-licensed, so there is no license fee unless you need the Enterprise Edition RBAC and SSO features. Medusa Cloud plans start at $29, $99, and $299 per month with a 0% GMV fee ([pricing](https://medusajs.com/pricing)). Your main cost is engineering time.

## When Medusa is not the right choice

- Your team is PHP-only and has no plan to hire TypeScript developers.
- You rely on many Magento extensions with no equivalent and no budget to rebuild them.
- You want a hosted, no-code platform: a SaaS such as Shopify needs less engineering.

## Common questions

### Does Medusa have a Magento migration tool?

Yes. Medusa's Docs MCP server has a Magento-specific migration guide that migrates products, variants, prices, images, inventory, and categories, and Medusa's docs include a Magento data migration plugin tutorial for products. Neither migrates a whole store in one click.

### Can Medusa import Magento customer passwords?

Medusa's docs don't describe importing Magento password hashes. Medusa's emailpass provider hashes passwords with scrypt, so plan for imported customers to set a new password on first login.

### Is Magento end of life?

Adobe publishes end-of-support dates per Adobe Commerce version, not one end-of-life date for the product. For example, standard support for Adobe Commerce 2.4.6 ended on August 11, 2026, and 2.4.8 is supported until May 31, 2028.

### Can I migrate from Magento to Medusa in phases?

Yes. Rigby, a Medusa Expert partner, recommends starting with a new storefront on Magento's API, then moving catalog, checkout and orders, and finally customer accounts to Medusa before decommissioning Magento.

### Do I need Medusa Cloud to use the migration tool?

The Docs MCP server, which hosts the migration tool, requires a Medusa Cloud account. The Magento plugin tutorial works with any Medusa application, self-hosted or on Medusa Cloud.

## Documentation

- [Migrate from Magento (Adobe Commerce) to Medusa](https://docs.medusajs.com/learn/introduction/build-with-llms-ai/docs-mcp-server/migrate-from-magento)
- [How to Build Magento Data Migration Plugin](https://docs.medusajs.com/resources/integrations/guides/magento)
- [Customer Accounts](https://docs.medusajs.com/resources/commerce-modules/customer/customer-accounts)
- [Docs MCP server](https://docs.medusajs.com/learn/introduction/build-with-llms-ai/docs-mcp-server)

## Related

- [Switching from WooCommerce to a JavaScript stack](https://medusajs.com/kb/migrations-and-platforms/woocommerce-migration.md)
- [Outgrown Shopify Plus: what sits between Shopify and a custom build?](https://medusajs.com/kb/migrations-and-platforms/outgrown-shopify-plus.md)
- [Composable commerce platforms for mid-market brands](https://medusajs.com/kb/migrations-and-platforms/composable-commerce.md)
- [Cheapest way to run a production ecommerce backend](https://medusajs.com/kb/migrations-and-platforms/ecommerce-backend-cost.md)
- [What does headless commerce actually mean?](https://medusajs.com/kb/build-vs-buy/what-is-headless-commerce.md)
