The old file server still holds the HR handbook, the finance templates, and years of shared folders nobody wants to sort by hand. Dragging all of that into SharePoint through a browser isn’t a migration plan.
In this tutorial, we’ll install the SharePoint migration tool, move a real folder from a file share into a document library on /sites/SPGuides, and check the result, step by step with screenshots from our own run.
We’ll also cover the settings that matter, where the reports land, the limits to plan for, and when Migration Manager is the better choice.
Quick answer: The SharePoint Migration Tool (SPMT) is Microsoft’s free Windows app for copying file shares and SharePoint Server 2010, 2013, 2016, and 2019 content into SharePoint, OneDrive, or Teams. Install it, sign in with your Microsoft 365 account, select File share > Add new migration > Single file share source, choose the folder, pick the site and library, review the settings, and select Start.
What You Need Before You Start
SPMT runs on a Windows computer that can reach both the source folder and Microsoft 365. Before the first run, we make sure the target library already exists. If it doesn’t, create a document library in SharePoint Online first; ours is called Migration Demo.
- Destination permissions: SharePoint Administrator or Global Administrator for organization-level migrations, or site admin of the target site collection. Microsoft recommends the role with the fewest permissions that does the job.
- Source access: read access to the file share (or SharePoint Server credentials with Read access for site content).
- A Windows machine: Windows 10 client or Windows Server 2016 or later, with .NET Framework 4.6.2 or later.
- Disk space: 150 GB free for the SPMT working folder, which defaults to %appdata%\Microsoft\MigrationTool.
- Open endpoints: the sign-in, Azure storage, and *.sharepoint.com endpoints Microsoft lists for SPMT. Proxy connections aren’t supported by default.
| Component | Recommended | Minimum (expect slow runs) |
|---|---|---|
| CPU | 64-bit quad core or better | 64-bit 1.4-GHz 2-core |
| RAM | 16 GB | 8 GB |
| Local storage | SSD with 150 GB free | Hard disk with 150 GB free |
| Network | 1 Gbps network card | High-speed internet connection |
Not sure whether you’re a site admin on the destination? Our guide on how to check site permissions in SharePoint Online shows where to look.
Step 1: Install SPMT and Sign In
Download the General Availability build from Microsoft’s Install SPMT page on Learn and run the installer. On first launch, SPMT shows the Microsoft Pick an account window, then a SharePoint Migration splash screen while it loads. Sign in with the account that has access to the destination, because these credentials are for Microsoft 365, not the source.
We ran version 4.3.130.12. Its home page says the tool helps you migrate your SharePoint and File share content to Microsoft 365, and it has three areas: SharePoint (scans and migrations), File share, and SharePoint migration data package.
Step 2: Start a File Share Migration
In the File share section, select Add new migration. The same section reminds you that file share content can also go through Migration Manager, which we compare later. If you’re still deciding where the files should live, read when to use OneDrive vs SharePoint before you continue.

Under Select a method, choose Single file share source, which is for content on your local computer or a network file share. The other option, Bulk migration using JSON or CSV file, takes a list of sources and destinations; we cover that in a separate bulk migration guide.

Step 3: Choose the Source Folder
On Select a source, enter the folder path under File share you want to migrate, or select Choose folder and browse to it. Our test folder, SPGuides Policies, held six files: three HR documents, two Finance files, and Company Holidays 2026.docx at the root.
Then pick one of the two options. Migrate selected folder and folder contents is the default and recreates the SPGuides Policies folder in the library. Migrate only folder contents drops the files and subfolders straight into the destination without that top-level folder.

This is a good moment to tidy the source, because SPMT copies the structure exactly as it finds it. Our SharePoint folder structure best practices guide explains how deep folders should go.
Step 4: Pick the SharePoint Site and Library
On Select a destination, SPMT offers SharePoint, OneDrive, and Microsoft Teams. We selected SharePoint. If your team works mostly in channels, see Microsoft Teams vs SharePoint to decide which target fits.

Next, enter the site URL under Enter the SharePoint site where you want to migrate your content; ours ends in /sites/SPGuides. The Location you want to migrate to dropdown then lists the site’s libraries. We picked Migration Demo. Each library also has a Create folder option if you want the content inside a new folder.

