MICROSOFT 365 · MIGRATION PLANNING

File Migration Preflight

Catch naming problems before the move. Check your SharePoint or OneDrive destination, review proposed names, and take a clear plan with you.

Runs in your browserFull reports, freeHow the checks work
01

Add your inventory

Choose a folder or use a list of relative paths.

Your browser may say “upload” when choosing a folder. Nothing is uploaded. Empty folders are not included by the picker; add them to a text inventory with a trailing slash.

Keep the folder structure. One path per line, or CSV with a path header and an optional type column (file or folder). The destination below is added before every relative path.

Off by default. Turn on only if your inventory is URL-encoded, for example Report%20final.pdf. Ordinary percent signs stay literal when off.

02

Set the destination

The full destination matters, not just the filename.

Enter a decoded server-relative path, or a direct https folder URL. No sharing links, query strings or fragments. A URL pathname is decoded once; a plain path is kept literal.

Used only for the reserved Forms name at the library root. Uncheck when the destination is inside a subfolder.

Optional local sync checks

The same relative inventory is appended here. Leave empty to skip full local-path checks.

Know the length budget

400cloud path units
255units per sync segment
520local sync path units

Cloud lengths use decoded UTF-16 units, a conservative count for supplementary characters. See counting details below.

Ready when you are. Add an inventory, then run the preflight.

A CLEARER START

Less trial and error. More visibility.

File Migration Preflight is a browser-based filename and path checker for SharePoint Online and OneDrive in Microsoft 365. Use it to prepare a migration inventory before uploading or syncing anything.

01 / Check the names

Find restricted characters, reserved names and naming risks. Names with # or % receive a tenant-support warning because support can depend on your organization.

02 / See the whole path

Add the real destination folder to catch paths that become too long only after migration. A local destination adds separate sync and operating-system checks.

03 / Review the plan

Edit a proposed file or folder name and inspect the updated descendants. Review duplicate destinations and case-insensitive or Unicode-normalized collisions before exporting.

What the numbers mean

  • Cloud path: up to 400 decoded UTF-16 units for destination folder plus relative inventory path. The scheme, hostname and outer slashes are excluded; separators between folders count. The displayed destination is the counted string.
  • Local sync: up to 255 UTF-16 units per segment and 520 units for the full local path. With a local folder and profile selected, Windows paths at 260 units or more and macOS paths at 1,024 UTF-8 bytes or more receive compatibility warnings. App limits can be stricter.
  • The selected folder’s root name is included. For example, selecting Project adds Project/ before its contents. To omit that root, use a relative text inventory instead.

Safety limits: 250,000 input entries; 500,000 items including inferred folders; 32 MiB of inventory text; 16 million UTF-16 units across expanded source paths; 32 million across planned paths. A path or name may contain at most 16,384 units and 256 path levels. Exceeding a limit stops the check with an error, rather than truncating the report. Split oversized inventories into batches.

GOOD TO KNOW

A few things worth knowing

Are my files uploaded or changed?

No. Selecting a folder exposes relative filenames to this page; the checker does not read those files’ contents. Importing a TXT or CSV inventory reads only that chosen list. All checks happen in this browser. Suggestions update the plan only, and no rename script is generated.

How do I include empty folders?

Folder pickers typically provide files, so empty folders are missing. Add each empty folder to a text inventory with a trailing slash, or use a CSV row with type set to folder. Include its parent path so the intended structure is clear.

What is the difference between a destination URL and a path?

A direct https folder URL contributes only its pathname, decoded once. A plain server-relative destination path is treated as already decoded and percent characters stay literal. Sharing links, URL query strings and fragments are not accepted. The separate inventory decoding option affects only imported or pasted inventory paths.

Will name suggestions fix every problem?

No. Suggestions provide editable starting points for naming problems. Folder edits flow through to descendant destinations and checks run again, but the tool does not automatically choose winners for collisions or guarantee that all paths will fit. Review the full report before renaming anything yourself.

Is the full report really free?

Yes. CSV and JSON exports contain the complete report, including rows not visible on the current page or excluded by a display filter. The table is paginated for readability; exports are not truncated. Large inventories still depend on your browser’s available memory.

Rules & references

Rule version: 2026-10-16

An independent planning tool, not affiliated with Microsoft. Check current Microsoft guidance and your tenant settings before migration.