The first thing to remember is that Krita is a 2D paint application while other programs such as Photoshop are designed for image manipulation. This means that the other programs may have more features than Krita in general- but Krita has tools that are relevant to digital painting. The tools are designed for concept art, creating comics, and textures. If you use a feature that isn't listed, make a quick video tutorial and let us know. We'll put it up to share with everyone.


User Interface

An intuitive user interface that stays out of your way. The dockers and panels can be moved and customized for your specific workflow. Once you have your setup, you can save it as your own workspace. You can also create your own shortcuts for commonly used tools.

Brush Stabilizers

Have a shaky hand? Add a stabilizer to your brush to smoothen it out. Krita includes 3 different ways to smooth and stabilize your brush strokes. There is even a dedicated Dynamic Brush tool where you can add drag and mass.

Pop-up Palette

Quickly pick your color and brush by right-clicking on the canvas. You can also use Krita's tagging system to swap out the available brushes that are displayed. The ring outside of the color selector contains the most recently used colors. These settings can be configured through the preferences.

Brush Engines

Customize your brushes with 9 unique brush engines. Each engine has a large amount of settings to customize your brush. Each brush engine is made to satisfy a specific need such as the Color Smudge engine, Shape engine, Particle engine, and even a filter engine. Once you are done creating your brushes, you can save them and organize them with Krita's unique tagging system.

Wrap-around mode

It is easy to create seamless textures and patterns now. Press the 'W' key while painting to toggle wrap-around mode. The image will make references of itself along the x and y axis. Continue painting and watch all of the references update instantly. No more clunky offsetting to see how your image repeats itself.

Resource Manager

Import brush and texture packs from other artists to expand your tool set. If you create some brushes that you love, share them with the world by creating your own bundles. Check out the brush packs that are available in the Resource area.

Updated Tablet Support for Windows, Linux and macOS

We finally managed to bring together the code we wrote for supporting tablets on Windows (both Wintab as Windows Ink), Linux and macOS with the existing code in our development platform, Qt. This has improved support for multi-monitor setups, more tablets are supported and a host of bugs with tablets have been resolved. This was a huge amount of work!

Note: we needed to patch Qt to make all of this work. The patches have been upstreamed but might not yet be integrated by your linux distribution. Until that happens, you might need to use the Linux AppImage instead of Krita as built by your distribution.

HDR Painting

HDR Animation created in Krita by Agata Cacko

Krita has been able to work with HDR images since 2005, but it's now possible to view your HDR image in HDR, on supported hardware. You can now not only save your HDR image in .kra or OpenEXR files, but also extended PNG. With the right version of FFMPEG you can even create animations in HDR! Having the correct computer setup for this can be rather complicated, so head to the documentation to see what is involved. HDR display is only available on Windows 10.

If you have HDR enabled, the Small Color Selector Docker has an extra "nits" slider that allows you to change the brightness of a specfic color.

Improved brush speed performance with vectorization and lock-free programming

Two of our 2018 Google Summer of Code students sped up Krita with programming techniques called lock-free hashmap for managing the pixel data (Andrey Kamakin) and GPU vectorization (Ivan Yossi). The lock-free hashmap should improve Krita's speed with multithreading, the chart shows the performance gains based off your CPU core count. Vectorization for the Gaussian and Soft-brush tips optimizes Krita by taking advantage of your processor's ability to do similar calculations really quickly, the gif above showing the speed difference for the gaussian brush tip.

The left axis on the graph is time in milliseconds. You can see the painting operations go from 1.5 seconds down to about 1 second with the lock-free hashmap. The blue line shows how Krita previously worked.

Improved Color Palette Docker

An improved color palette from one of our Google Summer of Code students for 2018 --- Michael Zhou. It is more stable as well as some of the following changes:

  • Instead of an entry-based docker, a rows and column based docker.
  • It can hold empty entries, which is useful for organizing.
  • Stable drag and dropping of colors.
  • Easy adding in entries by clicking them in the docker.
  • Right-clicking removes an entry.
  • Palettes can be put into the KRA file.
  • You can press the folder icon to open a palette editing dialog where you can set a palette to be stored in the document or resource-folder.

What's New

The first release after the big 5.0, Krita 5.1 comes with a ton of smaller improvements and technical polish. This release sees updates to usability across the board, improved file format handling, and a whole lot of changes to the selection and fill tools.


The biggest change to layer handling in Krita 5.1 is Santhosh Anguluri's Google Summer of Code project 2021: Operations for multiple layers (MR 888). This enables copy, cut and paste and clear on when having a selection on multiple layers at once.

Beyond that there's a small number of UI tweaks made to the layer docker: You can now control how strongly layers indent when in a group. Furthermore a button got added for showing the context menu when rightclick is unavailable, and finally, file layers now report if their file cannot be found (MR 1443, MR 1213, MR 1419).

You can now paint on selection masks with blending modes (MR 1437).

