PLATFORM
Gmail Migration Tool
MigrationFox migrates Gmail mailboxes to Microsoft 365 Exchange Online with folder-tree preservation, label-to-category mapping, sender attribution via internet message headers, and original received dates. Works with both individual Gmail accounts (OAuth) and Google Workspace tenants (a service account with domain-wide delegation for bulk mailbox migrations). Mail only: calendars, contacts and tasks are not migrated.
Folder & Label Handling
Gmail's label model is fundamentally different from Outlook's folder tree: a single message can carry multiple labels (e.g. INBOX + a custom label + IMPORTANT). MigrationFox translates this faithfully:
- System labels (INBOX, SENT, DRAFT, TRASH, SPAM) map to the matching Outlook system folders (Inbox, Sent Items, Drafts, Deleted Items, Junk Email)
- User labels: your custom Gmail labels become Outlook folders, and every label on a message is also added to it as an Outlook category (label colors don’t survive; the label name does)
- STARRED: becomes an Outlook follow-up flag
- IMPORTANT: becomes Outlook’s high importance
- CATEGORY_* / CHAT / UNREAD: not folders, so not used as folder hierarchy (UNREAD keeps the message unread in Outlook; CATEGORY_* tabs aren't reproducible in Outlook and are dropped)
Each message is copied once. Because a single Gmail message can carry several labels, MigrationFox dedupes by source message ID and the first folder wins. System folders come first, so a message in Inbox with a custom label lands in Inbox (with the label as a category), while a message that only has a custom label lands in that label’s folder.
How MigrationFox Connects
Two ways to connect:
- OAuth2 (delegated): one user grants access via Sign-in-with-Google. Best for single-mailbox migrations or for testing.
- Service-account with domain-wide delegation: Google Workspace admin issues a service-account key with domain-wide delegation, and MigrationFox reads each mailbox on that user’s behalf. The right choice for bulk mailbox migrations, where individual OAuth consent would be impractical.
Attachment Carry
Attachments are read from Gmail's full message payload (inline parts and large attachments via users.messages.attachments.get) and rebuilt into a standard email message with its attachments for the destination. During the beta, attachment carry is switched on per platform as it is verified; ask about it when you request access. Caps: 25 MB per attachment and 25 MB per message when reading from Gmail. When the destination is Microsoft 365, attachments are written inline, up to 3 MB each; larger ones are skipped and noted on the message.
Date Preservation
The original received timestamp from Gmail (internalDate) is preserved on the destination message. Outlook's view shows the message at its original date in the mailbox sort order, not the migration timestamp.
Read State and Categories
Read / unread state from Gmail is preserved. User-defined labels become Outlook categories on the message so search-by-category still works on the destination side.
Billing
Mail migration uses the same migration credit as file migrations: each message counts at its full size, including attachments. See pricing for rates.
Request beta access
Gmail migration is currently in private beta. Email hello@migrationfox.com with your tenant ID and migration size to join the beta. We’ll reach out within one business day to enable it for your tenant.