Glass Mode

A browser extension that turns websites into frosted glass over your desktop. Text stays readable. Works in Zen Browser.

Hand-tuned for 28 sites, with text contrast tested on every screen.

Glass Mode
  • Hand-tuned styles for 28 sites: Gmail, Google Calendar, Spotify, WhatsApp, GitHub and DuckDuckGo.
  • Other sites: automatic glass (beta).
  • One slider: opacity. Alt+Shift+Up and Down change it from any page.
  • Light and dark glass. Auto follows your system theme.
  • Linux: run any site as its own app window.

Requirements: Zen Browser on Linux (Hyprland, KDE or GNOME) or Windows 11. macOS is untested.

Why

Transparent desktops stop at the browser. Every website paints a solid box over your wallpaper, and making pages simply see-through leaves text unreadable over a busy background.

Glass Mode gives each site frosted panels and menus. Text contrast is measured on every screen and menu, against the brightest and darkest wallpaper.

It needs Zen because Zen has built-in window transparency, so your desktop can show through a web page. Chrome-based browsers can't do this. Firefox is untested.

FAQ

Permissions. It needs access to every site to style it. It collects nothing and sends nothing. The settings page only asks GitHub whether a newer version exists.

Performance. Site styles are plain CSS. The blur comes from your compositor, not the browser. Automatic glass reads the page once, then only what changes.

Which sites? 28 styled and tested, listed below. Every other site can use automatic glass.

Something unreadable? Open the panel and choose Report a problem. It opens a pre-filled issue.

Gallery

Google Calendar
Google Calendar
Gmail
Gmail
Readwise Reader
Readwise Reader
Spotify
Spotify
DuckDuckGo
DuckDuckGo
Hacker News
Hacker News
GitHub
GitHub
Google Drive
Google Drive
YouTube Music
YouTube Music
Linear
Linear
Spotify
Spotify

Install

  1. Download glass-mode.xpi and open it in Zen. It is signed by Mozilla.
  2. In about:config, set browser.tabs.allow_transparent_browser to true, then the setting for your system:
  • Linux: zen.widget.linux.transparency = true. Your compositor does the blur: Hyprland out of the box, KDE with kwin-effects-forceblur, GNOME with Blur my Shell.
  • Windows 11: widget.windows.mica = true.

Turn off Dark Reader for glass sites. It repaints them solid.

Control

Press Alt+Shift+G in any page to open the glass panel. It also works in web-app windows, which have no toolbar.

Alt+Shift+Up and Alt+Shift+Down make glass more or less opaque.

Low opacity shows more desktop; high is nearly solid. Reading panes stay more opaque than sidebars, so text stays readable at every step.

Auto follows your system theme. Dark glass suits dark wallpapers, light glass bright ones.

Web apps

webapp/zen-webapp opens a site in its own Zen window, with a launcher entry and taskbar icon. It uses your normal Zen profile, so you stay logged in.

./webapp/zen-webapp add "WhatsApp" https://web.whatsapp.com/ --icon auto

webapp/README.md

Sites

Every styled site and what the lab checked at the default opacity (45 %). Click a picture to flip through them; click a name for its screens and menus.

no screenshot yet
Anna's Archivepasses
ChatGPT
ChatGPTpasses
no screenshot yet
Claude4 of 4 checks fail
no screenshot yet
Discordpasses
DuckDuckGo
DuckDuckGopasses
Gemini
Geminipasses
GitHub
GitHubpasses
no screenshot yet
Glass Modepasses
Gmail
Gmailpasses
no screenshot yet
Googlepasses
Google Calendar
Google Calendarpasses
Google Drive
Google Drivepasses
no screenshot yet
Google Translatepasses
Hacker News
Hacker Newspasses
Linear
Linearpasses
Notion
Notion4 of 12 checks fail
Perplexity
Perplexity1 of 4 checks fail
no screenshot yet
Power Thesauruspasses
Readwise Reader
Readwise Readerpasses
Reddit
Reddit2 of 16 checks fail
Spotify
Spotifypasses
Substack
Substackpasses
no screenshot yet
WhatsApppasses
Wikipedia
Wikipediapasses
no screenshot yet
Works in Progresspasses
X
Xpasses
no screenshot yet
YouTubepasses
YouTube Music
YouTube Musicpasses
no screenshot yet
astralcodexten.comnot tested yet
arstechnica.com
arstechnica.comauto glass, passes
bbc.co.uk
bbc.co.ukauto glass, passes
developer.mozilla.org
developer.mozilla.orgauto glass, 16 of 18 checks fail
docs.python.org
docs.python.orgauto glass, passes
lobste.rs
lobste.rsauto glass, passes
no screenshot yet
onthemarket.comnot tested yet
stackoverflow.com
stackoverflow.comauto glass, passes

