Open-source project
kepano/obsidian-minimal avatar
kepano/obsidian-minimal

Obsidian Minimal: a CSS theme with two companion plugins

A distraction-free and highly customizable theme for Obsidian.

5,398 stars276 forksCSSMIT

At a glance

What is it?
Obsidian Minimal is a theme for Obsidian desktop, mobile and tablet, distributed through the community theme browser and tuned through the Minimal Theme Settings and Hider plugins. Its strength is breadth of customization; its cost is a three-plugin stack and a settings surface that lives mostly on minimal.guide.
Who is it for?
Adopt Obsidian Minimal if you want a distraction-free Obsidian with preset color schemes, focus mode and per-file layout control, and you accept installing two or three companion plugins to reach the settings. Skip it if you want a theme that does everything from a single stylesheet with no plugin dependency, or if you cannot use community plugins at all.
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 10 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 September 30, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What Obsidian Minimal is for

Obsidian Minimal is a theme for Obsidian, not a plugin. The README describes it as a theme for desktop, mobile and tablet, and the repository is dominated by CSS: Minimal.css, obsidian.css and theme.css at the top level, with a src/ directory and a build.js script that compiles Sass. If you use Obsidian and find the default interface visually loud, or you want the same vault to look consistent across a laptop and a phone, this is the layer that changes. It is also the theme Obsidian's own forum awarded Best Theme in 2020, according to the README, which is a signal about longevity rather than about how it will look on your machine.

The audience is narrower than "anyone who uses Obsidian". Minimal is aimed at people willing to install companion plugins and read documentation on a separate site. The README points to minimal.guide for detailed documentation and links each feature to its own page there. If you want a theme you set once and forget, the feature list will be more than you need. If you want to control contrast, line width, heading colors and image layout independently, the theme is built for exactly that.

How the theme, plugins and helper classes fit together

There are three moving parts. The theme itself is the CSS. The Minimal Theme Settings plugin exposes the main toggles: background contrast, color scheme, line width, focus mode, colorful frame, colorful headings, text labels for primary navigation, and layout options for images, tables and iframes. The Hider plugin is recommended separately for hiding Obsidian UI elements such as the window frame, scrollbars and tooltips. Style Settings is a third, optional plugin that lets you build a custom color scheme.

The mechanism for per-note control is helper classes, applied inside the note rather than in settings. The README documents image filters added at the end of an image link:

