# Catppuccin Userstyles, a shared palette applied to websites you do not control

> Catppuccin Userstyles is a repository of Less stylesheets that restyle popular websites in the Catppuccin palette, contributed per site and shipped through a public catalogue. The project is a collection rather than a framework, and its interesting parts are the contribution tooling and the fact that a single palette has to survive dozens of unrelated page designs.

**catppuccin/userstyles** — 🖌 Soothing pastel userstyles

- Repository: https://github.com/catppuccin/userstyles
- Website: https://userstyles.catppuccin.com/
- Stars: 1,143 · Forks: 299
- Language: Less
- License: MIT
- Published: 2026-10-19 · Updated: 2026-10-19 · Language: en
- Canonical page: https://hysenlabs.com/projects/catppuccin-userstyles

## A palette applied on top of pages someone else designed

Catppuccin Userstyles is a curated collection of soothing pastel themes for websites and web applications, and the project description puts it plainly: a collection of userstyles. The subject matter is not a game, a library or a service. It is a set of stylesheets that restyle sites the author does not own, so that a page that ships its own light or dark theme can be recoloured to match the Catppuccin palette instead.

That framing explains both the appeal and the constraint. The appeal is that the palette is the point. The README badges are rendered in the palette's own hex values, with 363a4f used as the base colour, b7bdf8 and cba6f7 as the lighter accents, a6da95 for the maintainers badge, and f0c6c6 for the discussions badge that reads as disabled. The project is a member of the wider Catppuccin organisation, whose logo and footer graphics appear in the README, with copyright held by the Catppuccin Org from 2021 onward.

The constraint is that every style is a patch against someone else's markup. The colours are easy; the selectors are not. A style that works today may break the next time the target site changes a class name or wraps a section in a new element, and the project has no way to fix the target site. So the real work in this repository is less about colour and more about finding stable hooks in a page you do not control, which is a different discipline from designing a theme.

## The catalogue lives in styles/ and a template shapes each new entry

The repository layout explains how the work is organised. The styles/ directory holds the actual stylesheets, one per site, and the README links to it directly with a badge that counts the userstyles in that directory. A template/ directory sits alongside it, which is the convention for how a new style should be shaped before it is merged, and a lib/ directory holds shared code, the pieces that would otherwise be duplicated across many site styles.

Then there is the tooling, and it is more substantial than the site styles themselves. scripts/ holds the automation, including a userstyles.yml file that the maintainers badge queries to count collaborators, and the docs/ directory holds the project documentation with a src/assets folder holding the preview image shown in the README. The public catalogue is served from userstyles.catppuccin.com, which the README names as the place to get started, so the repository is the source and the website is where the styles are distributed.

The build and lint configuration is worth noting for a project made of CSS. The styles are written in Less, which the primary language field confirms, and a .stylelintrc.js at the root holds the linting rules for them, so the stylesheets are checked by stylelint rather than left to review by eye. A .editorconfig and a .vscode/ directory handle formatting and editor defaults, and .gitattributes, .gitignore and .envrc complete the basics.

## Deno, Nix and Renovate run the catalogue

The build tooling is where a stylesheet repository becomes a small engineering project. A deno.json and deno.lock at the root point to Deno as the runtime for the scripts, with the lock file committed so script runs are reproducible. Alongside that, flake.nix, shell.nix and flake.lock describe a Nix development environment, so contributors can get the same tool versions regardless of what they have installed locally.

Dependency maintenance is delegated to a tool rather than to a person. renovate.json5 sits at the root with the Renovate configuration, so the automated dependency update service handles version bumps across the manifests. The repository also has a .github/ directory containing the workflows, and the README badge for maintainers is a dynamic one that queries the scripts/userstyles.yml file to count the collaborators, which suggests the list of people with commit rights is defined as data in a script file rather than only in GitHub settings. There is a CODEOWNERS file referenced by another badge, so ownership of parts of the tree is assigned to individuals.

The scale of the automation is worth contrasting with the scale of the content. The styles themselves are hand-written Less, but the pipeline around them treats them like a package: linted, locked, built and kept current. That ratio is typical of projects that are mostly handcrafted files but still want the boring work to be automatic.

