Guides

Customising Open WebUI Interface: Themes, Branding, and User Experience

Personalise Open WebUI with custom colour schemes, logos, CSS overrides, and interface settings for a branded team experience.

Robson PereiraMay 31, 20269 min read
Customised Open WebUI interface with branded colours, logo, and theme.

Customising Open WebUI Interface: Themes, Branding, and User Experience

Open WebUI's default interface is clean and functional, but a few customisations make it feel like your own. This guide covers everything from simple theme selection to advanced CSS overrides.

Built-In Themes

| Theme | Best for |

|-------|----------|

| Light | Bright environments, accessibility |

| Dark | Most homelab setups |

| System | Follows OS preference |

| High contrast | Accessibility |

Change via profile icon -> Settings -> Theme.

For improving interaction speed, see Improve Chat UX in Open WebUI for Faster Daily Use.

Adding Branding

```bash

docker run -d \

-p 3000:8080 \

-v /path/to/logo.png:/app/backend/static/logo.png \

-v open-webui-data:/app/backend/data \

ghcr.io/open-webui/open-webui:main

```

Logo specs: 200x60 PNG with transparency.

Custom site name

```bash

-e WEBUI_NAME="Team AI Chat"

-e WEBUI_DESCRIPTION="Private AI for the engineering team"

```

CSS Customisation

```bash

-e WEBUI_CUSTOM_CSS="

:root {

--primary-color: #8b5cf6;

--primary-hover: #7c3aed;

}

"

```

Key CSS variables:

| Variable | Controls |

|----------|----------|

| --primary-color | Main accent colour |

| --bg-color | Main background |

| --text-color | Primary text |

| --chat-bg-user | User message bubble |

Layout Configuration

```bash

-e WEBUI_DEFAULT_MODEL=llama3.2:7b

-e WEBUI_SHOW_MODEL_SELECTOR=false # Single model setup

-e WEBUI_SIDEBAR_DEFAULT_HIDDEN=true # Start collapsed

```

Advanced Customisation

Custom JavaScript for auto-focusing input:

```bash

-e WEBUI_CUSTOM_JS="

document.addEventListener('DOMContentLoaded', function() {

setTimeout(() => {

const input = document.querySelector('.chat-input textarea');

if (input) input.focus();

}, 500);

});

"

```

Saving as Docker Compose

Export your configuration for easy redeployment:

```yaml

services:

open-webui:

image: ghcr.io/open-webui/open-webui:main

ports:

  • "3000:8080"

volumes:

  • open-webui-data:/app/backend/data
  • ./branding/logo.png:/app/backend/static/logo.png

environment:

  • WEBUI_NAME=Team AI
  • WEBUI_DEFAULT_MODEL=llama3.2:7b

```

Conclusion

Start with built-in themes and your logo, then layer CSS overrides as you learn what matters. The best customisation makes the interface invisible.

FAQ

Will customisations persist across updates?

Theme settings survive updates. CSS overrides may need re-application after major version upgrades.

Can users have different themes?

Not currently. Themes are global for the entire instance.

Is there a light mode?

Yes. Built-in light theme is accessible from user settings.

**Sources:**

Related articles