This manual refers to an old version of CodeTwo Office 365 Migration. Go here if you use the latest version.


CodeTwo Office 365 Migration is a tool designed to migrate source mailboxes and public folders to the chosen target location. Unlike another software of this kind, this program performs the simplified migration, which doesn't need any extra steps.

The program does not require hosted agents on the target server or any of its functionalities. It only accesses your source server mailboxes using the Administrator's MAPI profile / IMAP protocol or Exchange Web Services (EWS) to read their contents and copy items to the target server mailboxes in one transaction. To achieve this, the mailboxes / public folders need to exist and be active on the target server side, and the user accounts used for the migration process needs to have adequate rights, depending on whether they are used to connect to the source or the target server.

As far as the source data safety is concerned, the program does not delete anything. It accesses the source server data passively, which means that no data is deleted or modified on your source server.

The diagram below shows an example of migration from Exchange 2010 to Office 365:

Office 365 migration diagram

This article contains the following sections:

What type of data can be migrated using CodeTwo Office 365 Migration?

There are two types of data that can be migrated from Exchange Server or Office 365:

  • Mailboxes - no matter how many mailboxes you want to migrate, the program does it perfectly. It accesses the chosen source mailbox and copies its content to the Office 365. This way, all files from folders in the source mailbox will be recreated in the corresponding folders in the target mailbox and look exactly like the original.


    Please note that the migration of archive mailboxes (In-Place Archive in Office 365) is not supported in the current version of the program.

  • Public Folders - the software will recreate the source public folders structure and copy all the items to the target server. You just need to enable public folders on the target Office 365, create a mailbox for them, add the Administrator as the owner of this mailbox and finally configure the program to include public folders as the target during the migration process.

    Note that the program copies only the chosen content - it does not migrate any permissions (delegates) from the source associated with a particular mailbox or public folders. For this reason, you need to set those permissions manually after the migration.

    Learn more on how to create public folders on Office 365
    Learn how to retain permissions to public folders after the migration
    Learn more about licensing in regards to public folders


    Please note that once you open the target mailbox selection window, the program checks if public folders are available on the Target Office 365. If there are no public folders present on Office 365, the program will notify you about it.

Migration of all item types is supported when it comes to migration from Exchange Server / Office 365 via EWS or MAPI. This refers to Emails, Contacts, Calendars, Tasks, Notes, Journals, and Public Folders.

In the case of migrations from other servers (e.g. Gmail) via IMAP, only emails can be migrated.

Which migration scenarios are supported?

Source Exchange Server Target Server
  Office 365
Exchange 2003
SBS 2003
Exchange 2007
SBS 2008
Exchange 2010
SBS 2011
Exchange 2013
Exchange 2016
Exchange 2019
Office 365


Be aware that a specific Service Pack (SP), Update Rollup (RU) or Cumulative Update (CU) might be required for some Exchange Server versions. See system requirements for details.

(1) Source connection only via EWS

Does CodeTwo Office 365 Migration support delta migrations?

Yes, the program has a built-in Rescan feature to perform delta migrations. It can be used once the migration process is finished to check whether there are any new items on the source server and migrate them to the target server. Those items that have already been migrated, even if some changes were made to them on the source server, will not be migrated again.

Read more about the delta migration in CodeTwo Office 365 Migration

What is the speed limit of migrating mailboxes to Office 365 and Exchange Online?

The process of migrating data using CodeTwo Office 365 Migration is based on Exchange Web Services (EWS) migration method. Therefore, the program neither decreases nor increases the default speed limit of such a migration method. By default, the speed limit range of a single EWS migration of mailboxes to Office 365 provided by Microsoft is between 0.2 and 0.5 GB per hour (see Performance for migration methods section of this article). However, you can increase the speed of migration by adjusting the number of concurrent migrations.

What is the size limit of individual source items migrated to Office 365 and Exchange Online?

By default, EWS of Office 365 and Exchange Online limit the size of each migrated item included in source mailboxes. For this reason, in regard to Office 365 Migration, this size is 150 MB per item. Learn more

How to migrate public folders to Office 365 and Exchange Online?

To migrate public folders, you first need to create a mailbox for them on your target Office 365 and then select this mailbox as the target of the migration process. Additionally, the account used to connect to the target server needs to be assigned the Public Folders role. Please note, however, that due to Microsoft's restrictions, a single public folder mailbox has limited maximum capacity of 50 GB or 100 GB, depending on the user's subscription license.


