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! π





