Dark mode
Dark mode enabled in Minerva skin
DescriptionDark mode for Wikimedia wikis
Author(s)CSS: Volker E. (WMF), MusikAnimal, AHollender (WMF)
JS: SD0001, Nardog
StatusStable
UpdatedJanuary 8, 2024
    (3 months ago)
Browser supportModern browsers with CSS filter support
Skin supportAll
SourceMediaWiki:Gadget-dark-mode.css
MediaWiki:Gadget-dark-mode-toggle.js

WikimediaUI Dark mode is a gadget for enabling dark mode in modern browsers, based on experimental work of Wikimedia Design team members Volker E. and Alex Hollender in support by volunteer MusikAnimal and others.

Preview dark mode on the Main Page.

To enable, go to your gadget preferences, and enable the gadget "Dark mode toggle: Enable a toggle for using a light text on dark background color scheme".

You should now see a "Dark mode" switch at the top of pages. If you wish to enable/disable dark mode automatically based on your system colour scheme, add the following to your common.js page:

window.wpDarkModeAutoToggle = true;

Any modern browser works with the only exception being Opera Mini, which lacks filter support.

Setting up the gadget on your wiki[edit]

The CSS was written with Wikipedia sites in mind (see phab:T221425) so experience on other wikis may not be optimal.

To set up the gadget on your wiki, ask an interface-admin to do the following:

Limitations[edit]

The gadget has several limitations due to the way it achieves the dark mode. Known issues are:

Most problems are due to how the gadget was implemented. It first inverts and colorshifts the entire page, and then tries to 'undo' the areas you do not want inverted, such as images. The benefit to this approach is that it takes care of dark mode everywhere, without having hundreds and hundreds of lines of codes for all the nooks and crannies of Wikipedia/MediaWiki that have their own styling. The downside are the problems listed.

For an example of what to expect on invert "dark mode" and double-invert "undo", see the question pictures in this StackOverflow question. The question uses the same invert and hue-rotate filter used by this extension.