Request a site

All sitespasses

ChatGPT

chatgpt.com. Passing at default opacity: dark 4/4, light 4/4.

Tested screens and hidden UI

home home (dark)
home dark
pass contrast 100% · surface 99%
home home (light)
home light
pass contrast 100% · surface 99%

Report a problem on ChatGPT

All sitespasses

DuckDuckGo

duckduckgo.com. Passing at default opacity: dark 22/22, light 22/22.

DuckDuckGo

Tested screens and hidden UI

assist assist (dark)
assist dark
pass contrast 100% · surface 100%
assist assist (light)
assist light
pass contrast 100% · surface 100%
assist More (dark)
More dark
not measured
assist More (light)
More light
not measured
assist Negative feedback (dark)
Negative feedback dark
pass contrast 100% · surface 100%
assist Negative feedback (light)
Negative feedback light
pass contrast 100% · surface 100%
assist Positive feedback (dark)
Positive feedback dark
pass contrast 100% · surface 98%
assist Positive feedback (light)
Positive feedback light
pass contrast 100% · surface 98%
assist Private (dark)
Private dark
not measured
assist Private (light)
Private light
not measured
assist Search privately (dark)
Search privately dark
pass contrast 100% · surface 100%
assist Search privately (light)
Search privately light
pass contrast 100% · surface 100%
assist United Kingdom (dark)
United Kingdom dark
not measured
assist United Kingdom (light)
United Kingdom light
not measured
home home (dark)
home dark
pass contrast 100% · surface 99%
home home (light)
home light
pass contrast 100% · surface 99%
home Search with DuckDuckGo (dark)
Search with DuckDuckGo dark
pass contrast 100% · surface 98%
home Search with DuckDuckGo (light)
Search with DuckDuckGo light
pass contrast 100% · surface 98%
search search (dark)
search dark
pass contrast 100% · surface 100%
search search (light)
search light
pass contrast 100% · surface 100%
search Menu (dark)
Menu dark
pass contrast 100% · surface 100%
search Menu (light)
Menu light
pass contrast 100% · surface 100%
search More (dark)
More dark
not measured
search More (light)
More light
not measured
search Negative feedback (dark)
Negative feedback dark
pass contrast 100% · surface 100%
search Negative feedback (light)
Negative feedback light
pass contrast 100% · surface 100%
search Private (dark)
Private dark
not measured
search Private (light)
Private light
not measured
search Search privately (dark)
Search privately dark
pass contrast 100% · surface 100%
search Search privately (light)
Search privately light
pass contrast 100% · surface 100%
search United Kingdom (dark)
United Kingdom dark
not measured
search United Kingdom (light)
United Kingdom light
not measured
chat chat (dark)
chat dark
pass contrast 100% · surface 100%
chat chat (light)
chat light
pass contrast 100% · surface 100%
chat 6 Luna (dark)
6 Luna dark
pass contrast 100% · surface 100%
chat 6 Luna (light)
6 Luna light
pass contrast 100% · surface 100%
chat Reasoning mode (dark)
Reasoning mode dark
pass contrast 100% · surface 100%
chat Reasoning mode (light)
Reasoning mode light
pass contrast 100% · surface 100%
chat Settings & More (dark)
Settings & More dark
pass contrast 100% · surface 100%
chat Settings & More (light)
Settings & More light
pass contrast 100% · surface 100%
chat Tools (dark)
Tools dark
pass contrast 100% · surface 100%
chat Tools (light)
Tools light
pass contrast 100% · surface 100%

Report a problem on DuckDuckGo

All sitespasses

Gemini

gemini.google.com. Passing at default opacity: dark 4/4, light 4/4.

Tested screens and hidden UI

