Bearded Theme: 60+ colour variants for VS Code and Zed
The themes with a long beard.
At a glance
- What is it?
- Bearded Theme is a TypeScript colour theme published for both VS Code and Zed, with more than sixty variants spanning dark, light, high-contrast and accessibility-focused options. The repository generates the two editor formats from one source, but its version numbering and release cadence have drifted apart, and the theme is GPL-3.0 licensed.
- Who is it for?
- Adopt Bearded Theme if you want the same palette in VS Code and Zed, you work across light and dark environments, and you care about high-contrast and accessibility variants, since those are the cases the theme is built for and the reason the generator produces two output formats from one source.
- Can I use it commercially?
- Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository last received commits 48 days ago.
- What is it written in?
- Mainly TypeScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.
Editorial analysis
One theme, two editors, one generator tree
Most editor themes are built for one editor and stop there. Bearded Theme is published for both VS Code and Zed, and the repository explains why with a pair of generator entry points in package.json, one per target:
"build": "vite-node src/build.ts all",
"build:vscode": "vite-node src/generators/vscode/index.ts",
"build:zed": "vite-node src/generators/zed/index.ts",That structure is the interesting part of the project. Rather than maintaining two hand-written palettes, the source under src/generators holds a VS Code generator and a Zed generator, and a top-level build script drives both. The repository root mirrors that split with dist/, releases/, assets/ and versions.json, and it carries separate publish scripts for each destination, one using vsce for the VS Code Marketplace and one using ovsx for the Zed extension registry, plus a combined publish:all that runs the VS Code build and both publish paths.
For a reader deciding whether to trust the project, this is the detail that says it is engineered rather than hand-maintained. The same source of truth produces both formats, and the two output formats are validated by the same test run in CI.
The declared engine requirement is modest: the package metadata names VS Code 1.69.0 or newer, and the project is an ES module with the display name Bearded Theme and the publisher BeardedBear.
The variant list is the product, and it is large
The stated scope is more than sixty carefully crafted variants, covering dark, light, high-contrast and accessibility-focused options. The project links a themes image asset in the repository for a visual overview, and the theme name in the marketplace listing is what you search for.
That count is the part worth interrogating. A theme family that spans four accessibility postures is not one palette with a dark mode, it is a matrix: light and dark each need to hold up in a normal, a high-contrast and an accessibility-oriented variant, and every additional axis multiplies the review work. A user with low vision wants more than a different background colour, they want a palette that survives a specific contrast target, and that is where a hand-crafted variant earns its place.
What the documentation does not provide is the variant list itself in text form, a contrast ratio table, or a statement of which accessibility standard the accessibility-focused variants target. The README points to the marketplace page and the image asset, and it invites issues through the GitHub issue tracker if something is missing, with the stated goal of making the theme as compatible as possible. If you depend on a specific contrast requirement, the check is on the specific variant, not on the family.
Installing into VS Code is a marketplace click and a palette pick
The VS Code path is entirely inside the editor, which is worth stating because there is no package to fetch from a registry URL by hand. You open the Extensions sidebar in VS Code, search for Bearded Theme, click Install, then open the Command Palette with Ctrl+Shift+P or the macOS equivalent, choose Preferences: Color Theme and pick the variant you want from the list.
The Command Palette step is the part newcomers miss. Installing the extension does not apply a theme, it makes the variants available in the colour theme picker, so the theme stays in effect only because the picker selection is stored in your settings. The Keyboard Shortcuts and settings are per user, so a settings sync carries the choice between machines while the extension itself is installed on each one.
The whole flow takes under a minute and requires no Node.js, no build and no terminal, which is the correct expectation for a theme. The build tooling in this repository is for the maintainer, not for the user.
Zed uses a theme selector toggle, not a colour theme picker
The Zed instructions read similarly but diverge at the last step, and the difference is easy to misread as a typo. You open Zed's Extensions panel with Cmd+Shift+X or Ctrl+Shift+X, search for Bearded Theme, click Install, then open the Command Palette with Cmd+Shift+P or Ctrl+Shift+P and run the theme selector toggle command to choose a variant.
The wording of that last step is what to notice. The repository does not document a Preferences: Color Theme entry for Zed, it documents a theme selector toggle, which is Zed's own command name. The two editors do not share a configuration surface, and the fact that this theme supports both does not mean the selection happens in the same place. If you follow the VS Code steps literally in Zed you will be looking for a command that does not exist there.
There is also a development path for Zed that the packaging scripts document for contributors rather than users. The zed:dev script prints the instructions for installing a dev extension, pointing at the dist/zed folder in the repository, and the publish:zed script explains that a Zed extension publication means pushing changes to GitHub and opening a pull request against the zed-industries/extensions repository rather than running a token-based publish.
Version numbering has outrun the tagged releases
Here is the maintenance signal that deserves attention. The most recent GitHub releases are v10.1.0 on 2025-04-21, v10.0.0 on 2025-04-15 and v9.3.0 on 2024-08-02. The package metadata in the repository, however, declares version 11.0.0. The version in the source tree is a full major step ahead of anything published as a release.
That gap is not necessarily a problem. The build and release scripts are designed for it. There is a script that bumps the version and another that generates release notes, and the release script creates a GitHub release tagged with the npm package version, pulling notes from a file in the releases directory and adding generated notes. A version bump in package.json can therefore sit ahead of a tagged release for a while, in the same way an unreleased branch version does in most projects. The repository also holds a CHANGELOG.md, a VERSIONING.md, a CLAUDE.md and an AGENTS.md, which suggests the versioning rules are written down somewhere in the tree.
What it does mean for you as a user is that the number in the source is not the number you have. The last push to the repository was on 2026-09-05 and the project is not archived, so work continues, but the published release you install from either editor store is v10.1.0 or whatever ships later. Judge the theme by the store listing, not by the source tree.
The GPL-3.0 licence applies to the theme files you distribute
The theme is released under the GPL-3.0 license, and the LICENSE file sits at the repository root. The README states it plainly and credits the design to BeardedBear.
For a theme, GPL-3.0 is unusual in the same way it is unusual for a colour palette: most editors and marketplaces accept MIT or Apache terms for extensions, and a copyleft licence on a palette of hex codes is a stronger condition than most people expect. What it means in practice is that distributing the theme files, or a derivative palette built from them, can carry the obligations that the licence attaches to the work. Installing the theme into your own editor is not the interesting case; shipping it inside a product, a course, a company internal distribution or a bundled installer is where the terms apply.
This is not legal advice and the practical step is simply to read the LICENSE file before you redistribute anything, and to be aware that a custom build of the theme for internal distribution is the case that most often raises a question. The same advice applies to the separate Bearded Icons icon pack linked from the README, which is a different artefact with its own terms.
Where this theme fits against the built-in palettes
The alternative to a third-party theme is the palette that ships with the editor, and for VS Code and Zed that baseline is good enough for a lot of people. Choosing a theme like this one over the built-in dark or light option is a decision about specific properties rather than about colour preference in general.
The properties this project claims are the range of variants and the accessibility-focused ones. If you need one carefully tuned dark palette and nothing else, a single well-regarded theme serves the purpose, and adding sixty variants to a picker you will use one entry from is not a gain. If you work in bright rooms and dark rooms, or you read long sessions on a projector, or you need a palette that meets a specific contrast requirement, then the matrix of variants is the argument, and the count stops being a vanity metric.
The project itself sets the expectation that it is opinionated and incomplete in places. The README invites issues for anything missing, with the aim of making the theme as compatible as possible, which tells you both that the author intends to keep filling gaps and that gaps are known to exist today. Screen reader and terminal rendering are two areas where a colour theme can look fine in a screenshot and behave poorly in practice, and the screenshots in the README are rendered with JetBrains Mono to show the result under a specific font.
Editorial conclusion
Adopt Bearded Theme if you want the same palette in VS Code and Zed, you work across light and dark environments, and you care about high-contrast and accessibility variants, since those are the cases the theme is built for and the reason the generator produces two output formats from one source. Do not adopt it if your requirement is a per-project pinned theme release, because the package version in package.json is ahead of the newest tagged release and the two editor stores publish on separate schedules. Before you install, check the Zed entry for the theme selector toggle rather than a VS Code style colour theme picker, confirm the variant list on the marketplace page, and read the GPL-3.0 file in the repository root, since the licence travels with the theme files you distribute yourself.
Frequently asked questions
How do I install Bearded Theme in VS Code?
Open the Extensions sidebar in VS Code, search for Bearded Theme, click Install, then open the Command Palette with Ctrl+Shift+P or the macOS equivalent, select Preferences: Color Theme and choose your preferred variant. Installing the extension makes the variants available in the picker.
How do I install Bearded Theme in Zed?
Open Zed's Extensions panel with Cmd+Shift+X or Ctrl+Shift+X, search for Bearded Theme and click Install. Then open the Command Palette with Cmd+Shift+P or Ctrl+Shift+P and use the theme selector toggle command to choose a variant.
What is the difference between Bearded Theme for VS Code and for Zed?
Both are built from the same source tree, with separate generator entry points in package.json, one for VS Code and one for Zed, and separate packaging scripts using vsce and ovsx. The selection step differs too, since Zed uses a theme selector toggle rather than a colour theme picker.
Which version of Bearded Theme is the latest release?
The most recent GitHub releases are v10.1.0 from 2025-04-21, v10.0.0 from 2025-04-15 and v9.3.0 from 2024-08-02. The package metadata in the repository declares version 11.0.0, so the source tree runs ahead of the published release.
Can I redistribute Bearded Theme or modify it for my own team?
The theme is released under the GPL-3.0 license, and the LICENSE file at the repository root holds the terms. If you plan to redistribute the theme files or ship a derived palette, read that file first, since GPL-3.0 attaches obligations to distributed copies.
Official sources
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.
[](https://hysenlabs.com/projects/beardedbear-bearded-theme)Was this useful?