A professional color management suite for designers, developers, and digital artists. Built with Qt for Linux.
- 🎨 Screen Color Picker: Pick colors from anywhere on your screen using native portal integration
- 🎨 HSV Color Plane: Interactive 2D color plane for precise color selection
- 🔆 Brightness Slider: Adjust color brightness with dedicated slider control
- 🎲 Random Color Generator: Generate random colors for inspiration
- 📐 RGBA Support: Full support for alpha channel transparency
- 🔄 Format Conversion: Convert between HEX, RGB, and RGBA color formats
- 📋 Clipboard Support: Copy color values with one click
- 🎨 Smart Paste Detection: Automatically detects and converts pasted color codes between formats
- 👁️ Color Preview: Hover over the color preview to see an enlarged view of the selected color
- 🔄 Original Color Comparison: Compare current color with the original picked color to track changes
- ♿ Color Contrast Checker: Evaluate color combinations for text readability
- 📊 WCAG Compliance Testing: Check contrast ratios against WCAG AA and AAA standards
- 🌈 Linear & Radial Gradients: Create beautiful linear and radial gradients
- 🎨 Multi-Stop Gradients: Add, remove, and adjust unlimited gradient stops
- 🔄 Gradient Rotation: Control gradient angle (0-360°)
- 🎲 Random Gradients: Generate random gradient combinations
- 📤 CSS Export: Copy gradient as CSS code for web development
- 📄 SVG Export: Copy or export gradients as SVG files
- 🖼️ Image Export: Export gradients as PNG images with custom dimensions
- 👁️ Fullscreen Preview: View gradients in fullscreen mode
- 🎨 Color Palettes: Create and manage multiple color palettes
- ➕ Quick Add: Add current color to palette with one click
- 🖼️ Image Color Extraction: Generate palettes from images using K-means clustering
- 💾 Import/Export: Import and export palettes in JSON format
- ✏️ Palette Operations: Create, rename, delete, and clear palettes
- 🔖 Named Colors: Add optional names to palette colors
- 📚 Multiple Palettes: Switch between different palettes easily
- 📋 Context Menu Actions: Right-click swatches to copy color codes or remove colors
- 🎚️ Precision Controls: Adjust RGB values using sliders and spin boxes
- ⌨️ Keyboard Shortcuts: Comprehensive keyboard navigation and shortcuts
- 📖 Shortcuts Dialog: View all available keyboard shortcuts in a dedicated dialog (Help → Keyboard Shortcuts)
- 🔧 Resizable Panels: Adjustable splitter for customizing layout between color picker and palettes
- 💾 Settings Persistence: Remembers your last used color, window geometry, and panel sizes
- 🎨 Intuitive Design: Clean, modern Qt-based interface with streamlined toolbar
- 🔗 Quick Access: Easy access to source code and project information from About dialog
| Main Window | Gradient Generator |
|---|---|
![]() |
![]() |
| Radial Gradient | About Dialog |
|---|---|
![]() |
![]() |
- CMake 3.16 or later
- Qt 6.x (Core, Gui, Widgets, DBus)
- C++17 compatible compiler (GCC, Clang)
# Clone the repository
git clone https://github.com/keshavbhatt/colorsmith.git
cd colorsmith
# Create build directory
mkdir build && cd build
# Configure with CMake
cmake ..
# Build
make
# Install (optional)
sudo make install# Build with custom install prefix
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
# Build in Debug mode
cmake -DCMAKE_BUILD_TYPE=Debug ..
# Build with tests
cmake -DBUILD_TESTING=ON ..| Platform | Installation |
|---|---|
| Snap Store | sudo snap install colorsmith |
| Flathub | flatpak install flathub com.ktechpit.colorsmith |
Download the Windows installer (v1.1.0) or check the Latest Release Page for newer versions.
After building, install with:
cd build
sudo make installLaunch the application from your application menu or run:
colorsmithCtrl+C: Copy current color to clipboardCtrl+P: Pick color from screenCtrl+Shift+C: Open Color Contrast CheckerCtrl+K: Show Keyboard Shortcuts dialog
When the cursor is inside any R / G / B / A field:
| Shortcut | Behavior |
|---|---|
↑ / ↓ |
±1 |
Shift + ↑ / ↓ |
±10 |
Alt + ↑ / ↓ |
±5 |
PageUp / PageDown |
±25 |
Home / End |
Min (0) / Max (255) |
This project follows standard Qt/C++ coding conventions:
- Use camelCase for methods and variables
- Use PascalCase for class names
- Use
m_prefix for member variables - Keep headers in
include/directory - Keep implementations in
src/directory
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the GNU General Public License v3.0 or later. See the LICENSE file for details.
- Report bugs: https://github.com/keshavbhatt/colorsmith/issues
If you find ColorSmith useful, consider supporting its development!
| Donate via PayPal | Or scan the QR code |
|---|---|
![]() |
![]() |
Your support helps maintain and improve ColorSmith. Thank you! 💙





