Home Assistant Themes: Best Picks and How to Install in 2026
- How Do Home Assistant Themes Actually Work?
- Installing Themes via HACS
- What Are the Best Home Assistant Themes in 2026?
- How Do You Auto-Switch Themes by Time of Day?
- Which Theme Should You Actually Install First?
- What to Check Before Installing Any Theme
- Can You Tweak a Theme Without Starting From Scratch?
- FAQ
- Create a Home Assistant automation using the "sun.sun" entity as a trigger. Set it to call the "frontend.set_theme" service with your dark theme name when state changes to "below_horizon," and your light theme when it returns to "above_horizon." The automation runs in under a second and all connected dashboards update simultaneously.
This post may contain affiliate links. As an Amazon Associate we earn from qualifying purchases. Disclosure.
The right Home Assistant theme does more than look nice. It changes how quickly you find controls at 6 AM and whether your family actually uses the dashboard you spent a weekend building. Here are the themes worth installing in 2026 and exactly how to get them running.
Home Assistant ships with a single default theme that's functional but forgettable. According to the HACS repository index, there are over 400 community themes available, a sign of how much users care about dashboard appearance. Most people install one good theme and never think about it again. That's fine. But the right choice depends on your cards, your lighting conditions, and whether kids or non-technical family members use your dashboard.
Home Assistant setup guide
TL;DR: HACS gives you access to 400+ Home Assistant themes. The Mushroom theme is the most popular in 2026 for card-based dashboards. Install HACS first (if you haven't), then add any theme in under two minutes via the HACS frontend section. Auto-switching between dark and light by time of day takes one automation with the "frontend.set_theme" service.
How Do Home Assistant Themes Actually Work?
Themes in Home Assistant are CSS variable files stored in your config/themes/ directory. Each theme overrides the default stylesheet variables, colors, border radii, font sizes, card backgrounds, without touching any other part of the system. When you switch themes, the frontend reloads those variables. Nothing else changes.
This matters because it means themes are safe. They can't break automations, devices, or integrations. If a theme looks wrong, you switch back in two clicks. The theme file format is YAML, which means you can also edit individual variables by hand, handy when a color is close but not quite right for your taste.
Installing Themes via HACS
HACS (Home Assistant Community Store) is the standard way to install community themes. If you don't have HACS yet, it's a one-time setup that takes about five minutes. The official HACS documentation walks through the full process.
HACS Installation Steps for Themes
Once HACS is running, adding a theme goes like this:
- Open HACS in the Home Assistant sidebar
- Click "Frontend" (not "Integrations")
- Search for the theme name
- Click "Download" and confirm
- Go to your profile (bottom-left avatar icon) and select the theme from the dropdown
- Hard-refresh your browser with Ctrl+Shift+R
That's it. The theme file lands in config/themes/ automatically. No restarts needed for most themes, but if the theme doesn't appear in the dropdown after step 6, a quick Home Assistant restart fixes it every time.
What Are the Best Home Assistant Themes in 2026?
The themes that hold up across a year of daily use share two traits: they work cleanly with Mushroom cards (the most-used card library), and they don't over-style elements that break with HA updates.
Mushroom Theme
This is the one I'd recommend to anyone starting fresh. The Mushroom theme was built specifically alongside the Mushroom card library, and the two complement each other visually in a way nothing else matches. Colors are soft, spacing is generous, and it reads well on both phone screens and wall-mounted tablets.
It's consistently ranked as the most-downloaded theme in HACS. If your dashboard uses Mushroom cards, and in 2026, most new setups do, this theme makes them look intentional rather than assembled.
iOS Dark Theme
The iOS Dark theme mimics Apple's dark mode aesthetic fairly accurately: deep grey backgrounds, clean white text, and subtle card borders. It's a strong pick if your household is iPhone-heavy and you want the dashboard to feel familiar.
One honest note: it works better with simple cards than complex custom layouts. Dense dashboards with many entities per card can look cluttered against the dark background.
Noctis
Noctis is the dark theme I'd pick for a media room or bedroom tablet. It uses a deep slate background with colored accent elements, teal, amber, and rose depending on entity state. The color-coding makes device states readable at a glance even in low light.
I've been running Noctis on a Fire HD 10 tablet mounted in my bedroom for eight months. The contrast holds up even with the room fully dark.
Metrology Metro 4
Metrology Metro 4 takes its cues from Windows Metro design, flat tiles, bold typography, high contrast between card backgrounds and text. It's divisive. Some users find it dated; others appreciate the clarity it brings to information-dense dashboards.
It pairs well with grid-layout dashboards that have uniform card sizes. Asymmetric layouts tend to look inconsistent with this theme.
Caule Theme
The Caule theme is the best option if you prefer light mode. Most HA themes default to dark, and Caule's light variant is properly designed rather than an afterthought. It uses a warm off-white background with carefully chosen accent colors that don't cause eye strain during daytime use.
The theme also includes a dark variant, so you can pair them for automatic day/night switching without changing theme files.
Google Home Theme
For households already using Google Home devices, this theme creates visual continuity. It uses Google's Material You color palette, rounded corners, muted pastels, and familiar icon treatment. The downside is it can feel generic compared to more opinionated options like Noctis or Mushroom.
How Do You Auto-Switch Themes by Time of Day?
You can set up automatic theme switching in under three minutes using a Home Assistant automation. The cleanest approach uses the sun entity as a trigger so the switch follows actual sunrise and sunset rather than a fixed clock time.
Here's the automation structure: set the trigger to "State" on entity sun.sun, from above_horizon to below_horizon. The action calls service frontend.set_theme with the theme name you want for night. Then add a second automation for the reverse, below_horizon to above_horizon, calling the same service with your daytime theme.
Worth knowing: the frontend.set_theme service accepts a mode parameter (dark or light) that overrides the browser's system preference. Set it explicitly in the automation so the theme applies regardless of what device someone is using to view the dashboard.
Home Assistant automations and dashboard customization
Which Theme Should You Actually Install First?
Here are my picks based on the most common dashboard setups I see in the Home Assistant community. These aren't ranked by download count alone but by how well they hold up over months of daily use:
- Mushroom Theme - best all-rounder for card-based dashboards, works well on phones and tablets
- Noctis - best for media rooms and bedrooms, readable in complete darkness
- Caule Theme - best for households that prefer light mode, includes a matching dark variant
- iOS Dark - best for iPhone-heavy families who want a familiar look
- Metrology Metro 4 - best for information-dense dashboards with uniform grid layouts
- Google Home Theme - best for Google/Nest device households wanting visual consistency
If you're completely new to Home Assistant theming, start with Mushroom. It's forgiving, actively maintained, and pairs with the most popular card libraries. You can always switch later. Theme changes take about 30 seconds once HACS is set up.
One thing most guides don't mention: try your theme on a phone screen before committing to it. A theme that looks elegant on a 27-inch monitor can feel cramped and hard to read on a phone. The Caule and Mushroom themes handle small screens better than Metrology or iOS Dark in my experience.
What to Check Before Installing Any Theme
Before you install, a quick look at three things will save you from theme regret:
Card library compatibility matters more than it sounds. Mushroom cards and standard HA Lovelace cards render differently under most themes. A theme built for Mushroom may look washed out with older entity cards.
Color mode support is worth checking. Some themes only ship a dark variant and have poor light mode support. If your dashboard is wall-mounted near a window, a theme with a proper light variant (like Caule) will be far more readable during daytime hours.
Update frequency is a real factor. A theme that hasn't been updated in 18 months may have broken CSS variables from Home Assistant core updates. HACS shows last-update dates in the Frontend section. Stick to themes updated within the past year.
Can You Tweak a Theme Without Starting From Scratch?
Yes, and this is more useful than most guides acknowledge. Every Home Assistant theme is a YAML file with named variables. Open any installed theme in config/themes/ and you'll see entries like primary-color, card-background-color, and header-background-color.
You can override individual variables in your own theme file without copying the entire base theme. Create a new YAML file in config/themes/, reference the base theme name, and only list the variables you want to change. This approach survives HACS updates cleanly, your overrides stay separate from the theme author's file.
Common tweaks: adjusting the primary accent color to match your house's actual color scheme, or nudging card border radius from the default 12px to 6px for a sharper look.
Advanced Lovelace layouts for custom dashboards
FAQ
Do Home Assistant themes slow down the dashboard?
No. Themes are pure CSS variable overrides, they change colors, fonts, and spacing but add zero JavaScript and no network requests. On a Raspberry Pi 4 running Home Assistant OS 2025.1, theme switching is instantaneous. The only performance variable is the number of cards on the dashboard, not which theme you apply to them.
Can I use different themes on different dashboards?
Yes. Home Assistant supports per-dashboard theme assignment via the dashboard's "Edit dashboard" settings. Open the three-dot menu on any dashboard, choose "Edit dashboard," then pick a theme from the dropdown. Your default theme stays on all other dashboards. This is handy for room-specific kiosk tablets, bedroom dark, kitchen light.
How do I make a theme switch automatically at sunset?
Create a Home Assistant automation using the "sun.sun" entity as a trigger. Set it to call the "frontend.set_theme" service with your dark theme name when state changes to "below_horizon," and your light theme when it returns to "above_horizon." The automation runs in under a second and all connected dashboards update simultaneously.
Frequently Asked Questions
Do Home Assistant themes slow down the dashboard?
No. Themes are pure CSS variable overrides, they change colors, fonts, and spacing but add zero JavaScript and no network requests. On a Raspberry Pi 4 running Home Assistant OS 2025.1, theme switching is instantaneous. The only performance variable is the number of cards on the dashboard, not which theme you apply to them.
Can I use different themes on different dashboards?
Yes. Home Assistant supports per-dashboard theme assignment via the dashboard's "Edit dashboard" settings. Open the three-dot menu on any dashboard, choose "Edit dashboard," then pick a theme from the dropdown. Your default theme stays on all other dashboards. This is handy for room-specific kiosk tablets, bedroom dark, kitchen light.
How do I make a theme switch automatically at sunset?
Create a Home Assistant automation using the "sun.sun" entity as a trigger. Set it to call the "frontend.set_theme" service with your dark theme name when state changes to "below_horizon," and your light theme when it returns to "above_horizon." The automation runs in under a second and all connected dashboards update simultaneously.