home home (dark)
home dark
pass contrast 100% · surface 100%
home home (light)
home light
pass contrast 100% · surface 100%
home hidden UI 1 (dark)
hidden UI 1 dark
pass contrast 100% · surface 100%
home hidden UI 1 (light)
hidden UI 1 light
pass contrast 100% · surface 100%
home hidden UI 2 (dark)
hidden UI 2 dark
pass contrast 100% · surface 100%
home hidden UI 2 (light)
hidden UI 2 light
pass contrast 100% · surface 100%

Report a problem on Gemini

All sitespasses

GitHub

github.com. Passing at default opacity: dark 42/42, light 42/42.

GitHub

Tested screens and hidden UI

file file (dark)
file dark
pass contrast 100% · surface 100%
file file (light)
file light
pass contrast 100% · surface 100%
file Enterprise (dark)
Enterprise dark
pass contrast 100% · surface 100%
file Enterprise (light)
Enterprise light
pass contrast 100% · surface 100%
file Go to file (dark)
Go to file dark
pass contrast 100% · surface 100%
file Go to file (light)
Go to file light
pass contrast 100% · surface 100%
file master branch (dark)
master branch dark
pass contrast 100% · surface 100%
file master branch (light)
master branch light
pass contrast 100% · surface 100%
file Open Source (dark)
Open Source dark
pass contrast 100% · surface 100%
file Open Source (light)
Open Source light
pass contrast 100% · surface 100%
file Platform (dark)
Platform dark
pass contrast 100% · surface 100%
file Platform (light)
Platform light
pass contrast 100% · surface 100%
file Resources (dark)
Resources dark
pass contrast 100% · surface 100%
file Resources (light)
Resources light
pass contrast 100% · surface 100%
file Search or jump to, type / to search (dark)
Search or jump to, type / to search dark
pass contrast 100% · surface 100%
file Search or jump to, type / to search (light)
Search or jump to, type / to search light
pass contrast 100% · surface 100%
file Solutions (dark)
Solutions dark
pass contrast 100% · surface 100%
file Solutions (light)
Solutions light
pass contrast 100% · surface 100%
issue issue (dark)
issue dark
pass contrast 100% · surface 100%
issue issue (light)
issue light
pass contrast 100% · surface 100%
issues issues (dark)
issues dark
pass contrast 100% · surface 99%
issues issues (light)
issues light
pass contrast 92% · surface 99%
issues Enterprise (dark)
Enterprise dark
pass contrast 100% · surface 100%
issues Enterprise (light)
Enterprise light
pass contrast 100% · surface 100%
issues Filter by author (dark)
Filter by author dark
pass contrast 100% · surface 100%
issues Filter by author (light)
Filter by author light
pass contrast 100% · surface 100%
issues Filter by labels (dark)
Filter by labels dark
pass contrast 100% · surface 100%
issues Filter by labels (light)
Filter by labels light
pass contrast 100% · surface 100%
issues Filter by milestones (dark)
Filter by milestones dark
pass contrast 100% · surface 100%
issues Filter by milestones (light)
Filter by milestones light
pass contrast 100% · surface 100%
issues Filter by projects (dark)
Filter by projects dark
pass contrast 100% · surface 100%
issues Filter by projects (light)
Filter by projects light
pass contrast 100% · surface 100%
issues Open Source (dark)
Open Source dark
pass contrast 100% · surface 100%
issues Open Source (light)
Open Source light
pass contrast 100% · surface 100%
issues Platform (dark)
Platform dark
pass contrast 100% · surface 100%
issues Platform (light)
Platform light
pass contrast 100% · surface 100%
issues Resources (dark)
Resources dark
pass contrast 100% · surface 100%
issues Resources (light)
Resources light
pass contrast 100% · surface 100%
issues Search issues (dark)
Search issues dark
pass contrast 100% · surface 100%
issues Search issues (light)
Search issues light
pass contrast 100% · surface 100%
issues Search or jump to, type / to search (dark)
Search or jump to, type / to search dark
pass contrast 100% · surface 100%
issues Search or jump to, type / to search (light)
Search or jump to, type / to search light
pass contrast 100% · surface 100%
issues Solutions (dark)
Solutions dark
pass contrast 100% · surface 100%
issues Solutions (light)
Solutions light
pass contrast 100% · surface 100%
issue Actions for DremorSans's comment, 6:20 PM on June 16 (dark)
Actions for DremorSans's comment, 6:20 PM on June 16 dark
pass contrast 100% · surface 100%
issue Actions for DremorSans's comment, 6:20 PM on June 16 (light)
Actions for DremorSans's comment, 6:20 PM on June 16 light
pass contrast 100% · surface 100%
issue Actions for DremorSans's comment, 10:34 AM on June 15 (dark)
Actions for DremorSans's comment, 10:34 AM on June 15 dark
pass contrast 100% · surface 100%
issue Actions for DremorSans's comment, 10:34 AM on June 15 (light)
Actions for DremorSans's comment, 10:34 AM on June 15 light
pass contrast 100% · surface 100%
issue Actions for frostybiscuit's comment, 7:13 AM on June 15 (dark)
Actions for frostybiscuit's comment, 7:13 AM on June 15 dark
pass contrast 100% · surface 100%
issue Actions for frostybiscuit's comment, 7:13 AM on June 15 (light)
Actions for frostybiscuit's comment, 7:13 AM on June 15 light
pass contrast 100% · surface 100%
issue Enterprise (dark)
Enterprise dark
pass contrast 100% · surface 100%
issue Enterprise (light)
Enterprise light
pass contrast 100% · surface 100%
issue Open Source (dark)
Open Source dark
pass contrast 100% · surface 100%
issue Open Source (light)
Open Source light
pass contrast 100% · surface 100%
issue Platform (dark)
Platform dark
pass contrast 100% · surface 100%
issue Platform (light)
Platform light
pass contrast 100% · surface 100%
issue Resources (dark)
Resources dark
pass contrast 100% · surface 100%
issue Resources (light)
Resources light
pass contrast 100% · surface 100%
issue Search or jump to, type / to search (dark)
Search or jump to, type / to search dark
pass contrast 100% · surface 100%
issue Search or jump to, type / to search (light)
Search or jump to, type / to search light
pass contrast 100% · surface 100%
issue Solutions (dark)
Solutions dark
pass contrast 100% · surface 100%
issue Solutions (light)
Solutions light
pass contrast 100% · surface 100%
repo repo (dark)
repo dark
pass contrast 100% · surface 100%
repo repo (light)
repo light
pass contrast 100% · surface 100%
repo Code (dark)
Code dark
pass contrast 100% · surface 100%
repo Code (light)
Code light
pass contrast 100% · surface 100%
repo Enterprise (dark)
Enterprise dark
pass contrast 100% · surface 100%
repo Enterprise (light)
Enterprise light
pass contrast 100% · surface 100%
repo Go to file (dark)
Go to file dark
pass contrast 100% · surface 100%
repo Go to file (light)
Go to file light
pass contrast 100% · surface 100%
repo master branch (dark)
master branch dark
pass contrast 100% · surface 100%
repo master branch (light)
master branch light
pass contrast 100% · surface 100%
repo Open Source (dark)
Open Source dark
pass contrast 100% · surface 100%
repo Open Source (light)
Open Source light
pass contrast 100% · surface 100%
repo Platform (dark)
Platform dark
pass contrast 100% · surface 100%
repo Platform (light)
Platform light
pass contrast 100% · surface 100%
repo Resources (dark)
Resources dark
pass contrast 100% · surface 100%
repo Resources (light)
Resources light
pass contrast 100% · surface 100%
repo Search or jump to, type / to search (dark)
Search or jump to, type / to search dark
pass contrast 100% · surface 100%
repo Search or jump to, type / to search (light)
Search or jump to, type / to search light
pass contrast 100% · surface 100%
repo Solutions (dark)
Solutions dark
pass contrast 100% · surface 100%
repo Solutions (light)
Solutions light
pass contrast 100% · surface 100%
repo Sponsor frostybiscuit/transparent-zen (dark)
Sponsor frostybiscuit/transparent-zen dark
pass contrast 100% · surface 100%
repo Sponsor frostybiscuit/transparent-zen (light)
Sponsor frostybiscuit/transparent-zen light
pass contrast 100% · surface 100%

