Magento is constantly evolving everyday, offering more and more robust versions. Due to the termination of Magento 1, there is a surge of online merchants leaving Magento 1 to Magento 2 for the sake of remaining on top of the competition with a wide set of innovative features.

And that’s when the demand for shopping cart data migration from Magento 1 to Magento 2 is higher than ever. Among various instructions floating all over the Internet, what is the best way to move Magento 1 to Magento 2?

To answer that question, today we have decided to delve into the analysis of several methods that you can use to migrate your store from Magento 1 to Magento 2.

Before going into the detail, let us say a few words: this in-depth analysis is expected to be long. So if you want to save time and see the comparison in the most intuitive view, this video will be helpful for you!

How Many Ways Store Owners Can Use To Migrate Their Store?

At the moment, online merchants have three options to migrate their store from Magento 1 to Magento 2:

  • Migrating manually with Magento Data Migration Tool.
  • Hiring a developer or a team of Magento specialists to perform the task
  • Using an automated migration service.

Store owners mostly perform manual migration from Magento 1 to Magento 2 themselves by putting Magento Data Migration Tool into use. Moreover, web agency/freelancers are applying this method to perform migration tasks. Store owners usually turn to developers when the process gets messy and technical support is needed.

So, speaking on a broad spectrum of data migration, there are mainly two methods to perform the process: using Magento Migration Tool or Automated Shopping Cart Migration Tool. Therefore, this article will step-by-step detail the way these two tools work. By putting them into comparison, we will figure out the best way to move Magento 1 to Magento 2.

How To Migrate From Magento 1 to Magento 2 with Magento Data Migration Tool

1. Overview

According to Magento DevDocs: “Data Migration Tool is a command-line interface (CLI) used for transferring data from Magento 1 to Magento 2. The Tool verifies consistency between Magento 1 and 2 database structures (tables and fields), tracks the data transfer progress, creates logs, and runs data verification tests.”

Generally, to use Magento Migration Tool, you need to equip yourself with a high level of technical knowledge. If you are not confident in performing complicated technical tasks, I strongly recommend you skip to the automated shopping cart migration tool.

2. Mode

The tool operates in three modes:

  1. Settings: migrates configuration settings
  2. Data: bulk migrates main data in the database
  3. Delta: transfers incremental data updates added to Magento 1 storefront and Admin Panel while running previous migration mode.

3. Pre-Migration Requirements

Before we jump into the detailed process to find out the best way to move Magento 1 to Magento 2, let me draft an overview of what steps you’re exactly going to take, as well as some requirements needed for the process.

Steps Requirements
Time Level of complexity Technical knowledge
Step 1: Install Data Migration Tool Depends on the Internet speed, server configuration.

Takes about 15 minutes for the package to be installed with required conditions.

Very Complicated Package installation on server

Server configuration

Appropriate PHP usage.

Step 2: Configure migration Around 15-30 minutes. Normal Fix code

Backup database.

Step 3: Migrate using Data Migration Tool This depends on the number of entities, responding time to connect and request server. If there’s any errors, database restore also takes (a lot of) time. Very Complicated Error scanning

Fix code

Run command line.

Step 4: Post-migration checkup Depends on the number of entities you migrate. The more entities you move, the more time you need to spend on checking up. Complicated Fix code

Repair missing or corrupted database.

4. Detailed Steps and Frequently-Faced Errors

Step 1: Install Data Migration Tool

1.1. Install Data Migration Tool

To install the Data Migration Tool, you must update composer.json in the Magento root installation directory to provide the location of the Data Migration Tool package. We will install this tool via Github as an example.

  1. Log in to your Magento server as, or switch to the Magento file system owner.
  2. Change to Magento 2 root directory.
  3. Enter the following commands:

migrate from Magento 1 to Magento 2
composer config git

best way to move Magento 1 to Magento 2
composer require magento/data-migration-tool
1.2. Check version of installed Data Migration Tool

Follow these steps:

  1. Change to your Data Migration Tool directory:
  1. Open composer.json
  2. The version entry in that file is the version of the Data Migration Tool.

Due to different demands of the package, different Magento versions require different PHP versions. For example, to use Magento version 2.3.4, the PHP version 7.3 is required. This may cause some troubles for store owners. You can look at one of the problems that may arise at Magento Community.

Step 2: Configure migration

2.1. Backup target store’s database

Follow the command:

mysqldump -uadmin  -p databasename target> databasename target.sql

best way to move Magento 1 to Magento 2
Backup target store’s database
2.2. Configure migration

Before you migrate any data, you must create a config.xml configuration file from the provided sample.

There are two possible ways to configure the Data Migration Tool for migration:

  • Configure migration in a separate module
  • Configure migration in vendor folder
