KomfyKitty is a lightweight Chrome extension that replaces harsh page colors and adjusts typography for easier reading. It is designed as an accessibility aid for people with visual snow syndrome, dyslexia, visual sensitivity, or anyone who prefers a calmer page.
Warning
KomfyKitty is in a very early stage of development. It may be unstable or slow, and performance issues are expected while the extension is being actively developed.
Important
KomfyKitty is an accessibility aid, not a medical device or treatment. Reading preferences are personal—choose the colors and typography that feel comfortable to you.
- 🎨 Comfort colors — rewrite page stylesheet colors once per load while preserving lighter and darker surface shades
- Custom colors — choose your own background and text colors with live contrast feedback
- Flexible typography — change the font, text size, line height, and letter spacing
- Per-site control — keep KomfyKitty enabled globally while turning it off for individual websites
- Readable details — clear links, visible keyboard focus, and comfortable text selection
- Site-aware styling — includes dedicated color handling for ChatGPT and supports more site-specific fixes
- Private by design — no analytics, accounts, tracking, or application network requests
- Dependency-free — plain HTML, CSS, and JavaScript with no build step
KomfyKitty is currently installed as an unpacked extension:
-
Clone or download this repository:
git clone https://github.com/BeLikeSohan/kitty.git
-
Open
chrome://extensionsin Chrome. -
Turn on Developer mode.
-
Select Load unpacked.
-
Choose the downloaded
kittyfolder. -
Pin KomfyKitty from Chrome's extensions menu for quick access.
Note
KomfyKitty starts turned off. It can style regular HTTP and HTTPS pages, but Chrome's internal pages and other protected pages cannot be changed by extensions.
- Open a website and select the KomfyKitty icon in your browser toolbar.
- Turn on the main switch.
- Pick a color preset or create your own palette.
- Expand Typography to adjust the page's font and spacing.
- Use This website when KomfyKitty should be disabled only for the current domain.
Changes are saved automatically and applied to open pages. The contrast message helps identify whether your selected background and text colors meet the WCAG AA ratio for normal text.
KomfyKitty reads page styles only to apply local overrides. Cross-origin stylesheets may be fetched locally by the extension for processing, but they are not sent anywhere else. KomfyKitty does not collect browsing history, page content, or personal data.
Preferences are stored with Chrome's synchronized extension storage. They may sync through your Google account when browser sync is enabled.
The idea for KomfyKitty was inspired by Haunani, and its color palette is based on the colors used on that website.
- Chrome or a compatible Chromium-based browser
- Node.js for running the tests
There are no packages to install and no build step. Run the test suite with:
npm testAfter editing extension files, select KomfyKitty's reload button on chrome://extensions, then refresh the page you are testing.
kitty/
├── content/ # Page styling and website-specific rules
├── icons/ # Extension logo and generated PNG icons
├── popup/ # Settings popup UI
├── shared/ # Settings, presets, validation, and contrast logic
├── tests/ # Node.js tests
└── manifest.json # Chrome extension manifest
Add focused compatibility fixes in content/sites.js. A rule can match a domain, optional paths, and return CSS scoped to KomfyKitty:
sites.register({
id: "wikipedia-article",
hosts: ["wikipedia.org"],
paths: ["/wiki/"],
css: ({ root }) => `
${root} .mw-page-container {
max-width: 78rem !important;
margin-inline: auto !important;
}
`
});Host rules also match subdomains. Path strings use prefix matching, regular expressions are supported, and rules are re-evaluated when a single-page application changes URL.
Available CSS variables:
--kitty-background--kitty-text--kitty-link--kitty-font-size--kitty-line-height--kitty-letter-spacing
Tip
Prefix selectors with the provided root value so custom styles apply only while KomfyKitty is enabled.

