Here’s the per-user number before a vendor wraps it in a fixed bid. A cutover Microsoft 365 migration under 150 mailboxes runs $15 to $40 a mailbox in tooling; a hybrid at enterprise scale runs $50 to $200. But the honest all-in number, once you count labor and license overlap, lands closer to $50 to $200+ per user. Tenant-to-tenant moves cost more again. Want yours sized against your mailbox count? Reach out and we’ll scope it.
We’re gmware, a software development firm headquartered in Austin, TX with engineering centers in Bangalore and Mohali, India. We plan and run cloud migrations, so the numbers below are the ones we’d hold ourselves to, not a demo’s best case. Here’s the per-mailbox math by migration path, the tenant-to-tenant premium, the SharePoint line, and full-project examples by user count.
Microsoft 365 migration cost at a glance
Microsoft 365 migration cost by path
The migration path drives the per-mailbox number, and the path is set by how many mailboxes you’re moving. Here’s the table.
| Migration path | Mailbox count | Cost per mailbox (tooling) |
|---|---|---|
| Cutover | Under 150 | $15 to $40 |
| Staged | 150 to 2,000 | $25 to $75 |
| Hybrid | 2,000+ | $50 to $200 |
Per-mailbox cost by migration path
Those are tooling numbers. They’re also the numbers a vendor quotes when they want the sticker to look small. The real cost sits in the next section.
Why the true cost is $50 to $200+ per user
Vendors quote $2 to $15 a mailbox for tooling, but true total cost of ownership runs $50 to $200+ per user once you count everything the tool doesn’t do. The gap is labor and overlap:
- Migration labor at $85 to $175 an hour. Someone plans the batches, maps the data, and babysits the cutover.
- License overlap. You pay for the target Microsoft 365 licenses while the source system is still running. On Business Premium at $22 a user a month, a 500-user org is burning $11,000 a month before the first mailbox moves.
- Downtime and rework. A mailbox that migrates wrong is a support ticket, and a wave of them is a bad week.
Here’s the pattern across real project sizes, so you can find your row:
| Org size | Scenario | First-year all-in |
|---|---|---|
| 15 users | Small biotech | ~$20K |
| 75 users | Mid-size accounting firm | ~$80K |
| 200 users | M&A tenant-to-tenant integration | $60K to $120K |
Note the 200-user M&A row costs more than the 75-user one by a wider margin than headcount alone explains. That’s the tenant-to-tenant tax, and it’s the next section.
Why tenant-to-tenant costs 2 to 3 times more
Tenant-to-tenant migrations, the kind you hit in a merger or a rebrand, are the most expensive moves, running 2 to 3 times a standard migration for the same user count. Two reasons.
First, double licensing. Both companies already run Microsoft 365 in separate tenants, so during the overlap you’re paying for two live environments. Second, the reconciliation is harder: identities, permissions, and data have to merge across two orgs that set everything up differently. The tenant-to-tenant tooling itself runs $12 to $25 a mailbox versus $2 to $20 for a standard move, and the tooling is the small part.
Our opinion, and we’ll say it plainly: tenant-to-tenant is where most self-run migrations go sideways. The permission mapping and the identity merge are where a weekend cutover becomes a three-week incident. If you’re merging tenants, price the help before you price the tool.
The SharePoint line nobody scopes
Mailbox math is the easy half. SharePoint is the half that surprises people. Permissions, workflows, custom sites, and versioning don’t move cleanly, so someone rebuilds content maps, fixes broken links, and decides what versioning survives. That’s labor at $85 to $175 an hour on top of everything above.
A flat document library is cheap to move. A heavily customized intranet, with nested permissions and a decade of workflows, is a project of its own. Microsoft’s free SharePoint Migration Tool handles the straightforward cases; the customized ones need real hands. Scope your SharePoint separately, or it becomes the line that blows the timeline.
If your move is broader than email and documents, our cloud migration cost for small business guide covers the wider picture, and the cloud migration services page lays out how we run the whole thing.
When to run it yourself
Sometimes DIY is the right call, and we’ll tell you when. Self-service holds up when:
- You’re under roughly 25 users with clean, simple data.
- It’s a straightforward cutover, not tenant-to-tenant.
- Your mailboxes are small and your SharePoint is basic.
- You can absorb a little downtime without it costing real money.
For a 500-mailbox move, Microsoft’s FastTrack covers $15K to $40K of partner-equivalent value at no charge, which shrinks the case for paying for the simple stuff. DIY breaks down at scale, at tenant-to-tenant, and against a hard deadline where a bad cutover costs more than the help would have. Know which side of that line you’re on before you commit.
How gmware runs a Microsoft 365 migration
We start with a mailbox and SharePoint inventory, because the count and the complexity set the whole budget. A short assessment (how many mailboxes, how big, how much archive and PST data, how custom your SharePoint is, and whether it’s tenant-to-tenant) tells us which path fits and what it actually costs, before you’re committed to a number.
Delivery runs through our cloud migration practice: engineers in Bangalore and Mohali, planning and accountability in Austin, on hours that overlap yours so the cutover isn’t happening while you sleep. That structure is why our quotes tend to land under US-only shops without the cheapest-offshore quality cliff.
Tell us how many mailboxes you’re moving and whether it’s a tenant merge. Reach out and we’ll give you a straight answer on path, cost, and timeline within 48 hours.