Сustom color schemes for all websites
Midnight Lizard web-extension for Google Chrome™ and Mozilla Firefox™ provides custom color schemes for all websites. Each color scheme works on all websites and will never become outdated. There are many predefined color schemes and you can install more from midnight-lizard.org
✔ Choose between dark, light, grayscale or colorful color schemes
✔ Modify existing or create new color schemes
✔ Use different color schemes on each website
✔ Adjust brightness, saturation, contrast and hues
✔ Improve accessibility and readability
✔ Increase contrast to make text easier to read
✔ Apply blue light filter to shift all colors towards red light
✔ Keep original images and hues without inversion
✔ Schedule automatic activation and deactivation
✔ Or follow system color scheme schedule
✔ Use with PDF and local files (enable in browser settings)
PDF processing is available only in Chromium-based browsers
✔ Dynamically change Firefox theme (disabled by default)
✔ Shade bright colors and images
✔ Change any colour you want
✔ Synchronize your settings
✔ Configure background, text, buttons, links, borders, images and scrollbars
✔ Apply globally, per-website or with url match patterns
✔ Switch between websites blacklist and whitelist modes
✔ Use Simplified mode to improve performance on heavy websites
✔ Use keyboard shortcuts to toggle extension
⮚ on current website: Alt+Shift+L
⮚ globally: Alt+Shift+M
This extension has been updated to Manifest V3 to comply with Google Chrome's latest requirements. All functionality remains the same while meeting modern extension standards.
⚠️ Important: The extension requires building before installation. See Build Instructions below.
This is a TypeScript project that needs to be compiled to JavaScript before it can be installed in Chrome or Firefox. Follow the instructions below for your operating system.
You need Node.js and npm installed on your system.
Windows:
.msi file)node --version
npm --versionLinux (Ubuntu/Debian):
# Using NodeSource repository for latest LTS version
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejs
# Verify installation
node --version
npm --versionLinux (Fedora/RHEL/CentOS):
# Using NodeSource repository
curl -fsSL https://rpm.nodesource.com/setup_lts.x | sudo bash -
sudo dnf install -y nodejs
# Verify installation
node --version
npm --versionmacOS:
# Using Homebrew
brew install node
# Verify installation
node --version
npm --versionOpen PowerShell or Command Prompt
Win + X and select "Windows PowerShell" or "Terminal"Navigate to the project directory
cd C:\path\to\Midnight-Lizard-manifest-3Replace C:\path\to\ with your actual path
Install dependencies
npm installThis will download all required packages (~213 packages). Takes 1-2 minutes.
Build the extension
For PowerShell:
$env:NODE_OPTIONS="--openssl-legacy-provider"; npm run prod-buildFor Command Prompt (cmd):
set NODE_OPTIONS=--openssl-legacy-provider && npm run prod-buildVerify the build
dir jsYou should see these files:
background-page.js (247 KB)content-script.js (418 KB)popup.js (483 KB)page-script.js (4.7 KB)custom\ folder with additional scripts✅ Build complete! The js/ folder now contains all compiled JavaScript files.
Open Terminal
Ctrl + Alt + T or open your preferred terminalNavigate to the project directory
cd /path/to/Midnight-Lizard-manifest-3Replace /path/to/ with your actual path
Install dependencies
npm installThis will download all required packages (~213 packages). Takes 1-2 minutes.
Build the extension
NODE_OPTIONS=--openssl-legacy-provider npm run prod-buildVerify the build
ls -lh js/You should see these files:
background-page.js (247 KB)content-script.js (418 KB)popup.js (483 KB)page-script.js (4.7 KB)custom/ folder with additional scripts✅ Build complete! The js/ folder now contains all compiled JavaScript files.
Open Chrome Extensions page
chrome://extensions/Enable Developer Mode
Load the extension
Midnight-Lizard-manifest-3 folder (the root folder, not the js/ folder)Pin the extension (optional)
✅ Installation complete! The extension is now active.
Open Firefox Add-ons page
about:debugging#/runtime/this-firefoxLoad temporary add-on
Midnight-Lizard-manifest-3 foldermanifest.json fileMake it permanent (optional)
npm run prod-pack:firefox✅ Installation complete! The extension is now active.
npm run watchThis will automatically rebuild the extension whenever you modify TypeScript files.
npm run dev-buildIncludes source maps for easier debugging.
npm run prod-buildOptimized build without source maps.
# For Chrome
npm run prod-pack:chrome
# For Firefox
npm run prod-pack:firefox
# For both
npm run prod-packCreates .zip (Chrome) or .xpi (Firefox) files in the releases/ folder.
Problem: npm: command not found or 'npm' is not recognized
Solution: Install Node.js (see Prerequisites)
Problem: Error: digital envelope routines::unsupported
Solution: Use the legacy OpenSSL provider: NODE_OPTIONS=--openssl-legacy-provider npm run prod-build
Problem: Build warnings about file sizes Solution: These are normal performance warnings and don't affect functionality. You can safely ignore them.
Problem: js/ folder is empty after build
Solution: Make sure the build completed without errors. Check the terminal output for error messages.
Problem: Extension doesn't load in Chrome
Solution: Ensure you've built the project first and the js/ folder exists with all JavaScript files.
Help translate Midnight Lizard into other languages
Found a bug or have a new feature proposal?
Donate to help us cover infrastructure expenses
No open issues yet, or sync has not completed.