Step 5: Review the Migration and Its Settings
Review migration shows the default name, such as Migration 10/24 23:16, plus a row with the Source, Destination, and Migration type (File share). Rename it if you’ll run several jobs. Add another migration lets you queue more sources in the same job.

Select Next to reach Review settings. Our run used the defaults: Only perform scanning Off, Preserve file share permissions Off, and Automatic user mapping On. Turn on preserved permissions only if the NTFS permissions on the share are clean, and review our SharePoint permissions best practices before you do.

Select View all settings for filters such as version history, hidden files, date cutoffs, and blocked extensions. Settings changes should happen before you submit the job. When you’re ready, select Start, or Save to run it later.
Step 6: Start the Migration and Watch Progress
The progress page shows the percentage, minutes elapsed, the current stage (Migrating structure, then Migrating), and the total items scanned. You can pause or cancel from the same page, and View reports works while the job runs.

Our job finished in about a minute. The Migration complete dialog reported 6 out of 6 items migrated, 183.99 KB out of 183.99 KB, 6 items scanned, and a total elapsed time of 1 min.

Back in the list, the job shows Completed with its start and end times. Select + New here to add the next migration, or search by name when the list grows.

We also saw the note Slow connection between SPMT and Azure is affecting performance on the completed page. It didn’t stop our small job, but on a large share it’s a hint to check your upload bandwidth, the machine’s disk speed, and network distance to Microsoft 365.

