Duskly — Dark Mode for Every Website
Overview
Dark mode that uses each site's own dark theme when it has one. Fast, non-breaking, private. Unlimited sites, free.
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
0 out of 5No ratings
Details
- Version1.0.0
- UpdatedAugust 21, 2026
- Offered byMaxON
- Size91.03KiB
- LanguagesEnglish
- Developer
Email
owncoder@gmail.com - Non-traderThis developer has not identified itself as a trader. For consumers in the European Union, please note that consumer rights do not apply to contracts between you and this developer.
Privacy
This developer declares that your data is
- Not being sold to third parties, outside of the approved use cases
- Not being used or transferred for purposes that are unrelated to the item's core functionality
- Not being used or transferred to determine creditworthiness or for lending purposes
Support
For help with questions, suggestions, or problems, visit the developer's support site