GitHub-Dark: A CSS Userstyle for a Darker GitHub Interface
:octocat: Dark GitHub style
At a glance
- What is it?
- GitHub-Dark is a CSS userstyle from StylishThemes that replaces GitHub's default appearance with a dark theme applied through the Stylus browser extension. It covers the main GitHub interface, 30 syntax highlighting themes, and a collection of companion userstyles for extensions and sub-sites.
- Who is it for?
- GitHub-Dark is the right choice for developers who spend hours per day on GitHub and find the native dark mode insufficient or visually inconsistent. The project requires Stylus; it does not work as a standalone browser theme.
- Can I use it commercially?
- Yes. BSD-2-Clause 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 4 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 29, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
What GitHub-Dark Is and Who It Is For
GitHub-Dark is a CSS userstyle that runs inside the Stylus browser extension and overrides GitHub's visual styling with a darker color scheme. It is aimed at developers who use GitHub heavily in a browser and want a consistent dark appearance across the interface, code viewers, and the GitHub extensions they use alongside it.
The project has been maintained by StylishThemes for years and tracks GitHub's UI changes. The current version is 6.5.38, built with a TypeScript toolchain that generates and lints the CSS output.
GitHub-Dark is distinct from GitHub's own built-in dark mode, which has been part of GitHub's settings for several years. The userstyle goes further: it provides alternative syntax highlighting themes, covers third-party extensions that GitHub's native dark mode does not style, and offers companion stylesheets for sub-sites like GitHub Blog that may not follow the main site's theme. For developers who find the native dark mode's styling incomplete or inconsistent with extensions, GitHub-Dark fills that gap.
Installing GitHub-Dark in Three Steps
Installation requires three steps. First, install the Stylus browser extension. Stylus is available for Firefox, Chrome, and Opera; Cascadea is the Safari equivalent. Second, install the userstyle by opening the raw URL for the main CSS file: `https://raw.githubusercontent.com/StylishThemes/GitHub-Dark/master/github-dark.user.css`. Stylus detects the `.user.css` extension and prompts for installation. Third, set GitHub itself to dark mode in GitHub's own appearance settings.
The README is clear that step three is required. GitHub-Dark is designed to layer on top of GitHub's native dark mode, not replace it entirely. Skipping the GitHub dark mode setting produces an inconsistent result.
The userstyle file used for installation is `github-dark.user.css` at the root of the repository. A companion file, `github-custom-fonts.user.css`, is available separately for font customization.
Syntax Highlighting Themes
The most distinctive feature of GitHub-Dark beyond the base dark interface is its syntax highlighting support. The README documents 30 themes across three rendering contexts: the main GitHub code view, CodeMirror (used in certain GitHub editors), and Jupyter notebooks.
Twilight is the default. Other well-known options include Dracula, Monokai, Solarized Dark, One Dark, and Tomorrow Night. Not every theme covers all three contexts: Dracula covers all three, while several themes support only the main GitHub view. The full coverage matrix is listed in the README.
Ayu Mirage, Chaos, and Terminal are available only for the main GitHub code view. Base16 Ocean Dark, by contrast, supports only CodeMirror and Jupyter. The README links to a live demo at stylishthemes.github.io/GitHub-Dark/ for previewing themes before switching.
Companion Userstyles and Supported Extensions
StylishThemes publishes a set of companion userstyles that extend coverage to parts of GitHub not included in the main stylesheet. These include GitHub Blog Dark, GitHub Code Wrap, GitHub Commit Limit, GitHub Compact Feed, and GitHub FixedHeader, among others. Each is a separate install.
The README also documents compatibility with ten GitHub browser extensions: Gitako, OctoLinker, Octotree, Refined GitHub, Sourcegraph, ZenHub, and several others. These extensions modify the GitHub interface and would otherwise appear unstyled against the dark background. GitHub-Dark includes CSS rules that cover their injected elements.
The `Feature-Override-Styles` repository, also from StylishThemes, provides additional per-feature overrides: calendar color customization, diff color customization, element borders, and image background color adjustment.
Build System and Development Workflow
The CSS in the repository is not hand-edited directly. The build system generates the final `github-dark.user.css` from source files in `src/`. The Makefile documents the available targets:
make buildThis runs `node tools/clean.js` first and then `node tools/build.js`. The toolchain uses pnpm with Node.js 24 or later, TypeScript (via `@typescript/native-preview`), ESLint, stylelint, esbuild, and the `remap-css` and `fetch-css` packages.
Linting runs:
make lintThis runs `eslint-silverwind` on the `src/gen` and `tools` directories, `stylelint` on all CSS sources, and `tsgo` for TypeScript checking. Versioning follows the `versions` npm package, with `make patch`, `make minor`, or `make major` bumping the version in `*.user.css` and `package.json` together.
The project tracks its contributors in an AUTHORS file and provides a `make authors` target to regenerate it from git history. The `updates.config.ts` and `updates-config-silverwind` dependency suggest the project uses an automated dependency update workflow, keeping the build toolchain current.
Limitations and Cases Where It Falls Short
GitHub-Dark requires a browser that runs Stylus (or Cascadea on Safari). It does not work in the GitHub mobile app, GitHub Desktop, or any non-browser context. If GitHub ships a UI redesign that changes CSS class names or structure, the userstyle can break until StylishThemes updates it.
The `.stylelintrc.yaml` and ESLint configuration suggest the project enforces code quality standards, but the CSS generation is automated and the source is split across many files in `src/`. Contributors building from source must install Node.js 24+ and pnpm; the `engines` field in `package.json` enforces this.
Users who only need syntax highlighting in their code editor, such as the GitHub Dark theme for VS Code, need a different tool entirely. GitHub-Dark is a browser userstyle for the github.com web interface, not a theme for any editor.
The README does not document rollback procedures if an update breaks something. Since Stylus stores userstyle versions locally in the browser, reverting to a previous version requires reinstalling an older `.user.css` file manually. The update process itself is handled through Stylus's built-in auto-update feature for userstyles that point to a hosted URL, which the `github-dark.user.css` raw URL supports.
Editorial conclusion
GitHub-Dark is the right choice for developers who spend hours per day on GitHub and find the native dark mode insufficient or visually inconsistent. The project requires Stylus; it does not work as a standalone browser theme. Anyone who needs it to cover GitHub Jupyter notebooks or CodeMirror should check the syntax highlighting table, since coverage varies by theme. The BSD-2-Clause license permits free and commercial use with attribution. The last push was on 2026-09-25, indicating the project receives current maintenance.
Frequently asked questions
Does GitHub-Dark work with GitHub's native dark mode?
Yes, and the README states it is required. Step three of the installation process is to set GitHub itself to dark mode in GitHub's appearance settings. GitHub-Dark layers on top of this setting rather than replacing it.
How many syntax highlighting themes does GitHub-Dark include?
The README documents 30 syntax highlighting themes. Twilight is the default. Coverage varies: some themes support only the main GitHub code view, while others also cover CodeMirror or Jupyter notebooks. The full matrix is listed in the README.
Does GitHub-Dark support browser extensions like Octotree or Refined GitHub?
Yes. The README lists ten supported extensions, including Octotree, Refined GitHub, OctoLinker, Gitako, Sourcegraph, and ZenHub. GitHub-Dark includes CSS rules to style the elements those extensions inject into the GitHub interface.
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/stylishthemes-github-dark)
Community notes