How do I install a custom theme on my Discourse instance?

:bookmark: This guide explains how to install and manage custom themes on your Discourse site.

:person_raising_hand: Required user level: Administrator

Theme availability

Custom themes are available to all Discourse customers on the following hosting plans:

  • Standard
  • Business
  • Enterprise

:warning: Starter tier customers do not have access to custom themes and must upgrade to at least the Standard plan to use this feature.

Installing a theme

  1. Go to your site’s Admin Panel
  2. Navigate to Customize > Themes
  3. Click “Install” button
  4. Choose one of these installation methods:
    • From the ‘Popular’ section: Browse and install official themes
    • From Your Device: Upload a theme file from your computer (.tar.gz, .zip, or .dcstyle.json file)
    • From a Git repository URL:
    • Via Components: Install individual theme components

Managing themes

Once installed, you can:

  • Enable/disable the theme
  • Customize theme settings
  • Preview the theme
  • Make the theme the default for your site
  • Edit theme code (if you have development experience)

Common issues and solutions

  • Theme not appearing: Make sure the theme is both installed and enabled
  • Settings not saving: Clear your browser cache and reload the page
  • Visual glitches: Try disabling other themes or components that might conflict

FAQs

Q: Can I use multiple themes at once?
A: While you can have multiple themes installed, only one theme can be active as the default theme for your site.

Q: Will installing a theme affect my site’s performance?
A: Most properly built themes have minimal impact on performance. However, themes with many components or complex features may have some effect.

Q: Can I modify a theme after installing it?
A: Yes, you can customize theme settings and edit theme code, but be aware that modifications may be overwritten when the theme updates.

Additional resources

Last edited by @jessii 2024-12-21T01:41:16Z

Check documentPerform check on document: