CodeTwo Office 365 Migration is a tool designed to migrate source mailboxes and public folders to the chosen target location. Unlike other 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 Exchange Web Services (EWS), Graph API, the Administrator's MAPI profile or IMAP protocol 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 (you can create target user mailboxes directly in the program, learn more), 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
Fig. 1. Example of migration from Exchange 2010 to Office 365.

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.
  • 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, and add the admin account used in the program as the owner of this mailbox. Finally, configure the program to include public folders as the target during the migration process. If public folders already exist in the target Office 365 tenant, the admin account need to be the owner of all subfolders to which you intend to migrate your data. 

    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.

When migrating from a hosted Exchange server via EWS, you can transfer entire mailboxes along with their folder structure only.

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 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

All supported migration scenarios are listed here.

Does the program support migrations from hosted Exchange servers (e.g. Rackspace, Intermedia and GoDaddy)?

Yes, this migration scenario is supported. To successfully complete the migration from a hosted Exchange environment/provider, you should remember about a few prerequisites. You need to have the ApplicationImpersonation role assigned for the source mailboxes you intend to migrate. It is also necessary to create users in your target environment and prepare a CSV file with matched source and target mailboxes beforehand. Learn more

Does CodeTwo Office 365 Migration support delta migrations?

Yes, the program has a built-in 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 (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?

By default, EWS in Office 365 (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 archive mailboxes?

First, make sure archive mailboxes (In-Place Archives) exist in your target environment. If not, see this article to learn how to enable them.

Next, if you intend to migrate archive mailboxes that are larger than 100 GB, you also need to enable auto-expanding archiving in Office 365 (Exchange Online). Learn more


Note that it can take up to 30 days until additional storage space (another 100 GB) is provisioned after enabling auto-expanding archiving. For this reason, the migration of archive mailboxes larger than 100 GB can take 30 days or more, depending on the size of your source archive mailboxes. The storage limit of archive mailboxes in Exchange Online is 1.5 TB.

When your target environment is ready, proceed to configuring a migration job in CodeTwo Office 365 Migration. In the Mailbox types step of the configuration wizard, you can select to migrate archive mailboxes together with primary mailboxes or separately.

In the Match mailboxes step of the wizard, use Automatch if you want the program to automatically match your source archive mailboxes to their target counterparts. If you want to migrate the contents of source archive mailboxes to primary mailboxes that exist in your target Office 365 tenant, perform manual matching instead.


If you don't yet have primary mailboxes in your target environment, consider using CodeTwo software to first migrate primary mailboxes only. That way, the program can create the target primary mailboxes automatically. Learn more

How to migrate public folders?

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. The admin account used to establish a connection with the target Office 365 tenant needs to be assigned the Owner permission level to the root public folder on that tenant and to all subfolders to which the data will be migrated. Please note 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 (learn more). 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 in Office 365 (Exchange Online)

To migrate public folders within a hybrid environment, you need to complete special preparations described in the first section of this article, 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 (Microsoft 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


This feature is not available for migration scenarios using a CSV file with matched source and target mailboxes (e.g. a migration from a hosted Exchange server). You need to create users in your target environment and prepare the CSV file prior to using the program.

Tip: If you have already created new mailboxes in your target Office 365 tenant, it is possible to hide them from the GAL (e.g. to prevent your users from sending emails to them until the migration is finished). These mailboxes will be still visible in CodeTwo Office 365 Migration and the migration will proceed as usual.

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.

Does the program support legacy authentication protocols when connecting to Office 365?

No, CodeTwo Office 365 Migration uses OAuth 2.0 authorization protocol to connect to your Office 365 tenant. The legacy (or basic) authentication is being deprecated by Microsoft and will be turned off on October 13, 2020.

While basic authentication requires providing a username and password in the program to access Office 365, with OAuth 2.0 your credentials are safe, as you provide them directly on the Entra ID (Azure AD) sign-in page. That way, your credentials never accessed by our software (or any other third party) but are forwarded directly to Microsoft servers.

See also

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

In this article

Was this information useful?