Open-source project
sumruler/obsidian-theme-phycat avatar
sumruler/obsidian-theme-phycat

Phycat: a glassmorphism Obsidian theme with 12 colour presets

A colorful theme for Obsidian

588 stars27 forksCSSMIT

At a glance

What is it?
Phycat is an Obsidian theme built around a glassmorphism look, with separate light and dark palettes, twelve JSON presets, flat or card layouts, an offline colour generator that derives a whole palette from four base colours, and a rainbow file explorer. It is MIT licensed and needs Obsidian 1.9.0 or newer.
Who is it for?
Phycat suits an Obsidian user who wants a visually distinct vault, has a preference for light and dark schemes that differ rather than being inversions of each other, and is willing to spend an afternoon in the colour generator to get a palette that is theirs.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 14 days ago.
What is it written in?
Mainly CSS, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What the theme is, and what it assumes

Phycat is a glassmorphism theme for Obsidian 1.9.0 and newer, with separate light and dark palettes, twelve JSON presets, flat and card layouts, customisable code blocks, callouts and a rainbow file explorer. The theme itself has no plugin dependency. Without the Style Settings community plugin it uses the default light Sakura palette and the default dark Vampire palette, and Style Settings is what enables palette imports, layout and spacing controls. The recommended text font is LXGW WenKai, and the code font follows the Obsidian monospace setting, with both the font and the Hover Editor described as optional. The primary language of the repository is CSS, the licence is MIT, and the recent releases are 0.3.7 on 2026-10-09, 0.3.5 and 0.3.4 both on 2026-10-06, so the pace of work on the theme is fast.

Twelve presets, and a palette that is not one scheme

The presets are the quickest way to see what the theme is capable of, and they are listed in a table with the file name for each. The light ones are Sakura, Mint, Sky, Forest, Mauve, Golden Hour, Cherry and Prussian, and the dark ones are Vampire, Abyss, Radiation and Everforest, each with a JSON file under the presets directory. What is interesting is that the light and dark schemes are separate rather than being inversions of each other, and that they can be combined independently, so a user can pair any light preset with any dark preset. The preset file names are worth knowing because the migration notes depend on them. A separate colour generator is also recommended, and it is a plain web page rather than a hosted service.

The offline colour generator

The generator is the part of the project that is more than a stylesheet, and the design constraint is that it needs no network, no server and no build step. You open the generator's index file in a browser next to the theme file, and it previews the local theme. The workflow has four steps. You pick a light or dark mode, start from a built in preset and adjust the primary colour, the secondary colour, the background and the text, and the other colours that are not locked are computed automatically. Then you fine tune in the advanced groups, where a manual change locks that entry, and clicking the automatic option or the restore option makes it follow the base colours again. Then you generate the counterpart scheme, which produces a consistent light or dark set while keeping the advanced colours already locked in the target mode. And finally you download the JSON for the current mode, which is 194 settings, or the combined 388 for both modes, and import it into Obsidian through the Style Settings import from file option.

Why the generator exists as a separate page

The reason for the file based approach is a practical one about how Obsidian themes are distributed and how people actually work. The light and dark colours are saved independently in the current page session, so the documentation warns you to export before refreshing or closing the page, which means the generator is a tool you use once and then throw away, not a settings panel that persists. The import itself is strict, since it accepts HEX, RGB and RGBA, and HSL and HSLA colour forms. Some configuration is merged into the current palette and imported colours are kept as locked values, and an invalid colour cancels the entire import rather than importing partially. The preview uses the local theme file, and it can toggle the flat or card layout, the H1 alignment, the H2 twin tower or capsule treatment and the interface controls, and none of those preview options are written into the palette file, which is a careful separation between appearance and colour.

Installing the theme, and the update wrinkle

