Skip to content

SharePoint to Egnyte Migration Guide (2026)

A CTO-level guide to migrating SharePoint Online to Egnyte: API rate limits, permission mapping, metadata translation, and step-by-step execution.

Raaj Raaj · · 15 min read
SharePoint to Egnyte Migration Guide (2026)
TALK TO AN ENGINEER

Planning a migration?

Get a free 30-min call with our engineers. We'll review your setup and map out a custom migration plan — no obligation.

Schedule a free call
  • 1,500+ migrations completed
  • Zero downtime guaranteed
  • Transparent, fixed pricing
  • Project success responsibility
  • Post-migration support included

Migrating from SharePoint Online to Egnyte is an architectural translation, not a file copy. SharePoint stores content inside a Sites → Document Libraries → Folders hierarchy governed by Microsoft 365 Groups, managed metadata term stores, content types, and a complex inheritance-based permission model. Egnyte uses a flat, folder-centric structure with explicit folder-level ACLs and no native equivalent for SharePoint lists, site pages, or hierarchical metadata.

If you treat this as a drag-and-drop exercise, you will break permission inheritances, silently drop metadata, and spend weeks rebuilding what should have been mapped before the first file moved.

This guide covers the architectural differences that break migrations, the real API constraints on both sides, how to map SharePoint constructs into Egnyte, and when each migration approach makes sense.

Why Companies Move from SharePoint to Egnyte

The decision is rarely "SharePoint is bad." It is about operational fit:

  • Hybrid cloud + on-prem storage — Egnyte's Storage Nodes and on-prem cache keep active projects at local speed while archiving completed work to the cloud. AEC, engineering, and media teams working with multi-gigabyte CAD or video files need LAN-speed access that SharePoint cannot deliver.
  • Simpler file management — SharePoint's Sites/Libraries/Lists model requires significant IT overhead. Egnyte's folder-centric model maps directly to how most teams think about file storage.
  • Large file workflows — SharePoint supports files up to 250GB, but Egnyte handles large file sync better through its desktop client and storage nodes for many practical workflows.
  • Vendor diversification — Reducing full dependency on the Microsoft 365 ecosystem, especially when SharePoint's collaboration features go underutilized.
  • Industry compliance — Egnyte provides HIPAA-required encryption, access logging, and data loss prevention natively — without requiring Microsoft Purview add-ons.

For context on the broader Microsoft ecosystem changes driving these decisions, see our Microsoft 2026 End-of-Support Timeline.

Core Architectural Differences That Break Migrations

Every failed SharePoint-to-Egnyte migration traces back to ignoring these structural mismatches:

  • Permission granularity — In Egnyte, permissions can only be assigned to a folder, not a file. Files inherit the permissions of their parent folder. SharePoint supports item-level unique permissions. Any file with unique SharePoint permissions must be restructured into a dedicated Egnyte subfolder with its own ACLs.
  • Metadata model — SharePoint uses managed metadata term stores with hierarchical term sets, content types that bundle columns and behaviors, and site columns with typed fields (choice, person, lookup, managed metadata). Egnyte supports custom metadata fields, but they are flat — no hierarchical term trees, no content types. Complex SharePoint schemas lose fidelity when mapped to Egnyte. Note that Egnyte's public Metadata API is still labeled Beta.
  • Site hierarchy — SharePoint Team Sites become Egnyte top-level shared folders. Each Document Library becomes a subfolder. This flattening is irreversible and must be planned carefully.
  • Non-file content — SharePoint lists (structured data), site pages, wiki pages, news posts, OneNote notebooks, and Loop components have no direct Egnyte equivalent. They must be exported separately or archived.

For a deeper dive into the SharePoint metadata and content type model you will be translating from, see Mastering SharePoint Information Architecture.

Migration Approaches

Choosing the right method depends on your data volume, environment complexity, and engineering bandwidth.

Egnyte's Native SPO Migration Tool (March 2026)

Egnyte's native migration capability lets administrators move data directly from SharePoint Online and OneDrive into Egnyte via a guided workflow in the admin console. It requires Secure & Govern and can be set up with a Global Administrator, Privileged Role Administrator, or a custom role that can grant application permissions.

What it handles well: File and folder hierarchy preservation, OneDrive personal folder migration, background execution with progress monitoring.

