About the project
Darkkle is an independent, open-source browser extension that gives the Google Sheets web app a true-black, configurable dark theme.
What it is
Darkkle began as a practical attempt to make long spreadsheet sessions more comfortable. It has grown into a configurable theming layer with coordinated tints, grid and border controls, per-spreadsheet profiles, settings backup and restore, a pinned settings panel, and specialised handling for the canvas-rendered grid.
The current release is 2.3.0.
How it is built
Darkkle is deliberately lightweight:
- plain JavaScript, HTML, and CSS;
- no runtime package dependencies;
- no bundler;
- no remotely hosted executable code;
- a small Node-based validation and packaging toolchain used only for development.
The technically distinctive part is canvas-hook.js, which runs early in the page and wraps selected canvas drawing operations. That is what allows the grid itself to be recoloured rather than only the surrounding interface. The architecture document explains the design.
Licence
Darkkle is distributed under the Mozilla Public License 2.0. In practical terms the licence permits use, modification, redistribution, and commercial distribution, while requiring that distributed modifications to MPL-covered source files remain available under the MPL. The licence text controls if this summary differs from it.
Project names and logos are addressed separately in TRADEMARKS.md.
Governance and maintenance
Darkkle uses transparent, volunteer governance. Maintainer roles can be granted to contributors who demonstrate sound judgment, respectful conduct, reliable testing, and sustained useful work. Access begins at the lowest level needed and expands only with demonstrated contribution history.
The project is honest about its limits. The repository owner retains administrative control but does not undertake to maintain Darkkle regularly. There is no promised response time, fix, compatibility guarantee, or release schedule. A delay is not a rejection.
This is stated openly rather than hidden behind optimistic language, so that anyone deciding whether to rely on Darkkle can make that decision with accurate information.
Read GOVERNANCE.md, MAINTENANCE.md, and CODE_OF_CONDUCT.md.
Distribution
Darkkle is distributed as an extension ZIP through GitHub Releases and installed unpacked. Every release ships a SHA-256 checksum file so the archive can be verified before installing.
Releases are labelled. A release marked Pre-release has not completed the browser test checklist; its notes state exactly what was and was not verified.
Privacy stance
Darkkle has no developer-operated server, no account system, no analytics, no advertising, and no remote code loader. It requests only the storage permission plus narrow host access to the spreadsheet web app.
Adding telemetry, remote configuration, broad permissions, or new network destinations requires explicit public privacy and security review before it can be merged. That is a documented rule, not an informal preference.
See the privacy summary and PRIVACY.md.
Known limitations
Stated plainly:
- The spreadsheet’s canvas behaviour is private and undocumented, so a Google interface update can break theming without warning.
- Firefox compatibility has not been established and is not claimed. Darkkle targets Chromium-based browsers.
- Row and column header highlighting is the most fragile area and needs regression testing after browser or interface updates.
- Highly desaturated custom cell colours can be hard to distinguish from interface greys.
KNOWN_ISSUES.md is kept current.
Independence
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. Darkkle is not a Google product and does not represent Google in any capacity.
Contribute
Darkkle is intended to outgrow dependence on any one person. Bug reproduction, release testing, documentation, accessibility work, code review, and future maintainers are all welcome.