# WhiteSur Firefox theme for macOS: preview, install, and roll back

> WhiteSurFirefoxThemeMacOS is a CSS sheet that reskins Firefox to look like Big Sur Safari. It installs through fxcss, keeps a hashed record of edited files, and admits it is an adaptation of a Linux GTK theme.

**AdamXweb/WhiteSurFirefoxThemeMacOS** — MacOS Big Sur like theme for Firefox on MacOS & Windows. Make your Firefox look like Safari.

- Repository: https://github.com/AdamXweb/WhiteSurFirefoxThemeMacOS
- Stars: 618 · Forks: 39
- Language: CSS
- License: MIT
- Published: 2026-10-22 · Updated: 2026-10-22 · Language: en
- Canonical page: https://hysenlabs.com/projects/adamxweb-whitesurfirefoxthememacos

## A Firefox profile that reads like Big Sur Safari

This repository is a CSS theme for Firefox 70 and later whose stated aim is to make Firefox look more like macOS Big Sur Safari, and it is packaged for macOS, Windows and Linux alike. The audience is narrow and obvious: people who keep Firefox as their daily browser but want the window buttons, tab strip and URL bar of a Mac browser. It is a skin, not a fork. No engine is patched, no extension is bundled, and no browser preference is rewritten. The description puts the intent plainly: make your Firefox look like Safari.

The deliverable is a set of files placed in the Firefox profile's chrome/ folder, which is why the project leans on a separate installer rather than on anything inside the repository itself. That shape has a clear upside and a clear cost. Nothing here hooks into browsing, runs in the background or reports anywhere, so the risk of a compromised profile is not the concern. What you accept instead is a maintenance problem: Firefox reorganizes its internal selectors often, and a stylesheet that targets those selectors by name has to be rewritten whenever the internals move. Two of the option previews in this repository already say the sheet they belong to touches selectors that have moved.

## The sheet is a port of the WhiteSur GTK theme, not a from-scratch build

Provenance is stated rather than hidden. The project describes itself as a CSS theme adapted to work on macOS from the Linux GTK theme, based on the firefox directory of the WhiteSur-gtk-theme project, and it adds a parenthetical that this is a quick modification and is not written from scratch. Read that literally. The upstream sheet was drawn for a Linux GTK environment, so the layout expectations and platform assumptions arrived with it, and this repository adjusts them so the result reads correctly on macOS and Windows.

The directory listing matches that story. A chrome/ directory holds the user interface files, custom/ holds optional stylesheets that can be layered on top, configuration/ holds settings used at install time, and three shell files sit at the top level: install.sh, lib-core.sh and lib-install.sh. The primary language is CSS. Someone expecting original macOS design work will not find it here. What they will find is a well-known open source theme re-pointed at a different browser platform, which is a legitimate goal and also a narrower one than the word theme suggests.

## Previewing with fxcss try leaves your real profile alone

The nicest thing in this workflow is that you can look before you commit. The documentation offers a preview path that opens a separate, disposable Firefox with the theme applied, so your everyday profile is never touched. Quitting that window resets everything.

```bash
pipx install "fxcss[images]"     # no pipx? see pipx.pypa.io (brew install pipx on macOS)
fxcss try AdamXweb/WhiteSurFirefoxThemeMacOS
```

The installer itself is the fxcss tool, published separately by the same author, and the documented requirement is version 0.16 or newer. The bracketed images extra is what pulls the preview assets along with the package. If pipx is not on the machine, the comment points to pipx.pypa.io and notes brew install pipx on macOS. For dark mode the preview adds a flag, and optional stylesheets from the custom/ directory can be layered in for a trial as well, so the same command covers several looks before anything is written to a profile.

## fxcss install writes into chrome/ and labels each profile

The default installation path covers macOS, Windows and Linux, including snap and flatpak Firefoxes on Linux, and it can reach a Firefox installed in an unusual place through the FXCSS_PROFILE_ROOTS environment variable. When more than one installed Firefox carries profiles, fxcss asks which one to update instead of guessing.

```bash
pipx install "fxcss[images]"     # no pipx? see pipx.pypa.io (brew install pipx on macOS)
fxcss install AdamXweb/WhiteSurFirefoxThemeMacOS
```

Two details matter more than they first appear. First, your existing chrome/ folder is backed up before anything is overwritten. Second, the tool labels each profile with the Firefox it belongs to, using tags such as [Release], [Developer Edition] and [ESR], because a machine with several parallel Firefox builds is exactly where an install lands in the wrong directory. Run without the optional-stylesheet switch and it prompts for which optional stylesheets to include; supply them explicitly with the --with option, for example --with compact-tabs,tabs-swapclose.

## Upgrade keeps a backup and refuses to touch files you edited

Most theme scripts overwrite a profile and call it done. This one keeps state, which is the difference between a theme you can live with and one you can actually maintain.

```bash
fxcss profiles --check     # what is installed where, and whether it is current
fxcss upgrade              # take the newest release, keeping a way back
fxcss rollback             # …and that is the way back
```