What it does not handle:

  • Permissions cannot be migrated. You must apply Egnyte folder permissions manually or via the Permissions API after the file transfer.
  • A single migration job should not exceed 5TB in data size or 5 million objects.
  • Migrating more than 5,000 sites in a single job will be very slow — split into multiple groups.
  • Only 50 jobs can run concurrently.
  • Migrating OneNote (.one) files is not supported.
  • No SharePoint metadata column values, managed metadata, or version history migration.

Best for: Small-to-mid-size migrations under 5TB where permissions and metadata can be handled separately.

Third-Party Migration Platforms (Movebot, CloudFuze)

Movebot markets fast cloud-to-cloud transfers with automatic filename sanitization and deduplication. It supports permission preservation between SharePoint and Egnyte, though the team recommends remaking permissions in Egnyte when possible. SOC2 compliant.

CloudFuze is enterprise-focused, emphasizing complex permission mapping, version histories, and incremental delta migrations.

Best for: Mid-market migrations (1–10TB) where you need permission and timestamp preservation but lack the engineering bandwidth for custom scripts. Validate versions, metadata, permission translation, and edge cases in a pilot before treating any tool as production-ready — marketing claims are not tenant-specific guarantees.

Custom API Scripts (Graph API + Egnyte API)

Maximum flexibility. You write Python or PowerShell scripts that extract via Microsoft Graph API, transform the data model, and load into Egnyte via its File System and Permissions APIs.

When this makes sense: Enterprise migrations (10+ TB) with complex metadata schemas, managed metadata term stores, or highly customized content types that no off-the-shelf tool handles correctly.

When it doesn't: If you don't have a dedicated migration engineer who understands both platforms' API constraints. The throttling behavior on both sides will eat your timeline.

Manual Export + Re-Upload

Browser download from SharePoint, then upload via Egnyte Web UI or Egnyte Connect desktop sync.

Only viable for: Under 50GB, no metadata requirements, no permission mapping needed. Egnyte's own documentation recommends against the Web UI for larger onboarding or migration projects.

Middleware (Zapier, Make, Power Automate)

Strictly for lightweight coexistence scenarios — syncing a specific SharePoint folder to Egnyte, triggering notifications, or bridging narrow workflows. Not suitable for bulk migration.

Scenario Recommendations

  • Under 500 GB: Egnyte native tool for files, manual permission setup afterward.
  • 1–10 TB: Start with Egnyte native only if the estate is mostly file and folder content. If you have many broken-inheritance folders, content types, or external sharing links, use a third-party or managed path.
  • 10+ TB: Treat this as an engineering program. Custom API pipeline or managed migration service — native tools hit job-size limits and lack metadata support.
  • Regulated industries: Favor a managed service with chain-of-custody documentation, pre/post validation reports, and audit trail preservation.

For a broader analysis of build-vs-buy tradeoffs, see In-House vs. Outsourced Data Migration.

Overcoming API Rate Limits: Graph 429s and Egnyte Quotas

This is where most DIY migrations fail.

Microsoft Graph API Throttling

When a throttling threshold is exceeded, Microsoft Graph limits further requests from that client app, returns HTTP 429 Too Many Requests, and includes a suggested wait time in the Retry-After response header.

The critical detail: 429 throttling responses happen during business hours at the data centre (peak times) and are heavily influenced by other traffic in the data centre at the time — not purely by how many calls your code makes. You can get throttled on a single call during peak hours, or send thousands of calls off-peak without a single error.

Threshold limits also vary by request type. You could encounter a scenario where writes are throttled but reads are still permitted.

Engineering mitigations:

  • Parse the Retry-After header on every 429 response. If no header is provided, implement exponential backoff.
  • Use $batch endpoints (up to 20 requests per batch) to reduce round trips.
  • Use delta queries (/drive/root/delta) for incremental syncs instead of full re-scans.
  • Schedule heavy extraction during off-peak hours (evenings, weekends).
  • Decorate all requests with proper AppID, AppTitle, and User-Agent strings — well-decorated traffic is prioritized over traffic that is not properly decorated.

One important detail: permissions cannot be expanded as part of a DriveItem collection call in Graph, so permission extraction is a separate, chattier pass that generates significant additional API calls.

Warning

SharePoint list view threshold trap: When a document library exceeds the list view threshold, a Graph API query can return a 429 error with an activityLimitReached error code. This is not rate-limit throttling — it is a SharePoint threshold issue disguised as a 429. If you see this on specific libraries, check the item count.

Egnyte API Rate Limits