Report a problem on GitHub

All sitespasses

Gmail

mail.google.com. Passing at default opacity: dark 15/15, light 15/15.

Gmail

Tested screens and hidden UI

inbox inbox (dark)
inbox dark
pass contrast 98% · surface 97%
inbox inbox (light)
inbox light
pass contrast 100% · surface 97%
inbox hidden UI 1 (dark)
hidden UI 1 dark
pass contrast 100% · surface 100%
inbox hidden UI 1 (light)
hidden UI 1 light
pass contrast 100% · surface 100%
inbox hidden UI 2 (dark)
hidden UI 2 dark
pass contrast 100% · surface 100%
inbox hidden UI 2 (light)
hidden UI 2 light
pass contrast 100% · surface 100%
thread thread (dark)
thread dark
pass contrast 98% · surface 97%
thread thread (light)
thread light
pass contrast 100% · surface 97%
thread hidden UI 5 (dark)
hidden UI 5 dark
not measured
thread hidden UI 5 (light)
hidden UI 5 light
not measured
thread hidden UI 6 (dark)
hidden UI 6 dark
not measured
thread hidden UI 6 (light)
hidden UI 6 light
not measured
thread hidden UI 8 (dark)
hidden UI 8 dark
not measured
thread hidden UI 8 (light)
hidden UI 8 light
not measured
thread hidden UI 1 (dark)
hidden UI 1 dark
pass contrast 100% · surface 100%
thread hidden UI 1 (light)
hidden UI 1 light
pass contrast 100% · surface 100%
thread hidden UI 4 (dark)
hidden UI 4 dark
not measured
thread hidden UI 4 (light)
hidden UI 4 light
not measured
thread hidden UI 3 (dark)
hidden UI 3 dark
pass contrast 100% · surface 100%
thread hidden UI 3 (light)
hidden UI 3 light
pass contrast 100% · surface 100%
thread hidden UI 2 (dark)
hidden UI 2 dark
not measured
thread hidden UI 2 (light)
hidden UI 2 light
not measured
thread hidden UI 7 (dark)
hidden UI 7 dark
not measured
thread hidden UI 7 (light)
hidden UI 7 light
not measured

