Custom SharePoint Theme: How to create and upload

by | Oct 13, 2022 | Blog, SharePoint

Whenever I go about creating SharePoint Sites they often have a specific purpose in mind, for example, a department Site or projects. For a lot of organisations, the Site creation also needs to think about the branding or colour themes for the Site as well.

Microsoft has some great built-in themes, but they need a little tweaking to get them perfect. This may be for each type of Site or department they need a specific colour or even just apply the organisational colours to all Sites. Whatever the reason, I find that a custom SharePoint theme is the best way to achieve this.

What is a Custom Theme?

A custom SharePoint theme lets you define the text, and background accent colours. Once you have defined what they are they can be manually applied to each Site, inherited or applied by PnP templates.

 

How to Create a Custom SharePoint Theme?

There are many tools that can help you create the theme. I will discuss one Microsoft provides, called Fluent UI Theme Designer. This is easy to use and export for applications by PowerShell.

To make simple changes to the colour theme add you primary, text and background colours on the top left. These will be displayed on the right-hand side of the screen in real-time. If there are any accessibility issues they will be displayed for you to resolve. To go into more detail the Theme slots can be changed as well.

SharePoint Site

Export the Custom SharePoint Theme

The Theme will need to be exported from the designer so it can be uploaded to SharePoint using PowerShell. 

  1. Click the button on the top right-hand side of the page.
  2. Choose PowerShell as the language to export in
  3. Copy the entire code to a notepad or somewhere else

You can use the SharePoint Management Console as well, but I prefer standard PowerShell. 

  1. Install the relevant module: Install-Module SPOService 

Connect to the SPOService, and replace the URL with your SharePoint Admin tenant:

 Connect-SPOService -Url https://yourtenant-admin.sharepoint.comCreate a variable called themepalette: 

  1.  $themepallette = $themepalette =
  2. After the = paste the code from the UI designer

Add the theme and apply the theme name that will be visible to the user to the tenant

  1.  Add-SPOTheme -Identity “My Company Theme” -Palette $themepalette -IsInverted $false
    1. IsInverted allows you to invert the theme colours for the background and foreground.

Now your theme is available to select from the Site Settings > Change the look & Feel. 

Below I have uploaded a ‘My Company Theme’ and ‘ProvisionPoint’ theme.