Toggleable fullscreen inversion overlay using symbols (🌓 / 🌑) with per-site state memory
Many websites and embedded document viewers do not support dark mode.
Even popular dark-mode browser extensions often fail on:
This userscript solves the problem by adding a fullscreen white overlay that uses:
mix-blend-mode: difference;
This visually inverts the entire webpage without modifying the page’s structure, styling, or functionality.
A compact floating control lets you turn inversion ON or OFF:
The script remembers your last setting for each domain:
Press Alt + I to instantly toggle inversion on any page.
Unlike CSS-based dark mode extensions, this script works even on:
If you frequently open PDFs or websites that refuse to switch to dark mode, this script is extremely useful.
The script places a non-interactive overlay above the page:
mix-blend-mode: differencepointer-events: none to avoid blocking clicksz-indexWhen enabled, everything behind the overlay appears color-inverted, simulating a full dark mode.
*://*/*.I created this because many websites I use daily do not go fully dark, even with extensions installed.
Most importantly:
This script fixed all of that for me.
If you find this tool helpful, feel free to leave feedback or request additional features!