Egnyte's rate limits are strict, plan-dependent, and enforced per access token (not per API key):

Plan Calls/Second Calls/Day Calls/Month
Business / Essentials 2 1,000 30,000
Enterprise Lite / Elite 2 2,000 60,000
Enterprise / Ultimate 2 4,000 120,000

At 1,000 calls/day on a Business plan, you cannot run a meaningful migration without a rate limit increase. Contact api-support@egnyte.com to request a temporary increase before migration starts.

Engineering mitigations:

  • Parse X-Accesstoken-Qps-Current and X-Accesstoken-Qps-Allotted headers on each response. If current is near allotted, pause briefly before the next request.
  • Use chunked uploads for large files to minimize API call count.
  • Distribute load across multiple access tokens where possible.

Data Model Mapping: SharePoint → Egnyte

This mapping determines whether your migration preserves data fidelity or silently drops it:

  • SharePoint Team Site → Egnyte top-level shared folder. One folder per site; naming convention should reflect department or project.
  • Document Library → Egnyte subfolder within the site-level folder. Consolidate if a site has many small, fragmented libraries.
  • Folder hierarchy within libraries → Egnyte folder hierarchy. Preserved as-is; Egnyte handles deep nesting well. SharePoint caps decoded paths at 400 characters; Egnyte Cloud File Service allows longer total paths, though Office clients may impose lower limits.
  • OneDrive for Business → Egnyte private folder (user home). Map per user via email/identity match.
  • Site/library/folder permissions (M365 groups) → Egnyte folder permissions (group ACLs). Map M365 groups to Egnyte groups. Graph distinguishes inherited vs. direct permissions via inheritedFrom; convert inheritance breaks to explicit Egnyte ACLs.
  • Item-level unique permissions → Egnyte subfolder with dedicated ACL. Files must be moved into subfolders since Egnyte does not support file-level permissions. This is a redesign step, not a direct mapping.
  • External sharing links → Must be re-created in Egnyte. All SharePoint sharing links break post-migration. Notify external collaborators.
  • Version history → Egnyte file versions. Define a version limit policy (last N versions); migrating hundreds of versions per file is slow and storage-heavy. Validate retention settings before promising full version carryover.
  • SharePoint columns (text, date, choice) → Egnyte custom metadata fields. Requires schema creation in Egnyte and data type alignment. Graph exposes column values through listItem.fields, but lookup fields are not returned by default and Graph allows only up to 12 lookup fields in one query.
  • Content Types → Simplified metadata profile. SharePoint content types bundle columns and behaviors; Egnyte metadata is flatter. Preserve the reporting and governance fields you need, not the entire abstraction.
  • Managed Metadata (term store) → Egnyte dropdown fields or tags. Flatten hierarchical term trees — Egnyte has no hierarchical term-store equivalent.
  • SharePoint Lists → No direct Egnyte equivalent. Export as CSV/Excel or migrate to a separate tool (Airtable, database).
  • OneNote notebooks → Cannot be migrated as-is. Require separate export (PDF, .docx).
  • Power Automate flows → Must be rebuilt using Egnyte Workflows or external automation (Zapier, Make). No automated migration path.
  • Site pages, wiki pages, news posts → No Egnyte equivalent. Archive as PDFs or accept the loss.
  • Created/modified dates → Preserved via API upload headers when setting timestamps on upload.
  • Retention/sensitivity labels → Egnyte Governance lifecycle rules. Configured separately.
  • Unified Audit Log → Export and archive separately before decommissioning SharePoint.

Migration Architecture and Code

A serious migration uses an extract → transform → load pipeline with strict adherence to API constraints on both sides.

Source extraction (Microsoft Graph API):

GET /sites/{site-id}/lists
GET /drives/{drive-id}/items/{item-id}/children
GET /drives/{drive-id}/items/{item-id}/permissions
GET /drives/{drive-id}/items/{item-id}/versions
GET /sites/{site-id}/termStore/groups/{group-id}/sets
GET /drives/{drive-id}/root/delta

Use DriveItem endpoints for files and ListItem/Fields for metadata. Use $batch endpoints (up to 20 requests per batch) and implement dynamic pagination (@odata.nextLink). For delta passes, keep following @odata.nextLink until Graph returns @odata.deltaLink — that token is the difference between a clean phased cutover and a weekend spent rescanning terabytes.

Target loading (Egnyte File System API):

Create folders first, upload content (chunked uploads for large files), then apply metadata via Metadata API and folder ACLs via Permissions API.