Report a problem on Gmail

All sitespasses

Google Calendar

calendar.google.com. Passing at default opacity: dark 21/21, light 21/21.

Google Calendar

Tested screens and hidden UI

event event (dark)
event dark
pass contrast 96% · surface 100%
event event (light)
event light
pass contrast 95% · surface 100%
event hidden UI 2 (dark)
hidden UI 2 dark
pass contrast 100% · surface 100%
event hidden UI 2 (light)
hidden UI 2 light
pass contrast 100% · surface 100%
event hidden UI 1 (dark)
hidden UI 1 dark
pass contrast 100% · surface 100%
event hidden UI 1 (light)
hidden UI 1 light
pass contrast 100% · surface 100%
month month (dark)
month dark
pass contrast 99% · surface 99%
month month (light)
month light
pass contrast 99% · surface 99%
month hidden UI 2 (dark)
hidden UI 2 dark
pass contrast 100% · surface 100%
month hidden UI 2 (light)
hidden UI 2 light
pass contrast 100% · surface 100%
month hidden UI 1 (dark)
hidden UI 1 dark
pass contrast 100% · surface 100%
month hidden UI 1 (light)
hidden UI 1 light
pass contrast 100% · surface 100%
week week (dark)
week dark
pass contrast 95% · surface 100%
week week (light)
week light
pass contrast 94% · surface 100%
week hidden UI 2 (dark)
hidden UI 2 dark
pass contrast 100% · surface 100%
week hidden UI 2 (light)
hidden UI 2 light
pass contrast 100% · surface 100%
week hidden UI 1 (dark)
hidden UI 1 dark
pass contrast 100% · surface 100%
week hidden UI 1 (light)
hidden UI 1 light
pass contrast 100% · surface 100%

Report a problem on Google Calendar

All sitespasses

Google Drive

drive.google.com. Passing at default opacity: dark 34/34, light 34/34.

Google Drive

Tested screens and hidden UI

mydrive mydrive (dark)
mydrive dark
pass contrast 96% · surface 100%
mydrive mydrive (light)
mydrive light
pass contrast 96% · surface 100%
mydrive hidden UI 1 (dark)
hidden UI 1 dark
pass contrast 100% · surface 100%
mydrive hidden UI 1 (light)
hidden UI 1 light
pass contrast 100% · surface 100%
new new (dark)
new dark
pass contrast 96% · surface 100%
new new (light)
new light
pass contrast 96% · surface 100%
new hidden UI 1 (dark)
hidden UI 1 dark
pass contrast 100% · surface 100%
new hidden UI 1 (light)
hidden UI 1 light
pass contrast 100% · surface 100%
recent recent (dark)
recent dark
pass contrast 94% · surface 96%
recent recent (light)
recent light
pass contrast 94% · surface 96%
recent hidden UI 1 (dark)
hidden UI 1 dark
pass contrast 100% · surface 100%
recent hidden UI 1 (light)
hidden UI 1 light
pass contrast 100% · surface 100%

