VibePalette 2.0.1 is a Chrome/Edge extension for capturing the current tab and extracting polished, export-ready color palettes.
- 📸 Instant Capture: Takes a screenshot of your current tab instantly.
- 🎨 Real-image palette extraction: Uses dominance-aware RGB bins, cell winners, corner sampling, and top-band sampling to avoid tiny saturated noise.
- 🧭 Balanced palette selection: Preserves meaningful color diversity without forcing irrelevant hue families.
- 🎬 Cinematic Export: Save palettes as framed image exports with balanced rows, readable labels, and optional color codes.
- 💻 Dev-Friendly Exports:
- Copy palette colors
- Share as a Coolors URL
- Export as PNG, CSS custom properties, or JSON
- 🔧 Customizable:
- Adjust color count (5-10)
- Choose formats (HEX, RGB, HSL)
- Auto, dark, and light themes
- ⌨️ Keyboard Shortcuts:
Alt+R: RecaptureAlt+C: Copy all colorsAlt+E: ExportAlt+S: Settings
- Clone this repository.
- Open Chrome or Edge and navigate to
chrome://extensions/oredge://extensions/. - Enable Developer mode (top right toggle).
- Click Load unpacked.
- Select the
VibePalettefolder.
- Vanilla JavaScript (No heavy frameworks)
- Custom palette heuristics (candidate extraction and ranking)
- HTML5 Canvas (for image processing)
- Vitest & JSDOM (for automated testing)
- ImageMagick (optional locally and required by CI for real-image regressions)
background.js: Extension background logic.popup.*: Main extension interface and capture flow.settings.js: Settings persistence and theme state.export.js: PNG, CSS, JSON, and share export helpers.fonts/: Bundled export/UI fonts.icons/: Extension assets.tests/: Automated unit, popup, manifest, simulation, and real-image tests.docs/: Development logs and planning.
To run tests:
npm install
npm run checkTo create a validated unpacked-store ZIP in dist/:
npm run package:extensionThe packaging command uses an explicit runtime allowlist and verifies the archive, manifest references, permissions, icons, and distribution notices. The full check also enforces measured statement/line, branch, and function coverage thresholds for the runtime modules.
Screenshots are processed in the popup and are not stored or transmitted. VibePalette stores only preferences and a five-entry color history. See PRIVACY.md for the complete data and permission disclosure.
Current release: 2.0.1.
See CHANGELOG.md for release notes.
MIT License.