Dark mode that uses each site's own dark theme when it has one. Fast, non-breaking, private. Unlimited sites, free.
Users
6
+3 in 30 days
Rating
3.0 / 5
+3.00 in 30 days
Ratings
1
+1 in 30 days
Store rank
#231K
#193K among extensions
Version
1.0.0
updated 21 Aug 2026
Users
monthly, 2 months
Latest, 15 Oct 2026:6 usersMove the mouse over the chart for any month
Ratings count
monthly, 2 months
Latest, 15 Oct 2026:1 ratingsMove the mouse over the chart for any month
The Chrome Web Store rounds user counts down to the leading digit, so the user line moves in steps. The ratings count is exact and is the better signal of real adoption.
About Duskly — Dark Mode for Every Website
Most dark mode extensions were designed for a web that no longer exists.
They assume every site is light, and re-colour it. But a huge share of the sites
you actually use — code hosts, forums, documentation, encyclopedias, social apps —
already ship a real dark theme, designed by an actual human being. Every other
extension throws that away and substitutes an algorithm.
Duskly checks first.
━━━ HOW IT WORKS ━━━
NATIVE — If the site already has a dark theme, Duskly makes the site show its own.
Nothing is re-coloured. It is faster, it looks the way the designers intended, and
it cannot break the layout, because Duskly is barely doing anything.
ADAPTIVE — If the site has no dark theme, Duskly re-colours it carefully. Hues are
preserved, so brand colours stay recognisable. Images and video are never touched.
Anything already dark is left exactly as it is.
OFF — Turn Duskly off for a site and no Duskly code is injected on that page at
all. Not a script that decides to do nothing. Nothing.
Duskly decides between Native and Adaptive by measuring whether the page actually
went dark — not by guessing from a list. You can override it per site whenever you
disagree.
━━━ WHY IT STAYS FAST ━━━
Duskly reads colours from a page's stylesheets once, rather than continuously
inspecting every element on the page. The work it does is bounded by how many CSS
rules a page has, not by how big the page is or how long you have been browsing.
Every watcher it starts has a stopping condition.
The practical result: Duskly is exactly as fast on day 200 as it was on day 1.
━━━ WHAT IT WILL NOT DO ━━━
• It will not apply a filter to the page root, so sticky headers and floating
buttons keep working.
• It will not invert your images or hue-rotate brand colours into mud.
• It will not re-colour something that was already dark.
• It will not make a single network request. There is no analytics, no telemetry,
no account, and nothing to sign up for.
━━━ READABLE BY DESIGN ━━━
Any text colour Duskly renders is lifted, with its hue intact, until it meets WCAG
AA contrast against the surface behind it. All four palettes meet WCAG AAA for body
text and links. A dark mode tool that produces unreadable text has failed at its
own job.
━━━ COMFORT ━━━
Four palettes, all free:
• Midnight — soft black, the comfortable default
• Carbon — true black, so OLED pixels actually switch off
• Slate — cool grey, easiest for long reading sessions
• Sepia Night — warm dark, gentle late at night
Plus brightness, warmth (blue-light reduction) and contrast, applied as a
non-interactive overlay so they cannot break the page.
Schedule it to follow your system theme, run evenings only, or use your own hours.
━━━ KEYBOARD ━━━
Alt+Shift+D — turn Duskly on or off everywhere
Alt+Shift+S — turn Duskly on or off for this site
Both are re-bindable at chrome://extensions/shortcuts
━━━ FREE MEANS FREE ━━━
Unlimited sites. All four palettes. Every feature. No account, no ads, no tracking,
no site limit, no trial that expires.
A paid version may exist one day. If it does, it will only ever add new things.
Nothing you have today will ever be moved behind a paywall.
━━━ PERMISSIONS ━━━
Duskly asks for the minimum it can function with, and explains each one:
• Storage — to remember your settings and per-site rules, on this device only.
• Scripting — to inject Duskly ONLY on sites where you have it switched on. This
is what makes "off" actually mean off.
• Alarms — to check, every few minutes, whether your schedule says it should be on.
• Access to websites — because theming the site you are reading is the entire
product. Duskly reads colour values in order to change them. It never reads page
text, form input, passwords, cookies or history, and it has no way to send
anything anywhere.
Duskly is open source. The code in this package is byte-identical to the code in
the repository — there is no build step, no minification and no bundler, so you
can read exactly what runs.
Source code: https://github.com/ownCoder/duskly
Privacy policy: https://owncoder.github.io/duskly/privacy.html