NPM Install — Client-Side Color Extraction
npm install swatchme
swatchme is a zero-dependency JavaScript/TypeScript library for extracting dominant colors from images entirely in the browser. No server required. Uses the same k-means++ clustering algorithm as the Go version. ~2KB gzipped.
import { extractColors, generatePaletteCanvas } from 'swatchme'; // Extract colors from a file input const file = document.querySelector('input[type="file"]').files[0]; const colors = await extractColors(file, { numColors: 6, excludeWhite: true }); // → [{ hex: "#4A90D9", percentage: 32.5, rgb: {r,g,b} }, ...] // Generate a palette canvas const canvas = generatePaletteCanvas(colors, 500, 100); document.body.appendChild(canvas);
BROWSER ONLY
100% client-side. No server calls. Works offline.
ZERO DEPS
No runtime dependencies. ~2KB gzipped.
ANY INPUT
File, Blob, Image, Canvas, ImageData, or URL.
TYPESCRIPT
Full TypeScript support with exported types.