Application Screenshot, Artwork created by krush62
KPix is a pixel art editor for still images and animations with a focus on generative color ramps and shading. The key aspects are:
⭐ exclusive use of indexed colors
⭐ generative color ramps based on parameters
⭐ hsv based color representation
⭐ shading capabilities for all tools
⭐ reference layers
⭐ grid/perspective aid layers
⭐ shading layers
⭐ dithering layers
⭐ non-destructive layer effects (outer/inner strokes, shadow, glow, ...)
⭐ extensive animation capabilities
⭐ image importing including automatic palette creation
⭐ image export including layers to Aseprite, Pixelorama, Gimp and Photoshop
⭐ multi-platform support (Windows, Linux, Android, macOS, Web)
⭐ stylus and touch support
⭐ automatic light/dark theme
KPix began as a personal project designed around my own pixel art workflow. I also used it as an opportunity to learn Flutter for desktop and tablet development. Because of this, some UI and workflow choices might feel unconventional - but these restrictions are entirely by design. I eventually decided to polish the app and release it to the public. Because I am a strong advocate for FOSS and open distribution channels, KPix is not available on Google Play or the Apple App Store.
I am a professional developer and frequently use AI in my daily work, but KPix is entirely human-made. This project was started way before the rise of LLMs, and I wanted to keep it that way to ensure I fully understand everything I am responsible for. To me, that is essential for being proud of my work.
You might also want to read the F.A.Q. or watch the (slightly outdated) feature overview video.
🖌️ Pen
💠 Shape
🔠 Text
🪣 Fill
💮 Stamp
➖ Line / Bézier Curve
💦 Spray Can
The drawing tools work directly (using the selected color) or in shading mode. In shading mode, the affected colors on the canvas are brightened/darkened based on the current color ramp.
A palette consists of multiple independent color ramps. Each ramp can have an arbitrary amount of shades (colors). These shades are controlled by parameters:
- base hue (hue of the center shade)
- base saturation (saturation of the center shade)
- hue shift between shades
- saturation shift between shades
- saturation curve (keep darker/brighter shades constant)
- minimum and maximum brightness
Palettes can be saved using the kpal format which is also used by KPal. The file format documentation can be found here.
Add reference images to your project and put them anywhere in your layer stack. These layers support opacity, scaling, moving and stretching.
Non-destructive shading for your image. Test different shading variants without changing the content.
Special kind of shading layer for dithering (±16 steps).
Displaying a highly-customizable grid (rectangular, diagonal, hexagonal, triangular, isometric, brick) or perspective aid (1-point, 2-point, 3-point).
- Individual frame times (1-30 fps per frame)
- Highly customizable frame blending (Onion Skinning)
- Linked layers
KPix uses its own kpix format for storing project files. The file format documentation can be found here.
Projects can be exported to lossless images including transparency. Integer scaling is supported.
- png
Projects can be exported for usage in other applications. Special Layers will be either omitted (reference, grid) or merged (shading, dither).
| Application | Extension | Color Mode | Layers | Palette Inclusion |
|---|---|---|---|---|
| Aseprite | aseprite |
indexed | ✅ | ✅ |
| Gimp | xcf |
indexed | ✅ | ✅ |
| Pixelorama | pxo |
rgba | ✅ | ❌ |
| Photoshop | psd |
rgba | ✅ | ❌ |
* Note: Pixelorama and Photoshop do not support indexed color mode with layers.
Palettes can be exported for usage in other applications.
- png
- aseprite (Aseprite)
- gpl (Gimp)
- txt (Paint.NET)
- ase (Adobe)
- pal (JASC)
- xml (Corel)
- soc (Star/Open/Libre Office)
- json (Pixelorama)
Animation projects can be exported to the following formats
- apng
- gif
- zipped png images
Due to its unique way of having parameterized color ramps, an import of other formats always needs the creation of parameterized color ramps from the image's colors. Any import is an approximation and will never exactly match the colors given in the original image. The following raster image formats are supported: bmp, jpg, gif (first frame), webp and png.
This application supports input by mouse/keyboard, touch screen and stylus. The complete control table can be found here.
| ACTION | MOUSE | TOUCH | STYLUS |
|---|---|---|---|
| use tool | left click | one finger | down |
| move canvas | middle click + move | two finger move | button press + move |
| zoom canvas | mouse wheel | two finger pinch | button long press + move up/down |
| color pick / switch shading direction |
right click | --- | quick button down and up |
Windows Installer (.exe) and Package (.zip) versions can be found at latest releases.
Download and run the provided Windows installer. The application can be easily uninstalled and a file association is created.
This is a portable version. Extract the contents of the Windows Zip Package and run kpix.exe to start the application.
Open a terminal (cmd or PowerShell) and run the following command: winget install --id krush62.kpix
Linux AppImage and Tarball (.tar.gz) versions can be found at latest releases.
This version needs to have libgtk-3-0, libblkid1 and liblzma5 installed and for file/directory selection, zenity, qarma or kdialog is needed.
Just run the AppImage file from the Desktop or Terminal.
Install the Flatpak from Desktop or Terminal.
Extract the contents of the tar.gz Package and run ./kpix to start the application.
Android .apk version can be found at latest releases.
Download the Android apk file and install it manually (side-loading needs to be enabled).
Even though, the apk can be installed on any device with the minimum required Android version, the application is designed for tablets (preferably with a stylus). The manifest file specifies the supported screen sizes and densities.
❗ The support for macOS is highly experimental and completely untested.
- Download the provided dmg file
- Double-click the downloaded dmg file
- Drag the application icon to the Applications folder shortcut within the window
- Double-click the application icon to start the application
A html/javascript version can be found at kpix.cloud. The web version has some limitations:
- General performance might be lower compared to the native versions
- Not always the latest version
- No project manager (simple load and save via up/download)
- No palette import
- Limited stylus and keyboard shortcut support
- Clone the repository
- Install the Flutter SDK
- Open the project in your configured IDE (Android Studio or VSCode recommended) or use gradle directly to build your variant
- you might use the scripts in the release_tools folder to create custom Linux/Windows/Android/Web versions
A list of ideas and features for future versions can be found here: #53.
Feedback can be shared via the discussions page. Please make sure to check if your idea/bug already exists.
This project is licensed under AGPLv3.
Please read the privacy statement.
