Migrate a SharePoint site from on-premises to SharePoint Online

Whole sites with subsites, lists, libraries, versions, metadata and permissions – SharePoint 2010–2019 / SE to Microsoft 365.

SharePoint MigratorO365 Migration9 steps30 minutes to set up

Before you start

  • A Windows PC with SharePoint Migrator (or O365 Migration) – free 7-day trial.
  • A Windows account that can read the source site (Site Collection Administrator is best).
  • A Microsoft 365 account that is Site Collection Administrator on the destination site (or SharePoint admin).
  • The destination site collection created in SharePoint Online (or connect to the admin center to see them all).

Step 1: Connect to the on-premises farm

Open Connections → Create new connection. Enter the address of the site (or the web application root), choose Windows – user name & password (NTLM) and type DOMAIN\user and the password – or Windows – current user if you are signed in to Windows with the right account. Click Connect.

Connect a new environment dialog with an on-premises site address, Windows user name and password

Step 2: Connect to SharePoint Online

Create a second connection with the destination site address, for example https://contoso.sharepoint.com/sites/HR (or the admin center https://contoso-admin.sharepoint.com to browse every site). Choose Microsoft 365 – browser sign-in: Microsoft's own sign-in page opens, with MFA and Conditional Access as usual. No App ID is needed. Both connections now show Connected and whether you are a site admin.

Connections list with an on-premises and a SharePoint Online connection, both connected

Step 3: Start "Copy structure and content" and pick the source site

Open Copy → Copy structure and content. Pick the source connection, then click the site (or subsite) to migrate in the tree and click Next.

Select source step with the site tree of the on-premises connection

Step 4: Pick the destination site

Pick the SharePoint Online connection and click the destination site. The source site can become a new subsite of it, or be merged into it (set in Options). Click Next.

Step 5: Choose what to copy

On the left choose the kind of object – Sites, Lists and libraries, Content types, Site columns, SharePoint groups, Permission levels, Managed metadata – and tick what to copy. Ticking the site under Sites copies the whole site: its lists and libraries with content, and (option) its subsites.

Copy structure step: site objects on the left, the source site selected, the destination site on the right

Step 6: Set the options

Click Options: copy as a subsite (with a new URL and title) or merge; what to do when items already exist (copy if newer is best for repeated runs); and what to keep – permissions, version history (all or the latest N), authors and dates, views, navigation, subsites, workflows.

Options dialog: copy as subsite or merge, conflict rule, permissions, versions, metadata

Step 7: Map users that changed

Click Mappings. Users with the same e-mail address are matched automatically. Map accounts that changed (for example contoso\olduser → newowner@contoso.com) by dragging or typing, or import a Source,Destination CSV. Set an Unresolved users account for people who left. Mappings are saved for the next migrations.

Mappings dialog mapping an old user to a new account

Step 8: Start (or schedule) and follow the report

Click Start copy – or Schedule for a start and end date and time. The report fills in live: every site, list, file and item with its status. Export it to CSV for your records; warnings and errors explain what to do.

Migration report with the copy completed and every item listed

Step 9: Run a catch-up before cut-over

Users can keep working in the old site. Before switching over, select the task in Tasks and click Run again: with copy if newer only new and changed items are copied, so the final run is short. Then make the old site read-only.

Good to know

  • Copy a test site first and check the report – it shows exactly what will need attention (long paths, blocked file types, missing users).
  • Permissions are recreated directly: nobody receives sharing invitations or notification e-mails during the migration.
  • Large sites: split them into several tasks (one per library or subsite) and set Run … at a time in Tasks to run up to 10 in parallel.