2.2.1. Vendor folder
  1. Log in or switch to your Magento server as the Magento file system owner.
  2. Change to the following directory:
<your Magento 2 install dir>/vendor/magento/data-migration-tool/etc/<migration edition>/<ce or version>
  1. Enter the following command to create a config.xml from the provided sample:
cp config.xml.dist config.xml
  1. Open config.xml in a text editor.
  2. The config.xml file must contain access details to M1 and M2 databases and encryption keys.










<database host=”″ name=”magento1″ user=”root”/>



<database host=”″ name=”magento2″ user=”root”/>



<crypt_key />


best way to move Magento 1 to Magento 2
Access details to Magento 1 and Magento 2 databases

Optional parameters:

  • Database user password: password=<password>
  • Database custom port: port=<port>
  • Table prefix: <source_prefix>, <dest_prefix>

For example, if your database owner’s username is root with password pass and you use the prefix magento1 in your Magento 1 database, use the following in config.xml:
Magento 1 to Magento 2
When finished, save your changes to config.xml and exit the text editor.

Step 3: Migrate using Data Migration Tool

3.1. Migrate settings

To start migrating settings, run:

bin/magento migrate:settings [-r|--reset] {<path to config.xml>}


  • [-r|–reset] is an optional argument that starts migration from the beginning. You can use this argument for testing migration.
  • {<path to config.xml>} is the absolute file system path to the migration tool’s xml file; this argument is required.

The migration completed message is displayed after the settings are transferred successfully.

best way to move Magento 1 to Magento 2
Migration completed message
3.2. Migrate data

To start migrating data, run:

bin/magento migrate:data [-r|--reset] [-a|--auto] {<path to config.xml>}


  • [-a|–auto] is an optional argument that prevents migration from stopping when it encounters integrity check errors.
  • [-r|–reset] is an optional argument that starts migration from the beginning. You can use this argument for testing migration.
  • {<path to config.xml>} is the absolute file system path to config.xml; this argument is required
Frequently-Faced Errors

After testing this tool, we have come up with several errors (within tons of other errors) that you are likely to encounter when migrating data with this tool.

Error 1: MySQL Error 153 – Got a packet bigger than ‘max_allowed_packet’ bytes

This normally occurs when MySQL is running with default settings. Many Magento store owners have been encountering this. You can look into the error at Magento Stack Exchange.

Error 2: Integrity constraint violation

best way to move Magento 1 to Magento 2
Integrity Constraint Violation

Cause: This happens when you re-try a migration (e.g: because the first attempt failed). Therefore, the key in the table eav_attribute_set is duplicated.

Solution: Delete the table eav_attribute_set

Error 3: Undefined offset

best way to move Magento 1 to Magento 2
Undefined Offset

Cause: This happens because attribute_set_id in eav_attribute_group is duplicated.

Solution: Delete the database in two tables: eav_attribute_group and eav_attribute_set.

Error 4: Undefined offset due to missed keys

best way to move Magento 1 to Magento 2
Undefined Offset Due To Missed Keys

Cause: This error pops up because table eav_attribute has been deleted then reimported. However, during the way, few keys were missed out.

Solution: Start over the whole process from the beginning.

3.3. Migrate changes

To run recent data, run the command line

bin/magento migrate:delta [-r|--reset] {<path to config.xml>}

After running the following command line, we have encountered an unstoppable circle of data processing over and over.

best way to move Magento 1 to Magento 2
An Unstoppable Circle Of Data Processing

Step 4: Post-migration checkup

Since using the Magento Migration Tool is accompanied by a lot of errors, there’s obviously that your data is going to be missed out along the way. Below, we will point out some problems you might face when you have struggled to finish migration.

Error 1: Exception printing

best way to move Magento 1 to Magento 2
Exception Printing Error

Cause: It is a common error. You may face this error while installing a Magento 2 theme or module or anything goes wrong with cache folder.

The conflict between components like extensions or themes causes the “exception printing is disabled by default for security reasons” error in Magento 2.

Due to which, the Magento 2 cannot operate properly

Solution: Check local.xml file reflects username and password created in MySQL admin. This may change, especially if the software updates etc

Error 2: Data integrity
  •  Product Images Are Missed

Product Images Are Cut Off

After migration is finished, products images don’t show up in the target store, which means they must be dropped off along the way.

  • Customers are not transferred to Target Store

This is a very serious problem. Losing all your customers’ data after a platform switch can give you a hard time when the bond between you and your customers is broken.

Customer Table In The Source Store

Customer Table In The Target Store

What’s to conclude?

With all the aforementioned disadvantages, we can argue that Magento Data Migration Tool is not an ideal choice to move Magento 1 to Magento 2 due to highly technical demand and constant errors. If you want your data transfer to be smooth and error-free, we suggest you try an automated shopping cart migration service about which we’re going to discuss right below.

