Change menu bar color in macOS Big Sur

License: MIT


Swift Version

Twitter: @igorkulman

Buy Me A Coffee

Simple utility to change macOS Big Sur menu bar color by appending a solid color or gradient rectangle to a wallpaper image.


Big Sur changed the way the menu bar is displayed. It now adopts the color of the wallpaper, which may not always be what you would like. This utility allows you to specify the solid color or gradient of the menu bar you want to use.


Imagine you have a dark wallpaper (here is mine). This dark wallpaper results in the menu bar being black even though you use the Light mode

Default menu bar color in macOS Big Sur

With this utility you can generate a new wallpaper that makes the menu bar being shown in any color you want, like a nice tone of gray from Catalina.

Custom color menu bar in macOS Big Sur

Or a custom gradient

Gradient menu bar in macOS Big Sur


Binary release

Download the latest published release and unzip the file. It will create a ChangeMenuBarColor executable file that you can use.

Make sure you execute all the commands from the directory where you unziped the files. So if you unziped the release to a ChangeMenuBarColor directory you need to enter it with a cd ChangeMenuBarColor before running the utility.

The binary release is not guaranteed to work as it depends on a few factors in your macOS installation. If it does not work for you, build the utility from source.

Building from source

To build the utility you need to have Xcode installed and opened at least once.

Clone the repository

git clone

enter it

cd ChangeMenuBarColor

and run

swift build -c release

to create a ChangeMenuBarColor executable file in .build/release. Ideally copy it to the project directory with

cp .build/release/ChangeMenuBarColor .


Solid color

To set a new wallpaper file with a solid color rectangle that matches the menu bar, run

./ChangeMenuBarColor SolidColor "desired_hex_color" "optional_path_to_your_wallpaper" 

So for example

./ChangeMenuBarColor SolidColor "#CCCCCC" "/Users/igorkulman/wallpaper.jpg"

If you do not provide the wallpaper path

./ChangeMenuBarColor SolidColor "#CCCCCC"

the currently set wallpaper will be used.


To set a new wallpaper file with a gradient rectangle at the top, run

./ChangeMenuBarColor Gradient "start_hex_color" "end_hex_color" "optional_path_to_your_wallpaper"

So for example

./ChangeMenuBarColor Gradient "#FF0000" "#00FF00" "/Users/igorkulman/wallpaper.jpg"

If you do not provide the wallpaper path

./ChangeMenuBarColor Gradient "#FF0000" "#00FF00"

the currently set wallpaper will be used.

Multiple displays

If you use multiple displays and want the wallpaper generated for all of them, add the --all-displays flag at the end of the command, so for example ./ChangeMenuBarColor Gradient "#FF0000" "#00FF00" --all-displays.

Support the project

Buy Me A Coffee

Known issues

Make sure Automatically hide and show the menu bar is disabled. This setting causes the utility to incorrectly detect the menu bar size.

Dynamic wallpapers are not supported at the moment. If you use a dynamic wallpaper the utility will convert it to a static .jpg image.

Catalina support

The utility builds and runs on Catalina but the menu bar on Catalina works in a different way that on Big Sur so the result will never be the same as on Big Sur.


All contributions are welcomed!


Use swift package generate-xcodeproj to generate a Xcode project you can use for development.



This project is licensed under the MIT License – see the LICENSE file for details.