The upgrade path fetches the newest release, reinstalls it, and retains the version it replaced as a chrome.backup-* directory so rollback can undo the step. The protection worth knowing about is the hash record: the install writes a hash per file, so the tool knows which files you have edited by hand, and it will not overwrite them without being told. It also halts if an optional stylesheet you previously selected was renamed or dropped, instead of letting that option quietly switch itself off on the next upgrade.

For scheduled checks there is a read-only variant. fxcss upgrade --check changes nothing and reports through its exit code, 0 when up to date and 1 when an upgrade exists, which is the form a cron job wants. If the theme was already installed by another route, fxcss adopt identifies it by hashing every file in your chrome/ folder and matching against this repository's own releases, then records it so the same commands work; it copies the existing folder to a backup and reports files that already differ from the release it matched.

## The install.sh path still exists, and two of its options no longer show an effect

There is a second route. The documentation also describes downloading the latest release or cloning the repository, opening a terminal in that directory and running bash install.sh, then following the prompts. That script accepts a set of single-letter flags. The -c flag moves the tab close button to the left hand side, -w does the same for the window close button, -p makes the tab height compact like current Safari, -f specifies the default Firefox folder, -l points at the default location of most Linux installations, -u removes the animation on the URL bar so it is clickable throughout, -n removes the identity colour from tabs, -v re-enables the tabview button, -e hides the extension button, -s gives a single tab view, -t takes a colour theme name, -i increases contrast, -a highlights the selected tab, and -r removes the theme. The script installs into ESR profiles as well as release ones.

The honest catch is in the preview captions. For -u, the standard URL bar, and for -n, no identity colour on tabs, the documentation states plainly that there is no crop because the sheet changes nothing measurable on current Firefox, since the selectors it touches have moved. Those two flags are documented but currently inert. The comparison images for the other options are rendered by CI with fxcss from the current theme and refresh automatically as the theme changes.

## Where this theme stops being the right tool

Three boundaries are worth naming. The first is platform fit. The sheet is derived from a GTK theme and adapted for macOS and Windows, so the resemblance to Safari is an approximation produced by CSS, not native controls. Anyone whose work depends on pixel accurate parity with real Safari will find the differences, and the moved selectors behind the inert -u and -n options show where the adaptation has fallen behind.

The second is the upgrade treadmill. Firefox's internal selectors keep changing, so the value of this theme is tied to how often somebody maintains the mapping. The repository is not archived and the last push was on 2026-10-06, with release v2.0.1 dated 2026-09-01 and v2.0.0 dated 2026-08-17, so it is moving at present. Whether it moves as fast as Firefox depends on a maintainer, not on a schedule you control.

The third is scope. This changes appearance only. It is not a way to get Safari features, it does not alter how the browser renders pages, and the repository description is careful to say it is a theme to look more like Safari rather than a replacement browser. The licence is MIT, so redistribution and modification are permitted in the usual way, though the README does not document rollback for the install.sh path the way fxcss does.

## Conclusion

Pick this theme if you want Safari's chrome in Firefox and can accept a sheet that a community maintains against a moving browser; skip it if you need a design you can rely on across upgrades or if you need features the flags no longer reach. Before installing anything, run fxcss profiles --check to see what a previous install left behind, and confirm the release dated 2026-09-01 still matches the Firefox build on the machine, because the last push was on 2026-10-06 and two option previews are labelled as no longer changing anything.

## FAQ

### How do I install the WhiteSur Firefox theme on macOS?

Install fxcss 0.16 or newer with pipx and then run fxcss install AdamXweb/WhiteSurFirefoxThemeMacOS. The tool detects your Firefox profiles across macOS, Windows and Linux, backs up your existing chrome/ folder first, and can reach an unusual install through FXCSS_PROFILE_ROOTS.

### Can I try WhiteSurFirefoxThemeMacOS without changing my real Firefox profile?

Yes. The fxcss try command opens a throwaway Firefox with the theme applied and leaves your main profile untouched. Quitting that browser resets everything, and a --dark flag switches the preview to dark mode.

### How do I roll back or undo the WhiteSur Firefox theme?

After an upgrade, fxcss rollback restores the version that was replaced, which the installer keeps as a chrome.backup-* directory. To remove the theme entirely and put the profile back as it was, run fxcss uninstall.

### Will a Firefox upgrade overwrite the files I changed in the theme?

Not without being told. The install records a hash per file, so fxcss upgrade refuses to overwrite files you edited yourself, and it stops rather than silently dropping an optional stylesheet that was renamed or removed.

## Sources

- [AdamXweb/WhiteSurFirefoxThemeMacOS on GitHub](https://github.com/AdamXweb/WhiteSurFirefoxThemeMacOS)
- [Issues](https://github.com/AdamXweb/WhiteSurFirefoxThemeMacOS/issues)
- [License: MIT](https://github.com/AdamXweb/WhiteSurFirefoxThemeMacOS/blob/master/LICENSE)
- [README](https://github.com/AdamXweb/WhiteSurFirefoxThemeMacOS/blob/master/README.md)
- [Releases](https://github.com/AdamXweb/WhiteSurFirefoxThemeMacOS/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/adamxweb-whitesurfirefoxthememacos