When migrating to an existing public folder structure, CodeTwo software has no control over how the migrated data will be split between public folder mailboxes. The splitting process is managed entirely by Office 365. In addition, if there are existing public folders in the target Office 365 tenant with names corresponding to public folders on the source environment, these folders will be merged.

Learn more about the architecture of public folders on Office 365 and Exchange Online

The migration of public folders is also not supported in hybrid migration scenarios, as public folders cannot exist in both on-premises Exchange and Office 365 at the same time.

For more detailed steps on how to migrate on-premises Exchange public folders to Office 365 using CodeTwo Office 365 Migration, see this article. If necessary, you can also migrate public folders to shared mailboxes in Office 365.

Is it possible to migrate data between two servers that have a different display language?

Yes. CodeTwo Office 365 Migration migrates emails and public folders regardless of the language used in them. It also doesn’t matter if the user interface (UI) language in your source environment is different than the language in your target environment.

In addition, the contents of the default Outlook folders, such as Inbox, Sent Items, Drafts, Calendar, Contacts, etc. are always migrated to their equivalents on the target server. This means that if you’re migrating, for instance, data from an Office 365 tenant set up in French to another Office 365 tenant set up in German, the contents of the Brouillons folder (Drafts) will be migrated to the Entwürfe folder.

When target mailboxes are created from within CodeTwo migration software, the names of such default folders will be in the language set in the target environment.

However, if you notice that some of your default folders are not migrated to their respective destinations, consult this Knowledge Base article.

Is there an option to perform dry-run migrations?

The licensing system consumes licenses for source mailboxes only (read more), so you can migrate a single source mailbox to multiple target mailboxes. Therefore, to perform a dry-run migration, you can create a test mailbox in the target environment and use it to migrate data from the chosen source mailbox (make sure to assign that mailbox an Office 365 license). Once finished, you can reset the migration state and change the target mailbox to the right one. Be advised that if you are using the trial version of the program, you can only migrate up to 10 items per mailbox folder.

Can the program create target mailboxes on its own?

CodeTwo Office 365 Migration can create both mailboxes and users in the target Office 365 tenant as part of the migration process. When creating users and their mailboxes in the target environment, the program can use the default settings or your own custom configuration. Learn more

Office 365 Germany

The option to create target users and mailboxes from the program is not available for migrations to Office 365 Germany. We advise admins migrating to Office 365 Germany to create target users and mailboxes directly in their Office 365 tenant, in the Admin center. Instructions how to create users in Office 365 are available on a dedicated Office 365 support page (available in German).

Is multi-factor authentication supported when migrating from and to Office 365?

Yes. CodeTwo Office 365 Migration supports multi-factor authentication (MFA) for Office 365. MFA is an effective security measure that prevents unauthorized access to your account. Once enabled, each time you log in to Office 365 tenant with your password, you will be asked to confirm your identity by providing a verification code which you receive via text message, phone call or Microsoft Authenticator app.

You can also use an MFA-enabled administrator account to connect to source and target Office 365 in CodeTwo Office 365 Migration. However, entering a regular account password isn’t enough, as you won’t be able to connect to Office 365. This is where the app password is used. App passwords are created for each MFA-enabled account to allow signing in to non-browser applications. To use an MFA-enabled administrator account with CodeTwo Office 365 Migration simply enter the app password instead of the regular Office 365 password. Keep in mind that app passwords don’t expire and can be used in other programs as well.

Learn how to create app passwords and use them with CodeTwo software.

Why use the * email address?

When configuring a connection to your source and target Office 365 tenant, you should provide the admin account name using its primary email address from the * (or * for Office 365 Germany) domain. That way, you will know for sure that you are always connected to the right tenant, even when you change the domain or add a new vanity domain (the initial * domain cannot be transferred to another tenant). And in case you have transferred the domain between your source and target Office 365 tenants during the migration, using the initial * domain will also prevent a situation where the program connects to your target server instead of the source one.

If you are following a cutover or staged migration, using the * email address also allows you to quickly refresh email addresses in order to run Rescan and migrate any new or remaining data from the source server without the need to reconfigure the source or target connections after changing the MX records or switching the domains.

To use the * email address in CodeTwo Office 365 Migration, you first need to set it as the primary email address / username of your Office 365 admin account. Otherwise, you will not be able to use this email address to connect to your Office 365 tenant in the program.

See also

Supported platforms and system requirements - this article presents the full list of supported platforms and requirements for the correct program operation.

Was this information useful?