Report a problem on Google Drive

All sitespasses

Hacker News

news.ycombinator.com. Passing at default opacity: dark 2/2, light 2/2.

Hacker News

Tested screens and hidden UI

front front (dark)
front dark
pass contrast 100% · surface 100%
front front (light)
front light
pass contrast 100% · surface 100%
item item (dark)
item dark
pass contrast 100% · surface 100%
item item (light)
item light
pass contrast 100% · surface 100%

Report a problem on Hacker News

All sitespasses

Linear

linear.app. Passing at default opacity: dark 38/38, light 28/28. Dark only.

Linear

Tested screens and hidden UI

changelog changelog (dark)
changelog dark
pass contrast 100% · surface 100%
changelog Product (dark)
Product dark
pass contrast 100% · surface 100%
changelog Resources (dark)
Resources dark
pass contrast 100% · surface 100%
home home (dark)
home dark
pass contrast 100% · surface 100%
home Linear (dark)
Linear dark
pass contrast 100% · surface 100%
home Product (dark)
Product dark
pass contrast 100% · surface 100%
home Resources (dark)
Resources dark
pass contrast 100% · surface 100%
pricing pricing (dark)
pricing dark
pass contrast 100% · surface 100%
pricing Product (dark)
Product dark
pass contrast 100% · surface 100%
pricing Resources (dark)
Resources dark
pass contrast 100% · surface 100%

Report a problem on Linear

All sites4 of 12 checks fail

Notion

notion.notion.site. Passing at default opacity: dark 3/6, light 5/6.

Tested screens and hidden UI

careers careers (dark)
careers dark
pass contrast 100% · surface 95%
careers careers (light)
careers light
pass contrast 100% · surface 95%
careers More actions (dark)
More actions dark
pass contrast 100% · surface 100%
careers More actions (light)
More actions light
pass contrast 100% · surface 100%
home home (dark)
home dark
pass contrast 91% · surface 100%
home home (light)
home light
pass contrast 100% · surface 100%
home More actions (dark)
More actions dark
fail contrast 100% · surface 100%
home More actions (light)
More actions light
pass contrast 100% · surface 100%
whatsnew whatsnew (dark)
whatsnew dark
fail contrast 100% · surface 88%
whatsnew whatsnew (light)
whatsnew light
fail contrast 100% · surface 88%
whatsnew More actions (dark)
More actions dark
fail contrast 100% · surface 100%
whatsnew More actions (light)
More actions light
pass contrast 100% · surface 100%

Report a problem on Notion

All sites1 of 4 checks fail

Perplexity

perplexity.ai. Passing at default opacity: dark 1/2, light 2/2.

Tested screens and hidden UI

home home (dark)
home dark
fail contrast 89% · surface 100%
home home (light)
home light
pass contrast 100% · surface 100%
home Filter projects (dark)
Filter projects dark
pass contrast 100% · surface 100%
home Filter projects (light)
Filter projects light
pass contrast 100% · surface 100%

Report a problem on Perplexity

All sitespasses

Readwise Reader

read.readwise.io. Passing at default opacity: dark 7/7, light 7/7.

Readwise Reader

Tested screens and hidden UI

doc doc (dark)
doc dark
pass contrast 100% · surface 100%
doc doc (light)
doc light
pass contrast 99% · surface 100%
doc hidden UI 1 (dark)
hidden UI 1 dark
not measured
doc hidden UI 1 (light)
hidden UI 1 light
not measured
library library (dark)
library dark
pass contrast 100% · surface 100%
library library (light)
library light
pass contrast 100% · surface 100%
library hidden UI 1 (dark)
hidden UI 1 dark
pass contrast 100% · surface 100%
library hidden UI 1 (light)
hidden UI 1 light
pass contrast 100% · surface 100%

Report a problem on Readwise Reader

All sites2 of 16 checks fail

Reddit

reddit.com. Passing at default opacity: dark 7/8, light 7/8.

Tested screens and hidden UI