Step 7: Check the Results and Reports
Open the library and confirm what arrived. In Migration Demo we found a new SPGuides Policies folder (the root folder was kept, since we left the default option) containing HR with three files, Finance with two, and the holiday calendar at the root.
If you plan to reorganize afterward, our guide on how to create a folder in SharePoint helps you set up the new layout.
View reports opened a WF_ folder with Log and Report subfolders. Microsoft says to read the summary reports first:
- SummaryReport.csv: one row with the total size, file count, and duration.
- FailureSummary.csv: created only when something fails. No file means no failures.
- ItemReport.csv and ItemFailureReport.csv: every item the task tried, and only the failed ones.
- ScanSummary.csv: scanned items, items with issues, and items filtered out by settings.
SPMT Settings Cheat Sheet
These are the settings we check on every job. Defaults marked as tested come from our run; the rest are documented behavior. If you keep version history, it helps to understand document library best practices for the destination too.
| Setting | What it does | Default / note |
|---|---|---|
| Only perform scanning | Scans as a pre-assessment without moving files | Off (tested) |
| Preserve file share permissions | Copies permissions on the migrated files | Off (tested) |
| Automatic user mapping | Maps on-premises users to Microsoft Entra ID users | On (tested, documented default) |
| Migrate file version history | Off moves only the latest version | Set Keep all versions or a number |
| Include hidden files | Off skips hidden system files | Check before migrating app data |
| Migrate files created / modified after | Skips files older than the date | Useful for retention cleanup |
| Don’t migrate files with these extensions | Blocks file types | Colon-separated, no dot (tmp:bak) |
| Replace invalid filename characters | Swaps characters like ” * : < > ? / \ | | Off skips those files |
| Migration auto re-run | Reruns the task to catch changes | Run once or up to 5 times |
| Root folder | Recreates the selected folder in the library | Kept by default (tested) |
What SPMT Migrates and What to Plan Around
SPMT handles local and network file shares, SharePoint Server 2010, 2013, 2016, and 2019, and SharePoint Foundation 2010 and 2013. For SharePoint sources it covers files, folders, list items, permissions, versions, managed metadata, navigation, many web parts, and out-of-the-box sites.
It can also move SharePoint Server 2010 out-of-the-box workflows and SharePoint Designer 2010 and 2013 workflows to Power Automate, which matters if you still run the kind of approvals in our SharePoint Designer workflow examples.
A few limits shape the plan. Each file can be up to 250 GB, and the decoded path plus file name can’t exceed 400 characters. SPMT isn’t available for Office 365 operated by 21Vianet, and Windows authentication isn’t supported when the on-premises server has several authentication providers. SPMT copies content, so the source files stay where they are.
Can You Run SPMT With PowerShell?
Yes. Microsoft ships PowerShell cmdlets on the same migration engine, and they need Windows PowerShell 5.x (PowerShell 6.0 or later isn’t supported). A minimal file share job registers a session, adds a task, and starts it:
Import-Module Microsoft.SharePoint.MigrationTool.PowerShell
# Credentials for the destination tenant (SharePoint Online)
$SPOCredential = Get-Credential
Register-SPMTMigration -SPOCredential $SPOCredential -Force
Add-SPMTTask -FileShareSource "\\fileserver\SPGuides Policies" `
-TargetSiteUrl "https://yourtenant.sharepoint.com/sites/SPGuides" `
-TargetList "Migration Demo"
Start-SPMTMigration
One thing caught us in testing: Register-SPMTMigration -SPOUseEntraAuth $true failed until we also turned on custom Azure storage, because Entra authentication in PowerShell requires your own storage account. Without that, use -SPOCredential as shown. For small one-off uploads, uploading files with PnP PowerShell is often simpler.
SPMT vs Migration Manager: Which One Should You Use?
Both use Microsoft’s migration engine, but they scale differently. We use SPMT for one machine and a few shares, and Migration Manager when a project spans many servers.
| SharePoint Migration Tool | Migration Manager | |
|---|---|---|
| Where it runs | Desktop app on one Windows machine | SharePoint admin center, with agents on servers |
| Scale | One computer per instance | Multiple agents, grouped for performance |
| Sources | File shares, SharePoint Server, workflows | File shares, Google Workspace, Box, Dropbox, Egnyte |
| Monitoring | Per machine, local report folders | Central task progress and downloadable reports |
Common Mistakes to Avoid
- Putting a CSV path in Single file share source. SPMT says “This folder does not exist or cannot be opened. Please try again.” and keeps Next disabled. Go back and pick Bulk migration using JSON or CSV file.
- Renaming or moving files between runs. Microsoft warns that changing migrated files before the final incremental run leads to overwrites. Wait until cutover before you move folders in SharePoint Online.
- Running behind a proxy. Errors such as “SharePoint login fail” or “Can’t load document library” usually mean the proxy is blocking SPMT.
- Ignoring long paths. Deep folder trees break the 400-character limit. Shorten them at the source first.
- Leaving invalid characters to chance. With Replace invalid filename characters off, those files are skipped, and a package with more than 100 errors is blocked.
Does SPMT Delete Files From the Source?
No. A migration copies the content, and Microsoft states that the source files aren’t deleted. That’s why we keep the share read-only after cutover, so nobody edits the old copy by mistake.
Next Steps
Run one small folder first, check the reports, and only then schedule the big shares, ideally with incremental reruns before cutover. For more site and library setup guides, browse our SharePoint tutorials.
We’d keep these library and site guides open while you plan the move:
Frequently Asked Questions
Is the SharePoint Migration Tool free?
Yes. Microsoft describes SPMT as a free migration solution for moving on-premises SharePoint sites and file shares to Microsoft 365. See the SharePoint Migration Tool overview for the current download links.
What permissions do I need to use SPMT?
For organization-level migrations, sign in as a SharePoint Administrator or Global Administrator. For one site collection, being its site admin is enough. You also need read access to the source.
Where does SPMT save its reports?
Select View reports on a task to open its report folder. In our run it held Log and Report subfolders. Migration details opens the summary reports, starting with SummaryReport.csv.
Can SPMT migrate to OneDrive or Teams?
Yes. The Select a destination step offers SharePoint, OneDrive, and Microsoft Teams, so you can send a file share to a user’s OneDrive or a team’s channel files.
Does SPMT keep file versions and permissions?
It can. Migrate file version history and Preserve file share permissions are settings you set before the job. Microsoft’s SPMT settings reference lists every option and default.

Hey! I’m Bijay Kumar, founder of SPGuides.com and a Microsoft Business Applications MVP (Power Automate, Power Apps). I launched this site in 2020 because I truly enjoy working with SharePoint, Power Platform, and SharePoint Framework (SPFx), and wanted to share that passion through step-by-step tutorials, guides, and training videos. My mission is to help you learn these technologies so you can utilize SharePoint, enhance productivity, and potentially build business solutions along the way.