iOS Dark Mode Theme


Hi all,

Based on iOS in dark mode, I’ve created the iOS Dark Mode Theme using the colours from the iOS interface.

I post screenshots and installation instructions below!

Please :star: it on GitHub to show me that there might be users, such that I keep motivated to improve it :smile:

iOS Dark Mode Theme

Action Status

The iOS Dark Mode Theme by @basnijholt and modified from @kalkih’s Gist



With alternative background (



Developer Tools




  1. Add the following code to your configuration.yaml file (reboot required).
  ... # your configuration.
  themes: !include_dir_merge_named themes
  ... # your configuration.
  1. Add the following line to your lovelace-ui.yaml or use the RAW editor:
background: var(--background-image)
  1. (Optional) add the following to the same file to make the header smaller (you need to install cch too):
  background: rgba(155, 155, 155, 0.25)
  clock_format: 24
  options: clock
  swipe_animate: fade
  swipe_prevent_default: true


  1. Go to the Community Store.
  2. Search for iOS Dark Mode.
  3. Navigate to iOS Dark Mode theme.
  4. Press Install.


Clone this repository in your existing (or create it) themes/ folder.

cd themes/
git clone

Or using submodules:

cd themes/
git submodule add

Just got this working with HACS finally.
What is the header color called?
I’d love to change it from orange to something more muted.
I don’t want to run the custom compact header. (I think that gets rid of the ability to edit your cards in the UI, unless that’s been addressed, I’m in.)

AFAIK that has never been the case.

1 Like

Ok, I’m looking into it now.
It’s installed but I’ve got to figure out how to enable and style it.
Maybe a restart lets the theme takeover, I don’t know.

Edit: I see the config section of the docs now.

I am glad you like it! (Don’t forget to :star:on Github :slight_smile: )

You can click on the top right (in my screenshots that is the clock) to access the UI when using CCH.

To change the orange you can change primary-color.

1 Like

Thanks! CCH seems a bit much at the moment. I’ll gladly change the color in the theme though
Thanks :slight_smile:

A little more subdued:

1 Like

NOOB here - can someone point me to the instructions to change the background image.


1 Like

Hi @msbc!

I have written instructions on how to do that here.

Let me know if it works for you :smile:

1 Like

Thanks for the instructions. They work fine, but copying the base64 string into the YAML is a bit error-prone. So I decided to reference the file with
background-image: “center / cover no-repeat url(’/local/homekit-bg-3.jpg’) fixed”
after copying it to /config/www/

One further question - my Overview page has the theme but Map, History, Logbook don’t. How do I apply the Theme to those pages?


The theme should work there as well. However, the background will not be shown and neither will the cch plugin work there.

Maybe restart your HA or clear browser cache?

It’s probably defined in Lovelace and not in the profile

I have the same problem
on Hassio with the latest version

Great theme! Thanks!
I have one question, though: How do I make the header transparent in the main screen? In the screenshot I see that it blends in nicely with the background image, which looks great.

@pijiulaoshi, thanks!

Did you look at step 3 of the installation?

Now I feel stupid :slight_smile: I thought that was just a color and disregarded it, but after a quick search I found out what the ‘a’ in ‘rgba’ stands for. My apologies and thanks for your patience!

Love this theme, stared on GitHub for sure. The best one I have found yet. Applied a couple tweaks with colors and transparency. Using this for a home dashboard in my living room. Took a picture of my fireplace and found the hex colors for the paint on my walls. So I was able to completely match my house. Looks sooooo slick. Thousand thanks!



Really like the transparency and gray on top. Can you share what you changed?

here you go:

cch-background: rgba(174, 179, 169, 0.8)

Hey there just finished installing this theme its awesome thank you for sharing…

Is there a way you can provide the cards raw data for the second view? i would like to try it but i dont want to mess with my lovelace.yaml since i know im going to screw up.