Repaint any website! Sometimes breaks!
You need an Anthropic API key to use this extension.
- Get your API key at console.anthropic.com
- Add it in the extension settings (click the gear icon in the Paintbrush UI)
Cost note: Each theme generation uses Claude Haiku and costs approximately $0.01-0.03 USD. Refinements and hiding requests are cheaper.
- Clone or download this repository
- Open Chrome and go to
chrome://extensions - Enable "Developer mode" (toggle in top right)
- Click "Load unpacked"
- Select the
extensionfolder - Click the Paintbrush icon and add your API key in settings
- Press
Ctrl+Shift+P(orCmd+Shift+Pon Mac) on any site to start
- Run the build script:
./firefox/build.sh - Open Firefox and go to
about:debugging - Click "This Firefox" in the left sidebar
- Click "Load Temporary Add-on..."
- Select
firefox/manifest.json - Use
Alt+Shift+PorCtrl+Shift+Y(Ctrl+Shift+Popens Private Browsing in Firefox)
Note: Firefox temporary add-ons are removed when the browser closes.
- Open any website you want to restyle
- Press
Ctrl+Shift+Pto open Paintbrush - Describe the theme you want (e.g., "dark mode with blue accents")
- Preview the generated theme
- Click "Apply Theme" to save, or "Cancel" to revert
The theme will automatically apply every time you visit that site.
Full themes:
- "dark mode with purple accents"
- "sepia tones, easy on the eyes for night reading"
- "high contrast black and white"
- "cozy warm colors, like a coffee shop"
Refinements:
- "make the links more visible"
- "hide ads"
- "remove the newsletter popup"
- "make headings larger"
- Preview before applying - See color swatches and live preview before saving
- Smart refinements - Describe changes to update your existing theme
- Fast hiding - "hide ads" uses a quick append-only path (~3s vs ~15s)
- Undo - Revert to your previous theme anytime
- Multiple themes per site - Create and switch between different looks
- Persistent - Themes auto-apply on every visit
| Shortcut | Action |
|---|---|
Ctrl+Shift+P |
Toggle Paintbrush UI |
Alt+Shift+P |
Toggle Paintbrush UI (alternate) |
Ctrl+Shift+Y |
Toggle Paintbrush UI (alternate) |
Shortcuts can be enabled/disabled in the settings panel.
- CSS only - Paintbrush injects CSS; it cannot modify page structure or block network requests
- Site compatibility - Some sites with heavy CSS-in-JS, Shadow DOM, or aggressive styling may not theme perfectly
- Not an ad blocker - "Hide ads" hides elements visually but ads still load and track
- Analyzer - Scans the page for colors, structure, CSS variables, frameworks
- Prompter - Builds a detailed prompt with all site context
- Generator - Calls Claude Haiku to generate CSS
- Injector - Applies CSS with smooth transitions
- Storage - Saves themes per-hostname for persistence
See CLAUDE.md for code structure and architecture details.
extension/
├── manifest.json # Chrome MV3 manifest
├── background.js # Service worker
├── lib/
│ ├── storage.js # Theme persistence
│ ├── sounds.js # UI sound effects
│ ├── prompter.js # Prompt construction
│ └── generator.js # Claude API calls
├── content/
│ ├── analyzer.js # Page analysis
│ ├── injector.js # CSS injection
│ ├── ui.js # Inline UI panel
│ └── index.js # Main orchestrator
└── popup/ # Extension popup
MIT License - see LICENSE
Built with Claude