A modern, interactive color palette generator built with Vue 3 and cutting-edge web technologies
π Live Demo | π Documentation | π Report Bug | β¨ Request Feature
π― Smart Color Generation - Generate palettes from keywords, hex codes, or named colors
π² Random Palette Generator - Create surprise color combinations with one click
π« Interactive UI - Smooth animations, hover effects, and responsive design
π Gradient Suggestions - Auto-generated CSS gradients from your palette
π Live Preview - Real-time UI preview with your color scheme
π Copy to Clipboard - One-click copying of colors and gradients
πΎ Export Functionality - Download palettes as JSON files
β‘ Modern Tech Stack - Vue 3 Composition API, Vite, and SCSS
π± Mobile Responsive - Perfect experience on all device sizes
π¨ Professional Design - Glass morphism and modern UI patterns
- Node.js (v16 or higher) - Download here
- npm or yarn package manager
- Modern web browser
# Clone the repository
git clone https://github.com/f1ss1on/color-palette-generator.git
# Navigate to project directory
cd color-palette-generator
# Install dependencies
npm install
# Start development server
npm run dev
# Open your browser to http://localhost:3000That's it! π Your color palette generator is now running locally.
Type any descriptive word and watch the magic happen:
oceanβ Beautiful blue tonessunsetβ Warm orange and pink huesforestβ Rich green variationsvintageβ Muted retro colors
Enter specific colors for precise control:
- Hex codes:
#3498db,#e74c3c - Named colors:
blue,crimson,forestgreen - RGB values:
rgb(52, 152, 219)
Click the Randomize button for surprise combinations - perfect for creative exploration!
- Copy Colors: Click any color card to copy hex codes
- Copy Gradients: Click gradient previews to copy CSS
- Export JSON: Download complete palette data
| Command | Description |
|---|---|
npm run dev |
π Start development server with hot reload |
npm run build |
π¦ Build optimized production bundle |
npm run preview |
π Preview production build locally |
npm run lint |
π Run ESLint for code quality |
npm run format |
β¨ Format code with Prettier |
src/
βββ components/ # Vue components
β βββ ColorCard.vue # Individual color display
β βββ GradientCard.vue# Gradient display
β βββ PaletteControls.vue # Input and controls
β βββ PalettePreview.vue # UI preview
βββ styles/ # Global styles
β βββ main.scss # Main stylesheet
β βββ variables.scss # SCSS variables and mixins
βββ utils/ # Utility functions
β βββ colorUtils.js # Color manipulation utilities
βββ App.vue # Main application component
βββ main.js # Application entry point
- Generate from Keywords: Type any word (e.g., "ocean", "sunset") and click Generate
- Use Color Codes: Enter hex codes (#3498db) or named colors (blue)
- Random Generation: Click Randomize for surprise color combinations
- Copy Colors: Click any color card to copy the hex code
- Export Palette: Use the Export JSON button to save your palette
| Frontend | Build Tools | Styling | Code Quality |
|---|---|---|---|
| Vue 3 | Vite | SCSS | ESLint |
| Composition API | Hot Reload | CSS Modules | Prettier |
| Reactive System | Tree Shaking | Glass Morphism | Git Hooks |
Extend the colorUtils.js file to add custom palette algorithms:
// src/utils/colorUtils.js
export function generateFromMood(mood) {
const moodMaps = {
calm: ['#e3f2fd', '#bbdefb', '#90caf9'],
energetic: ['#ff5722', '#ff9800', '#ffc107'],
mysterious: ['#1a1a2e', '#16213e', '#0f3460']
}
return moodMaps[mood] || generateRandomPalette()
}Modify SCSS variables for your brand:
// src/styles/variables.scss
$primary-gradient: linear-gradient(90deg, #your-brand, #secondary);
$glass-bg: rgba(255, 255, 255, 0.08);
$accent-color: #your-accent;Create new Vue components in src/components/:
<!-- src/components/YourComponent.vue -->
<template>
<div class="your-component">
<!-- Your template -->
</div>
</template>
<script>
export default {
name: 'YourComponent',
// Component logic
}
</script>We love contributions! Here's how you can help make this project even better:
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/color-palette-generator.git - Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes
- Test your changes:
npm run dev - Commit your changes:
git commit -m 'Add amazing feature' - Push to your branch:
git push origin feature/amazing-feature - Submit a Pull Request
- Check if it's already reported in Issues
- If not, create a new issue with:
- Clear description of the bug
- Steps to reproduce
- Expected vs actual behavior
- Screenshots (if applicable)
Have an idea? We'd love to hear it! Open an issue with:
- Clear description of the feature
- Use case examples
- Mockups or sketches (if applicable)
This project is licensed under the MIT License - see the LICENSE file for details.
- π Vue.js Team - For the incredible framework
- β‘ Vite Team - For lightning-fast development experience
- π¨ Font Awesome - For beautiful icons
- π Bootstrap Team - For utility classes
- π¨ Design Community - For endless inspiration
- π» Open Source Community - For making this possible
Found this helpful? Give it a βοΈ
Report Issues β’ Request Features β’ Contribute
Built with β€οΈ using Vue 3, Vite, and modern web technologies by f1ss1on