home home (dark)
home dark
pass contrast 100% · surface 100%
home home (light)
home light
pass contrast 100% · surface 100%
post post (dark)
post dark
pass contrast 100% · surface 100%
post post (light)
post light
pass contrast 100% · surface 100%
sub sub (dark)
sub dark
fail contrast 100% · surface 100%
sub sub (light)
sub light
fail contrast 100% · surface 100%
sub hidden UI 1 (dark)
hidden UI 1 dark
pass contrast 100% · surface 100%
sub hidden UI 1 (light)
hidden UI 1 light
pass contrast 100% · surface 100%

Report a problem on Reddit

All sitespasses

Spotify

open.spotify.com. Passing at default opacity: dark 5/5, light —. Dark only.

Spotify
Spotify

Tested screens and hidden UI

artist artist (dark)
artist dark
pass contrast 100% · surface 97%
artist More options for Coldplay (dark)
More options for Coldplay dark
pass contrast 100% · surface 91%
artist What do you want to play? (dark)
What do you want to play? dark
pass contrast 100% · surface 100%
home home (dark)
home dark
pass contrast 100% · surface 98%
home What do you want to play? (dark)
What do you want to play? dark
pass contrast 100% · surface 100%

Report a problem on Spotify

All sitespasses

Substack

substack.com. Passing at default opacity: dark 7/7, light 7/7.

Tested screens and hidden UI

home home (dark)
home dark
pass contrast 95% · surface 99%
home home (light)
home light
pass contrast 95% · surface 99%
home hidden UI 3 (dark)
hidden UI 3 dark
pass contrast 100% · surface 100%
home hidden UI 3 (light)
hidden UI 3 light
pass contrast 100% · surface 100%
home hidden UI 1 (dark)
hidden UI 1 dark
pass contrast 100% · surface 100%
home hidden UI 1 (light)
hidden UI 1 light
pass contrast 100% · surface 100%
home hidden UI 2 (dark)
hidden UI 2 dark
pass contrast 100% · surface 100%
home hidden UI 2 (light)
hidden UI 2 light
pass contrast 100% · surface 100%
home hidden UI 4 (dark)
hidden UI 4 dark
pass contrast 93% · surface 100%
home hidden UI 4 (light)
hidden UI 4 light
pass contrast 100% · surface 100%

Report a problem on Substack

All sitespasses

Wikipedia

en.wikipedia.org. Passing at default opacity: dark 3/3, light 3/3.

Wikipedia

Tested screens and hidden UI

article article (dark)
article dark
pass contrast 100% · surface 100%
article article (light)
article light
pass contrast 100% · surface 100%
main main (dark)
main dark
pass contrast 100% · surface 100%
main main (light)
main light
pass contrast 100% · surface 100%
menu menu (dark)
menu dark
pass contrast 100% · surface 100%
menu menu (light)
menu light
pass contrast 100% · surface 100%

Report a problem on Wikipedia

All sitespasses

X

x.com. Passing at default opacity: dark 10/10, light 10/10.

Tested screens and hidden UI

home home (dark)
home dark
pass contrast 100% · surface 100%
home home (light)
home light
pass contrast 100% · surface 100%
home hidden UI 1 (dark)
hidden UI 1 dark
pass contrast 100% · surface 100%
home hidden UI 1 (light)
hidden UI 1 light
pass contrast 100% · surface 100%
home hidden UI 2 (dark)
hidden UI 2 dark
pass contrast 100% · surface 100%
home hidden UI 2 (light)
hidden UI 2 light
pass contrast 100% · surface 100%
profile profile (dark)
profile dark
pass contrast 100% · surface 100%
profile profile (light)
profile light
pass contrast 100% · surface 100%
profile More (dark)
More dark
not measured
profile More (light)
More light
not measured

Report a problem on X

All sitespasses

YouTube Music

music.youtube.com. Passing at default opacity: dark 4/4, light —. Dark only.

YouTube Music

Tested screens and hidden UI

music explore music explore (dark)
music explore dark
pass contrast 100% · surface 100%
music explore Search songs, albums, artists, podcasts (dark)
Search songs, albums, artists, podcasts dark
pass contrast 100% · surface 100%
music home music home (dark)
music home dark
pass contrast 100% · surface 100%

Report a problem on YouTube Music

All sitesauto glass, passes

arstechnica.com

arstechnica.com. Passing at default opacity: dark 1/1, light 1/1.