There are two installation routes. The supported one is through the app, opening Settings, then Appearance, then Themes, then Manage, searching for Phycat and installing it. The manual route is to download the full theme ZIP from the releases page, extract the Phycat directory into the vault's `.obsidian/themes/` directory and enable it, backing up an existing folder first if you have one. The wrinkle is in the update path, and it is the one piece of advice in the documentation that you should not skip. The Obsidian theme updater installs only the core theme files, so if you use presets you need to download the separate preset ZIP or the full install package as well, or take the files from the repository. And when upgrading from a 0.2.x version, the old colour dropdown stops working, so you export your settings with Style Settings first and then import the light and dark presets you were using, with Ocean renamed to Mint and Cheery corrected to Cherry.

How the project is built and released

The repository is mostly CSS with a small Node toolchain around it, and the top level shows both halves. There is `theme.css` and a `theme-origin.css`, a `presets/` directory, a `color-generator/` directory, a `scripts/` directory, a `manifest.json` for the theme, and a `releases/` directory, plus a `licenses/` directory and a third party notices file for the assets that are not the author's own. The package.json is small and its scripts are the build and test entry points, with a check that runs a validation script and the generator test, a test script that runs two browser tests, a build script, a release preparation script, and the generator's own sync and test scripts. The engine requirement is Node 22 or newer, and the dev dependencies are playwright for the browser tests, postcss for the stylesheet processing, fflate for compression and js-yaml for the metadata. The build tooling treats the theme as a real product, with a changelog, a development guide, a migration guide, a palette guide and an audit fixes document listing how the twenty four release checks in this version were handled.

Where this is the wrong choice

The limits are mostly aesthetic and practical. First, the theme has an identity, and it is a glass effect. If your vault is for dense technical notes and you want flat, high contrast text on an opaque background, the visual language here works against you, and the flat option in the layout settings changes the arrangement rather than removing the glass treatment. Second, the configuration burden is real for a theme, since the presets are files you import and the generator is a page you export from, and a user who never opens either ends up with the default Sakura and Vampire. Third, the upgrade path is where this kind of project usually annoys people, and the 0.2.x break shows the cost of a renaming scheme change in a theme with saved user settings. Fourth, the theme updater only installs the core files, so a user who relies on presets is managing two artefacts rather than one. And fifth, the theme is a single maintained artifact in a fairly active release cycle, with three releases in the same week in this instance, so an Obsidian version change can break the appearance and the fix arrives as a new ZIP rather than as a smooth update.

Editorial conclusion

Phycat suits an Obsidian user who wants a visually distinct vault, has a preference for light and dark schemes that differ rather than being inversions of each other, and is willing to spend an afternoon in the colour generator to get a palette that is theirs. It is the wrong choice if you want a theme that needs no configuration, since the default appearance is the light Sakura and the dark Vampire and everything else is opt in, and the wrong choice if you dislike a glass effect, because the visual identity of the theme is that effect. Before you upgrade from an older 0.2.x install, export your settings first, because the preset names changed, Ocean became Mint and Cheery became Cherry. The last push was on 2026-10-09 with version 0.3.7 released the same day, and the theme is MIT licensed.

Frequently asked questions

How do I install the Phycat Obsidian theme?

Through the app, open Settings, then Appearance, then Themes, then Manage, search for Phycat and install it. Manually you can download the full theme ZIP from the Releases page, extract the Phycat directory into your vault's `.obsidian/themes/` folder and enable it, backing up an existing folder first.

Do I need the Style Settings plugin to use Phycat?

No. The theme has no plugin dependency, and without Style Settings it uses the default light Sakura palette and the default dark Vampire palette. Style Settings is what enables palette imports, layout and spacing controls.

What changed when I upgrade Phycat from version 0.2.x?

The old colour dropdown no longer works, so you should export your settings with Style Settings and then import the light and dark presets you were using. Two presets were renamed in the process, Ocean is now Mint and Cheery is corrected to Cherry.

Official sources

  1. Issues
  2. License: MIT
  3. README
  4. Releases
  5. sumruler/obsidian-theme-phycat on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/sumruler-obsidian-theme-phycat.svg)](https://hysenlabs.com/projects/sumruler-obsidian-theme-phycat)

Was this useful?