1. Configure your scan
Prefixes are optional, decoded paths (spaces stay spaces; no URL or percent-encoding). A blank prefix checks relative length only. Mark “library root” only when the first imported level lands directly in the library. Standard Microsoft compatibility is checked; Mac client renaming can differ.
2. Choose local metadata
No folder selected.
By default, scan its contents. Empty folders and some system entries are not exposed by folder selection. Add them through a manifest. File contents are never read.
JSON array: path, optional size in bytes, type (file/folder). Or one relative path per line, with an optional TAB then size. End folder paths with /. Use / between components. Unknown sizes are flagged INFO. Pasting selects manifest input.
Compatibility results
Inputs changed. Scan again to update results. Exports still describe the previous scan.
Summary counts items by their highest severity, including ancestor issues. Details count direct findings, so counts differ. PASS means no modeled issue found, not a migration guarantee. Existing destination files and account settings are not inspected.
Rule catalogue, scope and limitations
No account connection, migration, rename or filesystem write is performed. Suggestions are plans only. OneDrive and SharePoint share the modeled naming and file limits; library-root scope is configurable independently. Permissions, quotas, tenant policies, locked files, symlinks, content validity and existing destination collisions are outside this metadata-only scan.
Official = documented provider restriction or behavior. Recommendation = portability/performance advice. Heuristic = conservative local check, not a provider rule. Unicode comparison uses NFC and JavaScript case folding, not a complete emulation of every filesystem. Deep-tree warnings use a local 20-level threshold.