Tested screens and hidden UI

arstechnica arstechnica (dark)
arstechnica dark
pass contrast 99% · surface 100%
arstechnica arstechnica (light)
arstechnica light
pass contrast 99% · surface 100%

Report a problem on arstechnica.com

All sitesauto glass, passes

bbc.co.uk

bbc.co.uk. Passing at default opacity: dark 1/1, light 1/1.

Tested screens and hidden UI

bbc news bbc news (dark)
bbc news dark
pass contrast 93% · surface 90%
bbc news bbc news (light)
bbc news light
pass contrast 93% · surface 90%

Report a problem on bbc.co.uk

All sitesauto glass, 16 of 18 checks fail

developer.mozilla.org

developer.mozilla.org. Passing at default opacity: dark 1/9, light 1/9.

Tested screens and hidden UI

mdn mdn (dark)
mdn dark
pass contrast 100% · surface 95%
mdn mdn (light)
mdn light
pass contrast 100% · surface 96%
mdn About (dark)
About dark
fail contrast 100% · surface 67%
mdn About (light)
About light
fail contrast 100% · surface 67%
mdn All (dark)
All dark
fail contrast 100% · surface 83%
mdn All (light)
All light
fail contrast 100% · surface 83%
mdn CSS (dark)
CSS dark
fail contrast 100% · surface 83%
mdn CSS (light)
CSS light
fail contrast 100% · surface 83%
mdn HTML (dark)
HTML dark
fail contrast 100% · surface 83%
mdn HTML (light)
HTML light
fail contrast 100% · surface 83%
mdn JavaScript (dark)
JavaScript dark
fail contrast 100% · surface 83%
mdn JavaScript (light)
JavaScript light
fail contrast 100% · surface 83%
mdn Learn (dark)
Learn dark
fail contrast 100% · surface 83%
mdn Learn (light)
Learn light
fail contrast 100% · surface 83%
mdn Tools (dark)
Tools dark
fail contrast 100% · surface 83%
mdn Tools (light)
Tools light
fail contrast 100% · surface 83%
mdn Web APIs (dark)
Web APIs dark
fail contrast 100% · surface 83%
mdn Web APIs (light)
Web APIs light
fail contrast 100% · surface 83%

Report a problem on developer.mozilla.org

All sitesauto glass, passes

docs.python.org

docs.python.org. Passing at default opacity: dark 1/1, light 1/1.

Tested screens and hidden UI

python docs python docs (dark)
python docs dark
pass contrast 100% · surface 100%
python docs python docs (light)
python docs light
pass contrast 100% · surface 100%

Report a problem on docs.python.org

All sitesauto glass, passes

lobste.rs

lobste.rs. Passing at default opacity: dark 1/1, light 1/1.

Tested screens and hidden UI

lobsters lobsters (dark)
lobsters dark
pass contrast 100% · surface 99%
lobsters lobsters (light)
lobsters light
pass contrast 100% · surface 99%

Report a problem on lobste.rs

All sitesauto glass, passes

stackoverflow.com

stackoverflow.com. Passing at default opacity: dark 2/2, light 2/2.

Tested screens and hidden UI

stackoverflow stackoverflow (dark)
stackoverflow dark
pass contrast 99% · surface 100%
stackoverflow stackoverflow (light)
stackoverflow light
pass contrast 100% · surface 100%
stackoverflow Products (dark)
Products dark
pass contrast 100% · surface 100%
stackoverflow Products (light)
Products light
pass contrast 100% · surface 100%

Report a problem on stackoverflow.com

Add a site

Missing a site? Turn on automatic glass in the toolbar popup, or request the site.

To add one yourself:

./glasslab add "Linear" https://linear.app/            # style, register, test
./glasslab add "Linear" https://linear.app/ --agent    # an agent fixes what fails

With --agent, edits are kept only if the test scores go up. Full guide: docs/GLASS.md.

How it works

Each style maps a site's own colours onto four shared layers: page, sidebar, content and menu.

A test lab opens every screen and menu in a headless browser, measures text contrast against the brightest and darkest wallpaper, and checks every surface is glass. It never clicks anything that sends or deletes.

Sites without a style get the same layers, guessed from the page's layout.

Credits

Glass Mode by nazzacode. Originally based on Transparent Zen by FrostyBiscuit. MIT licence.