A modern interactive color palette generator with manual color selection, real-time UI preview, and advanced color tools.
- Smart Color Palette Generation: Create color palettes using advanced harmony algorithms (complementary, analogous, triadic, split-complementary, tetradic)
- Manual Color Extraction: Upload an image and extract colors automatically (K-means clustering) or pick colors manually with the eyedropper tool
- Shade Generation: Generate multiple shades from a base color with a customizable count
- Color Blindness Simulation: View your palette through various types of color blindness (deuteranopia, protanopia, tritanopia, achromatopsia)
- Live Component Preview: See your colors in action across 4 different UI components
- Dynamic Color Mapping: Colors update automatically in the navbar, cards, buttons, and form components
- Responsive Layout: 2x2 grid on desktop, single column on mobile
- Node.js 16+
- npm or yarn
- Clone the repository
git clone https://github.com/fiyoraa/swatchly.git
cd swatchly- Install dependencies
npm install- Start the development server
npm run dev- Open your browser
Navigate to
http://localhost:5173
npm run buildBuild files will be output to the dist/ folder.
Create a .env.local file for local development:
VITE_APP_TITLE=Swatchly
VITE_APP_DESCRIPTION=Color Palette GeneratorThis project includes a netlify.toml for deployment to Netlify:
[build]
publish = "dist"
command = "npm run build"
[[redirects]]
from = "/*"
to = "/index.html"
status = 200Image upload not working
- Check the file size (10MB max recommended)
- Make sure the file format is supported (JPG, PNG, WebP)
- Check the browser console for errors
Colors not updating in preview
- Make sure you have at least one harmony color
- Check that the palette array is not empty
- Try refreshing the browser
Export not working
- Make sure you have a generated palette
- Ensure the export modal has fully loaded
- Try copying manually from the swatch cards
This project is licensed under the MIT License — see the LICENSE file for details.