How To Migrate From Magento 1 To Magento 2 With Automated Shopping Cart Migration Tool

1. Overview

Automated shopping cart migration service is the most advanced method. It helps transfer product, customer, order, other data and information from one shopping cart to another automatically, accurately and securely.

Among several data migration services in the market, LitExtension is ranked number one. Not only can we migrate products, orders, customers but also multistore, CMS pages and so on. Especially, LitExtension provides additional options that allow you to expand the migration possibility, such as customer password, SEO URLs migration,… For the full information about what we can do, please see in our Magento 2 Upgrade service.

Currently, LitExtension supports more than 85 shopping carts on the market. Over 8 years, LitExtension has performed 140.000+ successful migrations. And the number is still constantly growing!

With 98% of user satisfaction according to FinancesOnline, LitExtension can confidently say that we are the most trustworthy and quality-proven shopping cart migration expert in the field.

Feedback upon migration from Magento 1 to Magento 2 with LitExtension on TrustPilot
Beside, we have also received a lot of other positive feedbacks from customers already enjoying our service. See more at “What Customers Say About Us”!

Now, don’t wait any longer, let’s move on to how to migrate from Magento 1 to Magento 2 with LitExtension.

2. Mode

LitExtension tool operates in two modes:

  1. Migrate data and settings
  2. Migrate incremental and updated data

3. Pre-Migration Requirements

Let’s review some steps our tool will involve accordingly, as well as the alongside requirements.

 Steps Requirements
Time Level of complexity Technical knowledge
Step 1: Set up your Source Store and Target Store About 5 minutes, including downloading/ uploading the connector. Easy Store owners need to know how to use FTP to transfer the connector to the root folder of two sites.
Wizard instruction stays by your side within every step you sweep through.
Step 2: Select Entities You Want To Migrate Less than a few minutes once you have made up your mind about the entities you want to migrate. Zero Only need a few clicks
Step 3: Perform Data Migration from Magento to Magento Depends on the amount of data you want to migrate. Usually it takes from less than an hour to a few hours. Zero Zero, since this is an automated migration tool so all your data is transferred automatically within a few clicks. Once the migration starts, you can turn off your computer, have a cup of coffee and an email will be sent to you once it’s done.

Detailed Steps And Frequently-Faced Errors

Step 1. Set up your Source and Target store

1.1. Access LitExtension and register/log in
Log in LitExtension website
Log in LitExtension website
1.2. Enter Magento Source Store Information

On the Migration Page, click Create New Migration at the top right button on the screen. Choose Magento as your source cart and fill in its URL in the corresponding field. Then, click LitExtension Connector to download the connector. This connector will set up a connection to your old store. Unzip it and upload to Magento 1’s root folder.

Source Cart Magento
Source Cart Magento
Right here, the Connector Installation will be automatically checked and informed on the screen without manual checking.
1.3. Enter Magento Target Store Information

Repeat the same setting procedure of the target store. Download LitExtension Connector, extract the zip file and upload the connector to Target Store’s root folder.

Set up stores
Setup Target Store
Frequently-Faced Error

At this step, you may encounter some connector setup issues regarding permission but that’s alright, we’ve summed them up and provided solutions alongside. Besides, a helpful support team already awaits there for your needs.

2. Select Entities You Want To Migrate

You can either choose all your data or only choose the necessary ones.

Choose entities to migrate
Choose entities to migrate

Additonal Options
Additonal Options

If desired, at this stage, you can select additional options that will help to extend the data import functionality. LitExtension has developed the features to help you solve important problems following migration. For instance, to minimize the SEO effect after switching, you can create 301 redirects to your target store.

In addition, you are able to map order statuses and customer groups in this phase. Choose necessary descriptions and every data to migrate respectively.

Language and Order status Mapping
Language and Order status Mapping
3. Perform Data Migration from Magento 1 to Magento 2

You can try demo first or run full Magento 1 to Magento 2 migration imediately.

  • To Try Demo: Start your demo migration with a limited number of entities. You will see the same actions as the actual migration.
  • To Perform Full Migration: Please click the “Skip Demo Migration” button to perform full migration immediately. Our tool will display a report showing the number of entities you have selected to migrate after demo migration.
Full migration is running
Full migration is running

4. Review

Simply head to your Target Store to check the result. 

In order for the data to show on the frontend, you need to run command line (login with SSH) to resize images, reindex, and clear cache as follows:
bin/magento catalog:images:resize

php bin/magento cache:clean

php bin/magento cache:flush

php bin/magento indexer:reindex

Note: Out-of-stock products are disabled on Magento store by default. This means they will not be shown on the frontend and not visible to your customers.