markdown
![[image.jpeg#invert]]

The documentation states that #invert inverts images in dark mode, which it suggests for charts and handwriting on light backgrounds, and #invertW does the same in light mode. Layout options such as image grids and block widths can also be enabled per file through these classes, so a single vault can hold a dense reading note and a gallery note without a global switch. That is the design decision worth noticing: global defaults live in a plugin, exceptions live in the note text. It keeps the settings panel small, but it means your notes carry presentation markup, and copying a note elsewhere takes that markup with it.

Installing Obsidian Minimal and a first real use

The README gives two installation paths, both through Obsidian's own interfaces. The theme comes from community themes, and the companion plugin from community plugins. No manual file copying is described.

To install the theme, open Obsidian Settings, go to Appearance and click Manage, then search community themes for "Minimal" and click Use. After that the theme is active, but most of the controls are not visible yet, because they live in the plugin.

To install the companion plugin, go to Community plugins, turn off Restricted mode, search for "Minimal Theme Settings", then click Install and Enable. The README calls this plugin highly recommended for all users of Minimal, which is an honest way of saying the theme alone exposes only a fraction of its options.

Once both are in place, a first real use is switching color schemes separately for light and dark mode. The README lists preset schemes including Catppuccin, Dracula, Everforest, Gruvbox, macOS, Nord, Notion, Solarized and Things, and the Minimal Theme Settings plugin is where you select them. If you want to go further, install Style Settings and open it in a new pane through the command palette, which the README notes is CMD + P by default.

If you are working on the theme itself rather than using it, the repository ships a build setup. package.json defines two scripts:

bash
npm run build
npm run dev

build runs node build.js once, and dev runs the same script with --watch. The dependencies are chokidar and sass, and .env.example contains a single key, OBSIDIAN_PATH, set to '/Documents/Obsidian/.obsidian/themes/', which is the pattern the build uses to place output into a vault's themes directory. Note that package.json still declares version 8.2.1 while the most recent release is 9.1.0, so the file is not a reliable version indicator.

Where Minimal gets in the way

The dependency on companion plugins is the first limitation, and it is structural rather than accidental. The README states plainly that Minimal Theme Settings is highly recommended for all users, and that Hider is recommended for hiding UI elements. In an environment where community plugins are disabled, or where a vault is opened in a restricted context, you get the CSS but not the controls. That is a real difference from a theme that ships a single self-contained stylesheet.

The second limitation is configuration that lives outside the app. The README sends readers to minimal.guide for detailed documentation and links individual features to pages there, so the authoritative explanation of background contrast, line width or block widths is not in the repository README. If you work offline or prefer to keep everything in one place, you will be moving between Obsidian and a browser.

The third is plugin coverage. The README says most plugins work well with Minimal but names a specific list that has received special attention: Calendar, Charts, Checklist, Dataview, Dictionary, Excalidraw, Git, Hider, Kanban, Outliner and QuickAdd. If your workflow depends on something outside that list, appearance is not guaranteed, and the README does not promise otherwise. Finally, localization has a sharp edge: text labels for primary navigation require a translation snippet for languages other than English, so that particular feature is not a simple toggle for non-English users.

Minimal against the default theme and against Things-style looks

The honest alternative is Obsidian's default theme, which requires no installation, no companion plugins and no external documentation. The difference is not cosmetic polish; it is where control lives. The default theme gives you a small set of appearance options inside Obsidian. Minimal moves the interesting decisions into plugins: contrast levels including a true black option the README describes as ideal for OLED devices, separate light and dark color schemes, per-type block widths, and note-level helper classes. If you never touch those, Minimal is mostly a different set of defaults, and the default theme is the simpler choice.

A second comparison point is the Things color scheme, which Minimal ships as a preset. People searching for an Obsidian setup that resembles Things are usually after a specific look, and Minimal can approximate it by selecting that scheme in Minimal Theme Settings rather than by installing a separate theme. The trade-off is that you are adopting the whole settings system to get one palette. The same applies to the other presets: Catppuccin, Dracula, Everforest, Gruvbox, macOS, Nord, Notion and Solarized are all selections inside one theme, which is convenient if you change your mind often and unnecessary if you have already settled on a palette.

Maintenance, upgrades and the MIT licence

The repository is not archived, and the last push was on 2026-09-20. Releases are frequent enough to matter for upgrades: 9.1.0 on 2026-09-04, 9.0.2 on 2026-07-28 and 9.0.1 on 2026-07-27. Because installation goes through Obsidian's community theme browser, updates arrive the same way, and the README does not document a rollback path if a new version changes something you relied on. That is the upgrade cost to plan for: a theme update can alter spacing, contrast or plugin styling across every note at once, and the README is silent on reverting.

The licence is MIT, which is permissive and permits reuse and modification with the licence and copyright notice preserved. That matters if you intend to fork the CSS for a personal vault or ship a derived theme. It does not resolve the separate question of the companion plugins, which are different repositories with their own licences, so check those individually if you plan to redistribute a bundle. Nothing here is legal advice; read the LICENSE file in the repository and, for the plugins, the licences of obsidian-minimal-settings, obsidian-hider and obsidian-style-settings. For contributors, CONTRIBUTING.md sits at the top level alongside .editorconfig, and the build depends on Node with chokidar and sass.

Editorial conclusion

Adopt Obsidian Minimal if you want a distraction-free Obsidian with preset color schemes, focus mode and per-file layout control, and you accept installing two or three companion plugins to reach the settings. Skip it if you want a theme that does everything from a single stylesheet with no plugin dependency, or if you cannot use community plugins at all. Before switching, verify that the plugins you rely on appear in the supported list, and check your Obsidian version against versions.json, since the theme ships through the community browser and the repository's own package.json still reads 8.2.1 while the latest release is 9.1.0.

Frequently asked questions

What is the best Obsidian theme?

That depends on what you want from a theme, and the README makes no comparative claim. It does note that Minimal won Obsidian's official Best Theme award in 2020 and is available for desktop, mobile and tablet.

What is the best plugin for Obsidian?

Minimal's README does not rank plugins, but it does recommend two of its own companions: Minimal Theme Settings for color schemes, fonts and feature toggles, and Hider for hiding UI elements such as the window frame and scrollbars.

How to make Obsidian look pretty?

The README's answer is customization: preset color schemes including Catppuccin, Dracula, Everforest, Gruvbox, macOS, Nord, Solarized and Things, background contrast options with a true black mode for OLED devices, focus mode, colorful headings and image grids.

How does Obsidian Minimal compare with the default theme?

The default theme needs no installation or companion plugins. Minimal moves control into plugins, adding contrast levels including true black, separate light and dark color schemes, block widths and note-level helper classes such as image filters.

How does Obsidian Minimal compare with Things?

Things is not a separate theme here; it is one of the preset color schemes Minimal ships, selected through the Minimal Theme Settings plugin. Choosing it means adopting the settings system to get that palette.

Official sources

  1. kepano/obsidian-minimal on GitHub
  2. License: MIT
  3. Project website
  4. README
  5. Releases
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/kepano-obsidian-minimal.svg)](https://hysenlabs.com/projects/kepano-obsidian-minimal)