Checkpointing and error handling:

Track every migrated file in a local database (SQLite works) so the migration can resume from the exact point of failure. Persist failures to a dead-letter queue so a single 5xx or quota spike does not restart the whole wave.

# Simplified migration script structure
import msal, requests, sqlite3, time, hashlib
 
# 1. Microsoft Graph auth (MSAL client credentials)
app = msal.ConfidentialClientApplication(
    client_id="<app-id>",
    authority="https://login.microsoftonline.com/<tenant-id>",
    client_credential={"thumbprint": "<cert-thumb>", "private_key": open("key.pem").read()}
)
token = app.acquire_token_for_client(scopes=["https://graph.microsoft.com/.default"])
 
# 2. Egnyte auth (OAuth 2.0)
egnyte_token = "<egnyte-oauth-token>"
egnyte_base = "https://<domain>.egnyte.com/pubapi/v1"
 
# 3. Download with retry logic for 429s
def download_with_retry(url, headers, max_retries=5):
    for attempt in range(max_retries):
        resp = requests.get(url, headers=headers, stream=True)
        if resp.status_code == 200:
            return resp
        if resp.status_code == 429:
            wait = int(resp.headers.get("Retry-After", 2 ** attempt))
            time.sleep(wait)
    raise Exception(f"Failed after {max_retries} retries: {url}")
 
# 4. Upload to Egnyte with QPS monitoring
def upload_to_egnyte(file_path, content, token):
    resp = requests.post(
        f"{egnyte_base}/fs-content/{file_path}",
        headers={"Authorization": f"Bearer {token}"},
        data=content
    )
    qps_current = int(resp.headers.get("X-Accesstoken-Qps-Current", 0))
    qps_allotted = int(resp.headers.get("X-Accesstoken-Qps-Allotted", 2))
    if qps_current >= qps_allotted - 1:
        time.sleep(1)  # Back off before hitting limit
    return resp
 
# 5. Checkpoint tracking (SQLite)
db = sqlite3.connect("migration_state.db")
db.execute("""CREATE TABLE IF NOT EXISTS migrated
    (source_id TEXT PRIMARY KEY, egnyte_path TEXT, checksum TEXT, status TEXT)""")

For the transformation layer: sanitize file paths (SharePoint and Egnyte handle special characters and case sensitivity differently), map Azure AD / Entra ID users to Egnyte users, and convert item-level permissions into subfolder creation commands. If building in-house, your script architecture should include separate modules for authentication, enumeration, extraction, transformation, loading, state management, and delta sync.

Step-by-Step Migration Runbook

  1. Inventory and audit — Full scan of SharePoint: site collections, libraries, file counts, sizes, permissions (including inheritance breaks), metadata schemas, content types, managed metadata term store, checked-out files, Power Automate flows, OneDrive scope, and non-file assets (lists, pages, OneNote).
  2. Design Egnyte target — Map SharePoint sites to Egnyte top-level folders. Define group/permission model, custom metadata schema, Governance policies, and storage node deployment if hybrid access is needed.
  3. Provision Egnyte environment — Create top-level folders, user home folders, groups, custom metadata fields, and Governance rules. Request API rate limit increases from Egnyte support.
  4. Map users and groups — Match Azure AD / Entra ID users and M365 groups to Egnyte users and groups. Handle mismatches for external/guest users and service accounts.
  5. Run the seed migration — Bulk-copy content first via Graph API (streaming for large files). Export permissions, column values, and version history. Do not block the initial seed on deep metadata transforms if they slow down throughput.
  6. Transform — Flatten Sites/Libraries hierarchy, convert column values to Egnyte metadata format, map permissions to explicit folder ACLs, restructure item-level unique permissions into dedicated subfolders, and sanitize file/folder names.
  7. Load into Egnyte — Upload via File System API (chunked upload for large files), apply metadata via Metadata API, set permissions via Permissions API.
  8. Delta sync passes — Use Graph API delta queries to capture changes during the migration window. Repeat until daily change volume is small enough for the final cutover.
  9. Validate — Compare record counts source vs. target. Run checksum verification (MD5/SHA-256) on a 5–10% statistical sample, plus full checksums for critical compliance directories. Spot-check permissions across folder levels. Verify metadata and timestamp preservation. Have department leads run UAT on their content.
  10. Cutover — Set SharePoint sites to read-only. Run the final delta sync. Redirect users to Egnyte. Deploy Egnyte Connect desktop app. Update bookmarks and documentation.
