How to get dark mode in Google Sheets

Google Sheets on the web has no true built-in dark mode. This page explains what the available options actually do, why most of them leave the grid white, and what it takes to darken the sheet itself.

The short answer

Approach Darkens the interface Darkens the grid Keeps your cell colours
Google Sheets mobile app dark theme Yes Yes Yes
Browser or OS dark mode No No
Chrome’s “Force Dark Mode” flag Partly Usually not Often no
Generic dark-mode extensions Usually Usually not Often no
A canvas-aware extension such as Darkkle Yes Yes Yes

The mobile apps for Android and iOS do have a dark theme. The web app does not.

Why the grid stays white

Most of a web page is built from HTML elements that carry ordinary CSS. A dark-mode extension can restyle those elements, and the page turns dark.

The Google Sheets grid is different. It is painted onto an HTML <canvas> element, the same technology used for browser games and charts. A canvas is a single rectangle of pixels. From the outside, there are no cells, no rows, no columns, and no text to restyle — only an image that the page draws and redraws as you scroll.

This is why so many people report the same result: the menus, toolbar, and sidebars go dark, and the spreadsheet itself remains a bright white block in the middle. The extension restyled everything it could see. It could not see the grid.

Why “Force Dark Mode” is not a fix

Chromium browsers have had an experimental #enable-force-dark flag. It applies an automatic inversion across pages.

It has real drawbacks for spreadsheet work:

For a spreadsheet, colour carries meaning. A red cell usually means something. Blanket inversion destroys that meaning.

What actually works on the web

To darken the grid, software has to intervene at the point the canvas is drawn rather than styling the page afterwards.

That is the approach Darkkle takes. It runs a small script early in the page, before the spreadsheet creates its canvases, and wraps selected drawing operations. When the sheet paints a neutral interface colour, Darkkle substitutes a dark equivalent. When it paints a colour you chose yourself, it leaves it alone.

That distinction is the important part. The goal is not to invert the sheet. It is to flip the greys and leave your data’s colours intact.

Row and column headers are the hard part

Selecting cells makes the spreadsheet highlight the matching row numbers and column letters. On a dark background, that highlight can easily paint over the label and make it unreadable, or leave a stranded bar at the edge of the screen after you scroll.

This is the single most fragile area of any canvas-based theming approach, and it is where most of the engineering effort in Darkkle 2.3.0 went. See Features for what the current release handles.

What to expect

Some honesty about the limits:

Try it

Darkkle is free and open source under the Mozilla Public License 2.0. It requests only the storage permission, has no analytics or advertising, and sends nothing to any server operated by the project.

Darkkle is not affiliated with, endorsed by, or sponsored by Google. Google Sheets is a trademark of Google LLC and is referenced only to describe compatibility.