File Formats

  • WebP support (MR 891 MR 1268). We had basic WebP support already, but this adds full support using WebP Codec with every possible toggle imaginable.
  • Support for Photoshop layered Tiffs (MR 944). Despite Adobe being the steward of the Tiff spec, Photoshop has a unique non-spec compliant way of saving layers into a tiff file: Putting a whole PSD document into the metadata. We now support loading data from such files. On top of this, the export dialog for TIFF was reworked, and we now load and save metadata to tiff (MR 1015).
  • OpenExr support for 2.3 and 3+ (MR 1049). Because of a mistake with our build system, Krita couldn't see OpenExr 2.3 and above, this is fixed now.
  • Improve retrieval of image data from clipboard (MR 1296, MR 1431). When you copy data between programs, that data is put into the system clipboard. Sometimes when this is done with images programs add several different options. We've improved the UI that allows you to choose which of these options you want to use.
  • PSD fill layers and color labels (MR 1309). This allows loading and saving layer color labels to PSD, as well as loading and saving the gradient, pattern and color fill layers. This extends the ASL parser inside Krita, which means that layer styles have better color and pattern import as well. Most PSDs use these fill layers in combination with vector masks, which are not yet implemented.
  • Support for JPEG-XL (MR 1363). Joining the implementation of Avif last release, JPEG-XL is the newest update of the JPEG image file format, and one of the new set of file formats that is designed to bring wide color gamuts and HDR to the web. We haven't yet enabled saving and loading of the HDR color spaces to JPEG-XL, but what we do have is saving and loading animations, making JPEG-XL the first fileformat that doesn't require FFMPEG to allow exporting animations.
  • Support for ASE and ACB color palettes (Commit 6c7ed052). The former is used among Adobe applications, the latter is the format used by Photoshop to describe it's spot-color list. We urge people to be a little careful with the latter as it seems that the Pantone values in particular get updated quite frequently. Discuss with your printer which spot colors you want to use.

Faster & More Flexible Resource System

We have fully rewritten Krita's handling of resources like brush presets, gradients, palettes and more. Before we had a fragile system of models, where we should have been using a proper database, and thus, we are now using an SQLite database as the core of our resource handling. This fixes many bugs with tagging and loading resources as well as a handful of UI problems. It also makes our resource system faster and leaner. Because we are now not loading all resources at once, Krita will now start up quicker, and take up less working memory (from our tests, Krita 5.0 took up 200 mb less RAM!).

New bundle manager and configurable resource locations.

Krita's resource folder used to be hardcoded. Not any more! You can now configure which folder is the resource folder and where the cache is located. Those of us who'd like to have their resource folder on a USB stick will now be able to do so.

As well, we now support more resource libraries. We already had our own resource bundle format, but now we also support photoshop layer style libraries and brush libraries. Documents can now also be seen as a place to store resources, and though we only use it for palettes right now, we hope to extend this in the future.

New Resource Manager

This new manager allows you to mass-tag brushes as well as delete and undelete resources at will (Krita will deactivate these). It comes with nice little UI features, like a tagging widget that shows all the current tags on a resource in one quick glance.

Layer styles are now resources

This allows tagging and searching amongst layer styles, as well as sharing them, or loading several layer styles at once from a downloaded ASL file.

Smoother Gradients & Improved Gradient Tools

Dithered gradients (MR 668)

Gradients are an excellent way to quickly setup the main color swatches of your image, for example, a quick linear gradient for the horizon, or several radial gradients for light sources. However, if you used subtle gradients, you would sometimes see banding, caused by there being too few colors available in 8 bit images for a smooth gradient. We have implemented dithering for gradients in 8 bit images, which involves using a blue noise pattern to create a little bit of offset in the boundary between colors. This way, even 8 bit images which don't always have enough colors to trick the human eye that something is smooth, can have the illusion of smoothness in these gradients.

There was a Libre Graphics Meeting talk discussing the technical details.

Wide gamut and unbounded gradients (MR 668 , MR 675).

But not only the 8 bit images got love. For images in 16 and 32 bit, the gradients Krita generates will now be able to use the full scale available. Furthermore, we've made it possible to store wide gamut and unbounded colors using SVG 1.1 icc-color definitions, meaning that you can now have radial gradients that contain rec2020 green, or whites that would only be possible in HDR images, bringing the conveniences of the gradient tool to people who work in these higher bit depths. We hope to support CSS 4 color definitions for the stop gradients when it's draft has been completed.

Comparison of gradients with and without dither, with an extra set of examples with increased contrast to display the difference.

Gradient Editors got an overhaul (MR 857).

They are now more cohesive, compact and convenient, with small options left and right to make creating gradients easier than before.

  • Easier option on UI to delete stops
  • New tear drop display of stops
  • New color sorting options
  • Cycle through stops with left and right arrows

Faster color management with fast float plugin (MR 726)

With the fast float plugin, the speed of color management improves drastically, especially with 32bit float. This is enabled by default. Color management via LittleCMS enables us to display colors accurately, and is also necessary for professional features like soft proofing and color model support, and is always applied to Krita's view of the image.

Animation Overhaul

Our Timeline Docker has a new look and a variety of improvements. We've removed the old Animation Docker and moved its core functionality directly onto the Timeline. Also, animations can be paused at any time, pinning layers has been made easier, playback range automatically adapts as key frames are added, and a number of other changes have been made to improve visual clarity and the overall feel of navigation, transport and editing. (MR 311 MR 317)

New Storyboarding Tools and Workflow

Thanks to the help of one of our 2020 Google Summer of Code students, Saurabh "Confifu" Kumar, Krita now has a Storyboard Docker that can be used to plan the shots and storytelling of complex shorts or films. (MR 392). This docker does not just allow you to collect and annotate scenes, but also a wide variety of export options, such as PDF and SVG. There are multiple views you can switch between..

User Interface Improvements

Our icons were last refreshed for 2.9, and over the years a few hiccups had emerged. Timothée Giet was hired to give the icon set a good scrubbing, and the UI overall had all sorts of little tweaks done by Raghavendra Kamath, Pedro Reis, Scott Petrovic, Tom Tom, Simon Repp, Paul Franz, Andrei Rudenko, Daniel (Sxnic), and Alvin Wong.

New File Formats with AVIF & WebP

This avif is a frame from Cosmos Laundromat, encoded in rec 2100 pq. Krita opens files like these as 32bit float linear images, making them ready to be used with the LUT docker.

And many more.