Tip

Run at least one pilot on a representative site that includes a deep folder tree, broken inheritance, content types, managed metadata, and Teams-backed files. A pilot on a clean library tells you almost nothing about production risk.

Edge Cases That Will Bite You

  • Item-level permissions — Files with unique SharePoint permissions require creating a new Egnyte folder just for that file, applying the specific ACL to the folder, and placing the file inside. Pre-process these during the audit phase and map the new folder structures before writing extraction logic.
  • Large files — SharePoint supports files up to 250GB. Egnyte's Web UI upload limit is 100GB on Team/Business plans and 150GB on Enterprise Lite/Enterprise plans. Massive files require desktop sync tools or specialized API chunking.
  • Checked-out files — Files actively checked out or locked for co-authoring in SharePoint will fail extraction. Force check-in programmatically before the final sync, or flag for manual handling. Libraries with Checkout or Validation columns can sync as read-only, making manual download paths misleading.
  • OneNote notebooks — OneNote notebooks stored in SharePoint are not standard files — they are complex directories with their own sync mechanism. They cannot be migrated as-is to Egnyte and must be exported to PDF or .docx.
  • Teams-connected sites — SharePoint sites backing Teams channels have specific structures. Files migrate fine, but Teams-specific context (channel conversations, tabs) is lost.
  • Duplicate and case-sensitive names — Egnyte is not case-sensitive. Case-only name differences will cause collisions. Your transformation layer must sanitize filenames and handle deduplication.
  • Large flat folders — Egnyte enforces a maximum of 50,000 immediate children (files or subfolders) per folder. Plan restructuring if any SharePoint library exceeds this.
  • Invalid timestamps — Egnyte rejects files with impossible timestamps. Pre-scan for bad source timestamps so they do not silently become skipped content.
  • Site pages and wiki pages — No Egnyte equivalent. Archive as PDFs or accept the loss.
  • Power Automate, Teams tabs, Outlook links, list-backed apps — Inventory early. None of these follow a file move automatically.

Validation and Testing

Do not rely on the migration tool's native success logs. Implement independent validation:

  • Record count comparison — Compare total files and folders between source and target, broken down by site/library vs. Egnyte folder.
  • File integrity checks — Run MD5/SHA-256 checksum comparisons on a 5–10% statistical sample and full checksums for critical compliance directories.
  • Permission validation — Spot-check folders across different hierarchy levels to verify that SharePoint inheritance breaks translated correctly to Egnyte explicit ACLs.
  • Metadata verification — Confirm that SharePoint column values transferred to Egnyte custom metadata fields with correct data types.
  • Timestamp validation — Verify that created/modified dates are preserved.
  • UAT process — Require department leads to sign off on their specific folder structures and verify access before the final cutover.
  • Post-migration audits — Run periodic checks for 30–60 days after migration.

When to Use a Managed Migration Service

Build in-house when you have a dedicated migration engineer, a clean SharePoint environment under 1TB with simple metadata, and no regulatory requirements for chain-of-custody documentation.

Do not build in-house when:

  • Your SharePoint environment has multiple site collections with complex content types, managed metadata, and extensive item-level unique permissions
  • You are moving 10+ TB and cannot afford multi-week engineering cycles debugging Graph API throttling patterns
  • Regulatory compliance requires pre- and post-migration validation reports with audit trails
  • Your team lacks deep experience with both Microsoft Graph API and Egnyte's API constraints

The hidden cost is not code — it is QA, rollback design, cutover rehearsals, and post-migration security cleanup.

ClonePartner handles enterprise SharePoint-to-Egnyte migrations with:

  • Throttle-aware extraction — Proprietary engine that gracefully handles Microsoft Graph API 429 throttling without dropping files or failing batches.
  • Automated permission translation — Identifies SharePoint item-level permissions and restructures them into Egnyte-compliant folder ACLs with zero security exposure.
  • Hierarchy flattening — Maps complex SharePoint Site and Document Library hierarchies into Egnyte's folder structure while preserving custom metadata.
  • Zero-downtime delta sync — Continuous incremental syncs let your team work in SharePoint until the final cutover.
  • Validation reporting — Pre- and post-migration validation with detailed reporting, including record counts, checksum verification, and permission audits.
  • Compliance — SOC 2 Type II, ISO 27001, GDPR, and HIPAA compliant execution.

