Theme Manager
Design, apply and govern themes
Build a SharePoint theme from three colours - the same shade maths SharePoint's own Change the look uses - check its contrast, then apply it to one site or many, or add it to the tenant so site owners can pick it.
What it does
- The full palette three colours produce, slot by slot, with any slot you set by hand kept.
- Whether text and buttons meet WCAG contrast (4.5:1 for text, 3:1 for large text).
- Which theme each site had before a bulk apply, so it can be put back.
- The themes your tenant offers in Change the look, and whether Microsoft's are hidden.
How it runs
- Sign in. One sign-in when you click the tile.
- Design. Three colours, or load a site's theme, a tenant theme or a starting point.
- Check. The preview and the contrast panel update as you change colours.
- Apply or save. Apply to a site or many, export JSON or PowerShell, or save as a tenant theme.
- History. Each bulk apply is recorded with each site's theme before; Restore puts them back.
How it works
Designing a theme happens entirely in the app: the palette is worked out from the three colours, a slot you set yourself is kept when the others are regenerated, and the preview never touches a SharePoint page.
Applying sends the palette to each chosen site. In a bulk run each site's current theme is read and logged before it is changed, and a site already showing the theme can be skipped. The change itself goes through the same steps as every theme write: read again, refuse if it changed since it was read, save its current state to a file on this computer (no file, no change), apply, and read the colours back. A site that took the theme but whose colours could not be read back is reported as unconfirmed. Recording each site's theme first cannot be turned off.
History keeps every bulk run with each site's theme before and after. Restore reads each site first and puts the old theme back only on a site still showing the theme that run applied; a site changed since is left alone and reported, and a site whose earlier theme could not be read is skipped because there is nothing recorded to put back. A restore is itself recorded like any other change.
Adding, replacing or removing a tenant theme, and hiding Microsoft's themes, go through the same save-first steps and ask before anything is sent. Removing a theme from the tenant leaves the sites that use it with their colours.
What you get
An Excel workbook, named like Theme apply 2026-10-07 14-22.xlsx, kept in Report History whether or not you save it.
Sites sheet
One row per site.
| Column | Example |
|---|---|
| Site | Project Alpha |
| URL | https://contoso.sharepoint.com/sites/alpha |
| Status | Succeeded |
| Detail | Applied and read back. |
| Theme colour before | #0078d4 |
| Theme colour applied | #e3008c |
| Before recorded | Yes |
About sheet
The theme, options, tenant and sign-in.
What you need
- Applying a theme needs owner rights on each site.
- Adding, changing or removing tenant themes, and hiding Microsoft's, needs the SharePoint Administrator role. The page checks after you sign in and locks those controls with the reason if you do not have it.
What it will not do
- A site's current palette is read from the theme data its pages load; when SharePoint does not return it, the run records "unknown" and that site cannot be restored from History.
- Restore only puts a theme back on a site still showing the theme the run applied; a site changed since is left alone and reported.
- Only #RRGGBB colours are ever sent. A contrast failure is a warning, not a block: the colours are your call.
- Brand centre themes are not offered yet: that part waits for a live check on a tenant with a brand centre.