A Chrome / Edge browser extension (Manifest V3) for bulk-copying SharePoint Online pages between sites within the same tenant — no Azure AD registration, no extra permissions, just your existing browser session.
The extension uses a virtual clipboard approach. You keep two browser tabs open: one on the source site and one on the destination site. Pages are transferred one by one using the SharePoint REST API.
Why writes run in the destination tab: SharePoint Online blocks POST requests from a
chrome-extension://origin with HTTP 403 (anti-CSRF). The extension injects the write logic directly into the active destination tab viachrome.scripting.executeScript, bypassing this restriction. The destination tab must be active when you click Copy here.
1. Pin the extension — the icon appears in your browser toolbar after installation.
2. Open the source site. Navigate to any page within the SharePoint site you want to copy from — the Site Pages library is a good starting point so you can see all available pages at a glance.
3. Select pages to copy. Click the extension icon. The popup lists all pages from the current site's Site Pages library. Check the pages you want, use the filter box to search by name, then click Add selected to clipboard.
4. Switch to the destination tab and click Copy here. Open a second tab on the destination SharePoint site (the Site Pages library is recommended so you can immediately see the result). Click the extension icon — it detects pages waiting in the clipboard and shows the Copy here button.
5. Filename conflict handling. If a page with the same filename already exists at the destination (e.g. Home.aspx), the extension automatically saves the copy with a -copy suffix (Home-copy.aspx). No manual intervention needed.
6. Confirm the operation. A confirmation dialog shows the number of pages and both site names. Click Yes, copy to proceed.
7. Live progress log. The extension copies pages sequentially and shows a live status log. Green entries indicate success.
8. Verify the result. Refresh the destination Site Pages library (F5). The copied page appears alongside the existing ones — the page content is transferred 1:1.
- Chrome or Edge (Chromium-based)
- Read access on the source site
- Contributor (or higher) permission on the destination site
- Both sites in the same SharePoint tenant (
*.sharepoint.com)
- Go to the Releases page and download
sharepoint-page-copier.zipfrom the latest release. - Extract the ZIP to a permanent folder (e.g.
C:\Extensions\sharepoint-page-copier). Do not delete this folder — the browser loads the extension from it every time it starts. - Load the extension:
Microsoft Edge
- Open
edge://extensions - Enable Developer mode (toggle in the bottom-left corner)
- Click Load unpacked → select the extracted folder (the one containing
manifest.json) - Pin the extension icon from the toolbar menu
Google Chrome
- Open
chrome://extensions - Enable Developer mode (toggle in the top-right corner)
- Click Load unpacked → select the extracted folder
- Pin the extension icon from the toolbar menu
To update: download the new release ZIP, extract it over the same folder, then click the refresh icon on the extension card in
edge://extensionsorchrome://extensions.
- Same tenant only. Cross-tenant copying is not supported.
- Embedded files are not moved. Web parts referencing images or documents from the source site still point to the originals after copying.
- Custom SPFx web parts may not render on the destination site if the same solution package is not deployed there.
- Pages are copied sequentially to avoid throttling (HTTP 429). The extension retries automatically if throttled.
| File | Description |
|---|---|
manifest.json |
Extension manifest (Manifest V3) |
popup.html / popup.css / popup.js |
Extension UI |
sp-api.js |
SharePoint REST API logic |
icons/ |
Extension icons |
docs/ |
Screenshots used in this README |
MIT