Post-Migration Checklist

  • Set migrated SharePoint sites to read-only; schedule a sunset period
  • Deploy Egnyte Connect desktop app to all users; configure selective sync policies
  • Deploy Egnyte Storage Nodes for offices requiring local file access
  • Rebuild Power Automate flows using Egnyte Workflows or Zapier/Make
  • Configure Egnyte Governance policies to match former Microsoft Purview policies
  • Notify external collaborators of new sharing links
  • Export and archive SharePoint Unified Audit Log data before decommissioning
  • Archive or separately migrate OneNote notebooks, Loop components, and SharePoint pages
  • Run periodic audits for 30–60 days post-migration
  • Downgrade or cancel Microsoft 365 licenses per contract terms

Best Practices

  • Back up independently — Never use a migration as a backup strategy. Perform a full independent backup of SharePoint before starting.
  • Run a test migration — Pilot on one or two representative site collections before production cutover.
  • Validate incrementally — Do not wait until the end to check counts and permissions.
  • Pre-process item-level permissions — Identify all files with unique permissions during the audit phase and map their new Egnyte subfolder structures before writing extraction logic.
  • Use checkpointing — Track every migrated file in a local database so the migration can resume from the last successful file on failure.
  • Request Egnyte API rate limit increases before any migration exceeding a few hundred GB.
  • Schedule extraction during off-peak hours to minimize Graph API throttling.
  • Inventory non-file content early — Lists, pages, OneNote, Loop, Power Automate flows all need separate handling.

Frequently Asked Questions

Can Egnyte's native migration tool migrate SharePoint permissions?
No. Egnyte's native SPO migration tool, released in March 2026, migrates files and folder structures but explicitly does not migrate permissions. You must apply Egnyte folder permissions manually or via the Permissions API after the file transfer completes.
How do you handle SharePoint item-level permissions in Egnyte?
Egnyte does not support file-level permissions — only folder-level. Files with unique SharePoint permissions must be moved into dedicated Egnyte subfolders with appropriate ACLs applied at the folder level. This restructuring should be planned during the pre-migration audit.
What are Egnyte's API rate limits for migration?
Egnyte enforces rate limits per access token: Business plans get 1,000 calls/day at 2 QPS, Enterprise Lite/Elite gets 2,000/day, and Enterprise/Ultimate gets 4,000/day. For any meaningful migration, contact api-support@egnyte.com to request a temporary rate limit increase before starting.
Does Egnyte support SharePoint managed metadata and content types?
Not directly. Egnyte's custom metadata model is flat — no hierarchical term stores, no content types. SharePoint managed metadata must be flattened into Egnyte dropdown fields or tags, and content type schemas will need simplification. Egnyte's Metadata API is also still in Beta.
What is the maximum migration job size for Egnyte's native tool?
A single migration job in Egnyte's native SPO migration tool is limited to 5TB of data or 5 million objects. For larger environments, split into multiple migration jobs by site group. Migrating more than 5,000 sites in a single job will also be very slow.

More from our Blog

In-House vs. Outsourced Data Migration: A Realistic Cost & Risk Analysis
General

In-House vs. Outsourced Data Migration: A Realistic Cost & Risk Analysis

Choosing between in-house and outsourced data migration? The sticker price is deceptive. An internal team might seem free, but hidden risks like data loss, project delays, and engineer burnout can create massive opportunity costs. This realistic analysis compares the true ROI, security implications, and hidden factors of both approaches, giving you a clear framework to make the right decision for your project.

Raaj Raaj · · 8 min read
Microsoft 2026 End-of-Support Timeline: The Definitive Migration Guide for SharePoint, Exchange, and OOS Users
Microsoft Dynamics 365

Microsoft 2026 End-of-Support Timeline: The Definitive Migration Guide for SharePoint, Exchange, and OOS Users

The Microsoft 2026 End-of-Support deadline is a critical event for on-premise infrastructure. Key retirement dates include Office Online Server (OOS) and Project Server 2016/2019 on December 31, 2026, and Exchange Server 2016/2019 entering Extended Security Updates (ESU) in October 2025. Unlike previous cycles, the 2026 deadline marks a hard stop for legacy capabilities like Excel hosting and PBIRS integration, forcing organizations to migrate to Microsoft 365 or Azure. Delaying migration beyond mid-2025 risks resource scarcity and increased security vulnerabilities.

Raaj Raaj · · 6 min read