To display these products, you need to follow these steps:

  • Go to System > Configuration > Catalog > Inventory > Stock options > Choose “Yes” in Display Out of Stock Products and click “Save config”

5. Migrate incremental and updated data

Your data transfer with LitExtension has just been completed and you’re going to set up the new store for some time. You’ll be dealing with design customization, discovering the new admin panel or digging into new SEO features. In the meantime, your old store still stays active and keeps receiving new entities or you can make updates on your old store. Therefore, it’s certainly important to transfer all the new entities and updates to the target store in order to keep it up-to-date.

LitExtension offers you 3 options that can address this concern

  1. Recent Data Migration: This function enables you to automatically transfer all the new data that appear in your source store after the complete platform switch.
  2. Re-Migration: This option helps you to transfer everything all over again including data that has been transferred before, data that newly appear in your source store and data that has been updated
  3. Smart Update: It updates data that has been modified in your Source store after the migration. At the same time, LitExtension will migrate any new data in your old store will be to your new one. This option can solve the problem better and quicker than a re-migration.
Usage conditions

All these 3 options are free and you can use them for unlimited times under these conditions:

  • You have performed full migration with LitExtension within 3 months before.
  • The total additional entities is less than 10% the total number of entities in initial migration.

Above, we’ve walked you through the process of migrating data from Magento 1 to Magento 2 with LitExtension. However, we also conducted a more comprehensive guide on how to upgrade Magento 2. This guide covers all the things needed for the upgrade including how to set up a brand new Magento 2 store, how to back up data, how to migrate extension and so on. Check it out, it’s super helpful!


 Magento Migration Tool  LitExtension  Winner
Ease of Use Must have a high level of technical knowledge to solve errors. The tool is user-friendly and step-by-step instructions are well-constructed. LitExtension
 Cost This tool might cost up to $2500 in case of errors and conflicts. Depends solely on the number of entities you are planning to transfer. You can estimate the price and time you need for your migration with LitExtension pricing tool. LitExtension
Transfer-Related Risk Risk involves the data losses (product images and customers’ absence in the target store is an example). LitExtension can guarantee 0% data loss during your migration with our advanced technology and excellent customer support team. LitExtension
Support Over The Process DIYers shall have no support, but if you hire 3rd party, then support is available. In case of any questions or special requests, there is a highly qualified and accessible support team that is always ready for you 24/7 via ticket, phone, live chat, or email. LitExtension
Supported Versions Magento Open Source version 1.6.x, 1.7.x, 1.8.x, 1.9.xMagento Commerce version 1.11.x, 1.12.x, 1.13.x

This tool supports these following versions  when you migrate from Magento Open Source to Magento Commerce: 1.6.x, 1.7.x, 1.8.x, 1.9.x

The supported Magento 2 version ONLY ranges from 2.2.3 to 2.3.4

All versions LitExtension
Migration Tracking You can’t keep track of what’s happening with your data, as well as can’t have control over the process. Migration process is performed by the LitExtension tool; however, you can monitor every step through the migration interface. The full migration process automatically runs in the background amid the internet or browser connection. You can even turn off your PC and we will send you an email once the process is complete. LitExtension
Demo Migration You can’t preview the process, therefore, you might not be certain about the service. LitExtension gives you the opportunity to preview the service before the full migration. You can transfer limited entities with our free demo and see the effectiveness and accuracy of the process yourself.  LitExtension
Outstanding features

Compared to Magento Data Migration Tool, an automated shopping cart migration like LitExtension can easily surpass with a number of superior features. In short, some notable advantages worth being mentioned here are:

  • No programming or software skills needed
  • Top-notch data migration quality
  • Widest array of transferable entities
  • 100% current store uptime
  • FREE Demo migration
  • 24/7 tech support and assistance
  • Flexible pricing strategy
  • Absolute data security


The demand for Magento 2 upgrade is booming, which is a fact we cannot deny. Among migration services in the market, entrepreneurs may find it difficult to identify the best way to migrate Magento 1 to Magento 2 that would suit both business requirements and budgets.

Fortunately, LitExtension offers a powerful automated migration tool that supports smooth migration not only from Magento 1 to Magento 2, but also all across various types among shopping carts. Because of all these above robust and innovative features, LitExtension has been the best pick for almost every business that is looking forward to switching to any eCommerce stores.

Finally, we hope that the above-mentioned analysis will help you to be in the know, allowing you to make deliberate decisions in finding the best way to move Magento 1 to Magento 2. Should you happen to have any questions or opinions regarding our migration from Magento 1 to Magento 2 service, we have a wonderful support team for your needs. Click here to contact them! Last but not least, let’s join our community to get more eCommerce knowledge.