After a SharePoint migration, a site URL rename, or a tenant move, links and references stored inside your SharePoint content often point to addresses that no longer exist. SharePoint Online has no built-in cross-library find and replace. The options are manual editing, PowerShell scripting, or a dedicated tool like ShareMaster's Replace Master. This page compares all three approaches so you can choose the right fit for your situation.
The problem: stale URLs and broken links in SharePoint content
SharePoint sites accumulate links over time: hyperlinks inside Site Pages, URLs in document library list columns, references in web parts, and links in list item fields. These links are stored as text strings tied to a specific domain and URL path. Any time that path changes, those strings become stale.
Common triggers include:
- Migrating sites between two SharePoint Online tenants (old and new domain).
- Renaming a SharePoint site URL in the admin center (the old URL redirects at the site level, but internal cross-site links stored as text do not update automatically).
- Moving content from SharePoint Server on-premises to SharePoint Online, where the domain and path structure change completely.
- Rebranding a Microsoft 365 tenant to a new domain name.
The result is the same in each case: pages, lists, and library items contain references to URLs that no longer work. Finding and fixing them manually is time-consuming and error-prone at scale.
What SharePoint offers natively
Browser Ctrl+F (page-level search)
Pressing Ctrl+F in a browser while viewing a SharePoint page or list activates the browser's built-in find function. This searches the rendered HTML of the current page view only. It has no replace capability, and it cannot reach content in items not currently loaded on screen. It is useful for locating something on a single page you are already viewing, but impractical for any cross-library work.
SharePoint search
SharePoint search indexes document content and can find items containing a specific term or URL. A search query will surface which documents and pages contain a given string, useful for scoping how widespread the problem is. But search provides no way to replace the found content. Each result must be opened and edited individually. For a handful of pages, this is acceptable; for hundreds of documents and list items, it is not.
Quick Edit (datasheet view)
SharePoint document libraries and lists support a Quick Edit mode (sometimes called datasheet view) that shows items in a spreadsheet-like grid. You can paste new values into columns directly. This works for single-column list metadata. It does not work for URL fields embedded in page content, hyperlink columns that must be updated individually, or text values inside file fields that are not surfaced in the grid.
PowerShell (PnP or SharePoint Management Shell)
PowerShell with the PnP module gives you programmatic access to SharePoint content and can perform bulk find/replace on list column values and page content. It is the most flexible option available without a third-party tool. The costs are real: it requires scripting knowledge, careful testing in a non-production environment, staged execution across potentially hundreds of libraries, and a recovery plan if a script touches unintended items. For a one-off post-migration cleanup, writing, testing, and safely running this script can take a full day's work.
What Replace Master offers
ShareMaster's Replace Master is a Windows desktop tool that connects to a SharePoint site and executes find/replace operations across libraries, lists, and Site Pages. You specify the old string and the new string, select the scope (a specific library, all libraries, all lists, Site Pages, or any combination), and Replace Master runs the operation, reporting on every item it updates.
Key characteristics:
- Cross-scope operation: a single job can cover all libraries, all lists, and all Site Pages within a site in one pass, rather than requiring you to work through each library individually.
- Preview before execution: Replace Master shows you what it will change before it applies any updates, letting you review the scope and catch unintended matches before they are committed.
- No scripting required: the tool provides a UI that any SharePoint admin can use without PowerShell knowledge or scripting experience.
- Change report: after the operation completes, Replace Master produces a summary of every item updated, which documents the cleanup for stakeholders and provides an audit trail.
Feature comparison
| Capability | Browser search (Ctrl+F) | SharePoint search | PowerShell (PnP) | Replace Master |
|---|---|---|---|---|
| Find text across a full library | No | Yes | Yes | Yes |
| Find text across all libraries in a site | No | Yes (search scope) | Yes (scripted) | Yes |
| Replace found text in place | No | No | Yes (scripted) | Yes |
| Replace text in list column values | No | No | Yes (scripted) | Yes |
| Replace text in Site Pages content | No | No | Yes (scripted) | Yes |
| Preview changes before applying | No | No | Manual test run | Yes |
| Report of every item changed | No | No | Custom logging in script | Yes |
| Requires scripting knowledge | No | No | Yes | No |
| Safe for production use by non-developers | Yes (read-only) | Yes (read-only) | With care and testing | Yes (with preview step) |
| Requires additional licence | No | No | No (PnP is free) | Replace Master licence |
Comparison reflects SharePoint Online and ShareMaster as of May 2026.
When native options are enough
If you need to confirm whether a particular old URL exists anywhere in your SharePoint environment, search alone is sufficient: run a search query for the old domain or path and review the results. No additional tooling required.
If you need to update a small number of items you can locate in a search result list and edit manually, the browser and Quick Edit approach is fine. The threshold varies, but if you are looking at fewer than 20 items across one or two lists, manual editing is quicker than setting up any other approach.
If you are comfortable with PowerShell and already have a working PnP script from a previous project, PowerShell remains a valid option for admins who have scripting experience and time to test carefully in a staging environment first.
When Replace Master is the right fit
Post-migration URL cleanup
The most common use for Replace Master is cleaning up internal links after a cross-tenant migration. Content migrated from an old tenant retains references to old-tenant URLs: hyperlinks in Site Pages, URLs in list columns, and link fields pointing to documents that now live at a different address. Replace Master lets you run a single old-URL-to-new-URL replacement across the entire destination site without scripting.
For a full walkthrough of a cross-tenant migration scenario, see the migration consultant use case. That case study covers Replace Master as one of the post-migration cleanup steps.
Site URL rename cleanup
SharePoint allows site URL changes through the admin center. When a site moves from /sites/old-name to /sites/new-name, SharePoint creates a redirect at the old URL for direct browser access. However, cross-site links stored as static text strings inside other sites' page content, list columns, and document metadata will point to the old path and will not follow the redirect. Replace Master handles this by replacing the old path string with the new one across the scope you define.
Large-scale cleanup across many libraries
A SharePoint environment that has been running for several years can have dozens of libraries and hundreds of lists, each of which may contain items referencing old URLs from previous migrations, rebrands, or URL changes. PowerShell can handle this, but the time investment in writing and validating a script that safely covers every library type is substantial. Replace Master covers the same scope through a UI operation with a built-in preview and change report, typically completing the job in a fraction of the time.
Typical workflow for post-migration URL replacement
- Run a SharePoint search in the destination site for a sample of the old domain string to confirm the scope of the problem and identify which libraries are affected.
- Open Replace Master and connect to the destination site.
- Enter the old URL string (e.g. the old tenant domain or the old site path) in the Find field, and the new URL string in the Replace field.
- Select the scope: libraries, lists, Site Pages, or all three.
- Use the preview function to review the list of items that will be updated before committing.
- Run the replacement and save the change report for your project record.
- Re-run a SharePoint search to confirm no instances of the old string remain in scope.
Decision matrix
| Your situation | Best fit |
|---|---|
| Confirming whether an old URL exists anywhere in the site | SharePoint search |
| Updating fewer than 20 items you can identify from search results | Manual editing or Quick Edit |
| Bulk URL cleanup after a cross-tenant migration, no scripting background | Replace Master |
| Bulk URL cleanup across dozens of libraries with a preview and audit report required | Replace Master |
| Replacing text values in list columns across all lists in a site | Replace Master (or PowerShell for scripting-comfortable admins) |
| Updating text embedded in Word or Excel document bodies | Open and edit each file, or a document processing script outside SharePoint |
| Scheduled or automated recurring replacement as part of a pipeline | PowerShell (Replace Master is interactive) |