Migrating content between SharePoint Online tenants can be a daunting task, especially when dealing with large amounts of data, metadata, and permissions. Whether you’re moving due to a merger, acquisition, or just restructuring, choosing the right migration approach is crucial.
1. Manual Download & Upload (Basic Method)
π Best for: Small-scale migrations (document libraries only)
The simplest way to move files is by manually downloading them from the source SharePoint site and uploading them to the destination. While this method is straightforward, it comes with significant limitations.
β Pros:
- No extra tools or setup required
- Works well for small document libraries
β Cons:
- Metadata (Created By, Modified By) is lost
- Permissions, version history, and workflows are not transferred
- Time-consuming and not scalable
2. ShareGate (Third-Party Tool β Paid)
π Best for: Full-scale SharePoint migrations (libraries, lists, metadata, permissions, workflows)
ShareGate is one of the most popular third-party tools for SharePoint migration. It provides a user-friendly interface and advanced options to retain metadata, permissions, and version history.
β Pros:
- Preserves metadata, permissions, and version history
- Supports Teams and OneDrive migration
- No scripting required β simple UI
β Cons:
- Requires a paid license
- Does not migrate Power Automate flows
3. Microsoft Migration Manager (Built-in Tool β Free)
π Best for: Large-scale document library migration
Microsoft offers Migration Manager, a free tool in the SharePoint Admin Center. It is great for moving large numbers of files but does not support lists or workflows.
β Pros:
- Official Microsoft-supported tool
- Handles large file migrations efficiently
β Cons:
- Does not migrate lists, metadata, permissions, or workflows
- Only supports document libraries
4. PowerShell with PnP (Scripted Approach)
π Best for: Migrating lists and document libraries with metadata using automation
For those comfortable with scripting, PowerShell and PnP (Patterns & Practices) PowerShell provide a flexible way to migrate content.
Example: Export and Import List Items
# Connect to source tenant
Connect-PnPOnline -Url "https://source.sharepoint.com/sites/MySite" -Interactive
Get-PnPListItem -List "Documents" | Export-Csv "Documents.csv"
# Connect to destination tenant
Connect-PnPOnline -Url "https://destination.sharepoint.com/sites/MySite" -Interactive
Import-Csv "Documents.csv" | ForEach-Object { Add-PnPListItem -List "Documents" -Values $_ }
β Pros:
- Retains metadata and lookup fields
- Fully automated process
β Cons:
- Permissions and version history are not preserved
- Requires PowerShell scripting knowledge
5. Power Automate (Microsoft Flow)
π Best for: Migrating documents and list items incrementally
Microsoft Power Automate can be used to create a flow that moves documents or list items from one tenant to another.
β Pros:
- Supports incremental migrations
- Good for automating repetitive transfers
β Cons:
- Does not migrate permissions or version history
- Slower for large-scale migrations
6. API-Based Migration (Graph API / REST API)
π Best for: Developers needing custom automation for migration
For organizations with unique requirements, using the Graph API or REST API can be a powerful solution.
Example API Call for Copying Files
POST /sites/{sourceSiteId}/drives/{sourceDriveId}/items/{sourceItemId}/copy
β Pros:
- Fully customizable and automated
- Works well for large migrations
β Cons:
- Requires development expertise
- Rate limits apply, which may slow down large migrations
7. Third-Party Migration Tools
- Share Gate (Easy steps to migration)
- AvePoint Fly (Comprehensive migration with reporting)
- Quest Metalogix (Enterprise-grade migrations)
- CloudM Migrate (Ideal for Teams & OneDrive migrations)
β Pros:
- Retains metadata, permissions, version history, workflows, and security settings
- Advanced logging and reporting
β Cons:
- Paid licenses required
Comparison Table: Which Migration Method is Right for You?
Method | Documents | Lists | Permissions | Metadata | Versions | Workflows | Ease of Use | Cost |
---|---|---|---|---|---|---|---|---|
Manual Copy-Paste | β | β | β | β | β | β | βββββ | Free |
ShareGate | β | β | β | β | β | β | ββββ | Paid |
Microsoft Migration Manager | β | β | β | β | β | β | βββ | Free |
PowerShell (PnP) | β | β | β | β | β | β | βββ | Free |
Power Automate | β | β | β | β | β | β | ββ | Free |
Graph API / REST API | β | β | β | β | β | β | ββ | Free |
AvePoint / Quest / CloudM | β | β | β | β | β | β | ββββ | Paid |
Final Thoughts: Whatβs the Best Migration Approach?
πΉ For simple document transfers β Microsoft Migration Manager or Power Automate
πΉ For full-scale migrations (Lists, Libraries, Metadata, Permissions, Versions) β ShareGate
πΉ For custom scripting automation β PnP PowerShell
πΉ For API-based migration β Graph API / REST API
πΉ For enterprise-grade migrations β AvePoint, Quest, or CloudM
Migrating SharePoint content between tenants doesnβt have to be overwhelming. By choosing the right tool and approach for your needs, you can ensure a smooth and efficient migration.
Accounting.js Branding Cascading StyleSheet Cheat Sheet Competitors Connect Content Type CSS Currency Date Formats Dates Flows Hillbilly Tabs HTML5 Javascript JavsScript JSON Format View NodeJs Numeral.js O365 Office 365 OneDrive Out Of The Box Overflow Permissions PnP PowerAutomate Power Automate PowerShell Pwermissions ReactJs Rest Endpoint Send an HTTP Request to SharePoint SharePoint SharePoint Modern SharePoint Online SharePoint Tabs ShellScript SPFX SPO Styling Sync Teams App Transform JS TypeScript