A beautiful, modern, and interactive color picker web application with a stunning rainbow gradient theme. Built with React and Tailwind CSS for a smooth and responsive user experience.
https://rainbow-color-picker.vercel.app/
- π¨ HSL Color Controls - Fine-tune colors with interactive Hue, Saturation, and Lightness sliders
- π Rainbow Presets - 12 vibrant preset colors for quick selection
- π Clipboard Integration - One-click color code copying with visual feedback
- π― Custom Input - Both visual color picker and manual hex input
- π« Smooth Animations - Beautiful hover effects and transitions throughout
- π± Fully Responsive - Works seamlessly on desktop, tablet, and mobile devices
- π Modern UI - Glassmorphism design with rainbow gradient background
- π Real-time Preview - Instant color updates as you adjust sliders
- React 18 - JavaScript library for building user interfaces
- Tailwind CSS - Utility-first CSS framework
- Lucide React - Beautiful and consistent icon library
- Create React App - Standard toolchain for React applications
Before you begin, ensure you have the following installed:
Check your versions:
node --version
npm --version- Clone the repository
git clone https://github.com/code0era/Rainbow-Color-Picker.git- Navigate to the project directory
cd Rainbow-Color-Picker- Install dependencies
npm install- Start the development server
npm start- Open your browser
- The app will automatically open at http://localhost:3000
- If it doesn't, manually navigate to the URL
Create an optimized production build:
npm run buildThe build folder will contain the optimized files ready for deployment.
rainbow-color-picker/
βββ public/
β βββ index.html
β βββ favicon.ico
βββ src/
β βββ App.js # Main application component
β βββ index.js # Entry point
β βββ index.css # Global styles with Tailwind
βββ package.json # Dependencies and scripts
βββ tailwind.config.js # Tailwind configuration
βββ postcss.config.js # PostCSS configuration
βββ README.md # Project documentation
-
Adjust HSL Sliders
- Move the Hue slider to change the base color (0-360Β°)
- Adjust Saturation for color intensity (0-100%)
- Control Lightness from black to white (0-100%)
-
Choose Preset Colors
- Click any of the 12 rainbow preset color buttons
- Instantly apply beautiful pre-selected colors
-
Custom Color Input
- Use the visual color picker for quick selection
- Or type/paste a hex color code directly
-
Copy Color Code
- Click the "Copy Color Code" button
- The hex code is instantly copied to your clipboard
- Visual confirmation appears on successful copy
The project uses Tailwind CSS with default configuration. To customize:
Edit tailwind.config.js:
module.exports = {
content: ["./src/**/*.{js,jsx,ts,tsx}"],
theme: {
extend: {
// Add your custom configurations here
},
},
plugins: [],
}To modify the rainbow preset colors, edit the rainbowColors array in src/App.js:
const rainbowColors = [
'#FF0000', // Red
'#FF7F00', // Orange
// Add or modify colors here
];- Push your code to GitHub
- Go to Vercel
- Import your GitHub repository
- Vercel will auto-detect Create React App settings
- Click "Deploy"
- Build your project:
npm run build - Drag and drop the
buildfolder to Netlify
- Install gh-pages:
npm install --save-dev gh-pages- Add to
package.json:
"homepage": "https://code0era.github.io/Rainbow-Color-Picker",
"scripts": {
"predeploy": "npm run build",
"deploy": "gh-pages -d build"
}- Deploy:
npm run deployContributions are welcome! Here's how you can help:
- Fork the repository
- Create a new branch (
git checkout -b feature/AmazingFeature) - Make your changes
- Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
code0era
- GitHub: @code0era
- Project Link: https://github.com/code0era/Rainbow-Color-Picker
- Icons provided by Lucide React
- Styling powered by Tailwind CSS
- Built with Create React App
If you have any questions or run into issues, please open an issue on GitHub or contact me directly.
β Star this repo if you find it helpful!