## One release tag, and a repository that still changes

The release history is unusual and tells you something about how the project is distributed. There is a single tag, all-userstyles-export, dated 2023-12-15, and it is named for what it is rather than for a version number. That fits a project whose output is a browsable catalogue: at some point the maintainers needed a way to publish everything in one go, and the artefact was the export rather than a per-style version.

Since then the repository has kept changing without new tags. The last push was on 2026-10-19, which is a few days before this article was written, so the styles, the tooling and the documentation are all in motion. The topics attached to the repository include stylus, which is the userstyle manager most of these styles target, along with catppuccin, palette, theme, website and hacktoberfest, the last of which points to contributions arriving as part of that seasonal programme.

For a reader deciding whether to use these styles, that means the catalogue is current and that individual styles change without a version history you can pin. If you depend on a specific site style, it is worth checking the last modification of that file rather than assuming a release pins it. The licence is MIT, so the styles can be reused and modified under that licence, and the copyright line in the README attributes the organisation rather than an individual.

## What the stylesheet approach cannot fix

There are limits to recolouring a page from the outside, and they shape what a userstyle can deliver.

The first is that a style can only reach what the page exposes. Colour, spacing, borders and fonts are reachable through CSS. Anything that depends on an image, an inline SVG, a canvas drawing or a script-generated colour is not, and a userstyle that tries to fake a dark mode for such a page ends up looking half-applied. The styles for individual sites in the catalogue have absorbed these site-specific problems over time, which is why the collection rather than a single generic stylesheet is the useful unit here.

The second is breakage. A userstyle depends on the target site's own class names and structure, so a redesign on the site side can leave a style matching nothing or, worse, matching the wrong element. The project cannot schedule that maintenance, and the only protection is a contributor noticing and fixing it.

The third is that this is a personal browsing tool, not an application dependency. The styles are written to make a reading surface pleasant for one person on one browser, and the repository has no test suite, no visual regression checks and no compatibility matrix in its top-level entries. Anyone considering a userstyle for a product they are shipping should treat it as a starting point to read and rewrite, not as a dependency to install.

## Conclusion

Catppuccin Userstyles suits someone who wants their reading and browsing sites to match a pastel palette without waiting for those sites to ship a theme of their own, and it suits contributors who enjoy reverse engineering a page's selectors and documenting the result as a Less file. It is the wrong choice for a team that needs a design system, since each style is a hand-maintained patch against a third party page that the project does not control, and it is the wrong choice for production applications, since the styles are aimed at personal browsing. Before contributing, look at the template/ directory to follow the expected file shape, and check the styles/ directory to see whether the site you have in mind is already covered, since the last push was on 2026-10-19 and the catalogue is actively changing.

## FAQ

### What is Catppuccin Userstyles and how do I get the styles?

It is a curated collection of Less stylesheets that restyle popular websites in the Catppuccin palette, one per site in the styles/ directory. The README points to userstyles.catppuccin.com as the place to get started.

### How do I contribute a new style for a website?

The repository layout shows a styles/ directory for the stylesheets and a template/ directory that defines the expected shape of a new entry, with the catalogue served from userstyles.catppuccin.com. The README also asks contributors to open an issue so the work can be tracked.

### What is the userstyles repository written in and how is it built?

The styles are written in Less, the primary language of the repository, and are linted with a .stylelintrc.js configuration. The scripts run under Deno with a committed deno.lock, and a flake.nix and shell.nix pair provide a Nix development environment.

### Is the Catppuccin Userstyles project still being updated?

The repository is not archived and the last push was on 2026-10-19. It has a single release tag, all-userstyles-export from 2023-12-15, so changes land in the repository rather than as tagged releases.

## Sources

- [catppuccin/userstyles on GitHub](https://github.com/catppuccin/userstyles)
- [License: MIT](https://github.com/catppuccin/userstyles/blob/main/LICENSE)
- [Project website](https://userstyles.catppuccin.com/)
- [README](https://github.com/catppuccin/userstyles/blob/main/README.md)
- [Releases](https://github.com/catppuccin/userstyles/releases)

---

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