Skip to content

Krita 4.0 Release Notes

Previous Post | Friday, 21 July 2017 | Reading time: 20 minutes | Next Post

With a complete rewrite of the vector layer file format, the addition of Python scripting, a new text tool and much more, Krita 4.0 is one of the biggest releases ever. There is so much to explore and enjoy! As a team, we're happy and proud to have reached this milestone and we're looking forward to build on Krita 4 for many releases to come!

Before we begin telling you about all the new and improved things, take a moment to read this warning:

Krita 4 has a new file format for vector and text objects. Krita 4 tries to import Krita 3 and older files. Krita 3 and older will not be able to read vector and text objects saved by Krita 4. Because the new file format and the old file format are not 100% compatible, images with vector and text objects might look different in Krita 4. We recommend:

Note that on all platforms it is possible to keep Krita 3 and Krita 4 running side by side. On Windows, use the zip archive downloads, on Linux the appimages and on OSX the disk images, dragged to some other place than Applications. Krita 4 and Krita 3 share settings and resources.

For 4.0, Tyson Tan has again created an awesome Kiki image. The Chinese plum blossoms symbolise overcoming hardship, so it's a very apposite image for the first major release of Krita after 2017's tribulations!

Video by Owly Owlet

SVG Format for Vector Tools

Krita 3.0 used the OpenDocument Graphics format (ODG) for vector shapes and paths. This was originally an office document file format and not a format designed for artistic work. ODG does not work well with other applications like Inkscape. We rebuilt our vector tools from the ground up in Krita to use SVG. SVG is a W3C standard that can be opened by many different programs. This is going to allow for more possibilities in the future with working with other applications. Currently, Krita supports most of the SVG 1.1 standard. In the future, SVG 2 will also be supported.

In addition to converting the back-end to SVG we also added the following features:

Vector Tools UX Improvements

We did more than just update the technology. We also spent a lot of time researching the workflow for vector artists and made an improved user experience for how the tools work. Scott Petrovic lead the discussion with artists and determined how the tools would look and operate.

One caveat is that we didn't have time to finish the pattern fill and SVG Filters features. We are working on that, though, and hope to have those features ready for Krita 4.1.

See the manual for more information on these changes Shape Selection Tool Documentation, Edit Shapes Tool Documentation

New Text Tool

One of the improvements funded by the 2016 kickstarter was a new text tool. With the goal of creating a tool that would be stable, dependable and simple to use, we made a lot of progress in Krita 4.0. External pressure made it impossible to implement everything we wanted for Krita 4.0, and we will be making more updates and adding new things to the text tool as the 4.x releases progress: line wrapping, fine typographic control, vertical text layout for Asian languages, as well as improvements in workflow are all still planned.

Check what is possible in the manual for the text tool.

Some of the changes and things you can do with the new text tools

Python Scripting

The BIG stretch goal of last year's Kickstarter! You can now create scripts that create and manipulate images, add dockers and entries to the menu and much more. Note that this is the first release of Krita with scripting, so we're expecting lots of feedback from you all on what can be done with scripting and what not, and which part of the API works, and which part doesn't.

We also are including a large amount of scripts so you can see how it works for examples. In Krita's settings dialog, you can enable or disable Python plugins and check out the script's manual. Krita will need to be restarted for the python scripts to show up or be disabled.

Read this in-depth overview of python scripting and the Krita Python API documentation!

Python Plugin Manager

Manage which python scripts are active. Located via Settings->Configure Krita->Python Plugin Manager. Activated plugins can be accessed via the tools->scripts.

Note that on Windows 7 and 8 you need to install the Universal C Runtime separately. See the manual.

We've taken several wishes from our forums and community and turned them into python scripts. Hopefully with these samples you can see the types of things you can accomplish with Python scripting. Creating these plugins also allowed us to test our own API. Let's take a look at some of them...

Included Scripts Highlights

Ten Brushes - Assign specific brush presets to shortcuts. You can do this with dragging and dropping the preset into the shortcut slots. Of course you can open the script up and modify how this works to your heart's desire!

Internal Scripting Console - Run scripts while you are in Krita. Important for when you are testing things, or for when you just want to write a small script. The python editor is equipped with syntax-hightlighting and a small debugger to tell you when your code does not make sense. Created by Eliakin Almeida during his 2017 Summer fo Code project.

Quick Settings Docker - Quickly change between brush sizes, opacity, and flow values... If you've used some other applications, this'll be familiar to you. Once enabled can be found from Settings > Dockers. Coded by Wolthera.

Comic Project Management Tools - A robust plugin used for managing multiple pages for a comic project that Wolthera created. It is a great example for how to handle common tasks in pipeline scripts: opening, saving, cropping, scaling and batch changes. It even has custom exporting formats such as CBZ, EPUB, and ACBF. And the python files are abundantly documented to help you along the way and create your own pipelines!

Colorize Mask Tool

Simplify coloring intricate line art such as comic art. With the new colorize mask layer, you can fill a line art with a few quick strokes...and have Krita figure out how to fill it in. The normal flow is to make your line art, switch to the Colorize Mask tool in the toolbox, then make some quick strokes in the area.

Press the Update button in the layers toolbox. The layer should update and fill everything in. You can either convert this later to a paint layer, or break it apart into color groups. See how it works in more detail from the manual: Colorize Mask documentation.

Background Saving

No more freezing while you wait while Krita auto-saves every 15 minutes. Not only do we have a background worker for saving documents, but also when exporting animations. This allows you to export a large animation then keep working while Krita keeps exporting the animation in the background. And exporting animations has been made faster by fully using all the cores on your CPU to calculate fames, too!

New KPL Color Palette Format & Improved Palette Docker

The palette docker in Krita 3 can only handle 8bit sRGB. Our existing GPL color palette format was designed in a time when anything more seemed like decadence. We've taken the plunge and designed a new color palette file format. The KPL fileformat can store any color that Krita can handle. This new file format also allows you to group colors! The file format is made up of a ZIP file with an xml inside. (We are nothing if not consistent!)

The palette docker has also been improved with the following things:

Brush Editor Editor Improvements and Live Preview

We revamped the brush preset editor significantly to make it easier to use and understand. The brush editor has as preview area for you to see a live update as you are changing settings. This should make creating and editing brushes easier than only using the scratchpad. Note: There are a couple brush engines that do not have a preview because of technical limitations (shape and quick).

Performance Improvements with Multithreaded brushes

We are always trying to improve Krita's performance in every area. Last year's big performance project was multi-threading the pixel brush engine. Krita is now smart enough to let each of your computer cores calculate the dabs separately, and also have them work together. You can decide how many cores Krita will try to use for this in the performance settings! These changes only affect the pixel brush engine for now, but we can later expand this out to other engines like the color smudge.

Speaking of performance improvements, all brushes now have an "Instant Preview threshold" property. This probably sounds confusing, but this speeds up a lot of smaller brushes where Instant Preview didn't have any performance improvement. Instant Preview will automatically turn on when a brush's size gets big enough. You can right click the "Instant Preview" checkbox in the bottom of the brush settings to change this.

The work on multi-threaded brushes was sponsored by Intel.

Larger Brush Sizes

In Krita 3, there is a 1,000px brush size limit. In Krita 4, you can lift that limit through the configuration and make it go up to 10,000px! This change requires a restart to take effect. Be careful with the big sizes, as a 10,000 pixel brush is about as heavy as copy-pasting an image of 10kx10k at the bitdepth of the image you are painting on. Make sure your computer can handle that!

Masked Brushes

Add a mask to your brush tip to create even a greater variety of brushes. This started out as a Kickstarter stretch goal named 'stacked brushes'. Masked brush allows you to select a second brush tip, and define size, rotation, mirroring, scatter, and other properties to decide how it should blend with the main brush. You can also assign blending modes to your mask. The example here is using the Screen blending mode to create a watercolor appearance. See the manual for more information!

Updated Brush Presets

We have updated our brush presets after feedback from a lot of artists. We have spent time trying to improve performance and add a greater variety of brush presets. Some of the new presets show off what the new masked brush properties can achieve like the watercolor brushes. Thanks goes out to David Revoy, Ramon Miranda, Wolthera, Pablo Cazorla, Rad, Scott Petrovic, and Razvan for their contributions. Also for all the people that took our brush presets survey and gave us ideas to make them even better. The final brush preset collection has been curated by David Revoy, whose brush kit was used by more than two-thirds of respondents to the survey.

Krita 3's brushes bundle can be enabled in the resource manager dialog.

Pixel grid

Andrew Kamakin added this cool new feature: you can now see a pixel grid when you zoom in past 800% (the zoom percentage and color are configurable). Great for precision art where it is hard to tell where pixels start and end.

The zoom percentage and color can be conigured in the Settings area.

Isometric grids

Specify the angles and spacing for each axis to help with your isometric artwork. The grid area has an option for either Rectangular or Isometric grid options. There are also a few options for how they will display like color and style. This option is located in the grid docker.

Improvements to the pop-up palette

We have made a few changes to the pop-up palette after feedback

Painting Assistant Improvements

We have made the assistants much easier to use

Filter Improvements

New and updated filters

Resize thumbnails in presets docker and show brush size

Easily resize your brush presets by the new slider. You can also quickly see a brush presets size to the right of a thumbnail now when you are in details mode

Improved Warnings when Saving without layers

Often people will save their work to an unsuitable file format, losing layers (when you save as a png image) precision and layers (when saving as a jpg image) or more esoteric features like channel depth or vector objects. For Krita 4. we implemented a warning system that will inform you which features are present in the document but cannot be saved to the chosen file format. To be extra safe, the dialog also allows you to save a simultaneous copy as a native KRA file as well.

New Darker Theme

Just in case you wanted Krita even darker

Bug fixes/changes


Top Contributors

Since 3.0 was released we have had a lot of people helping out making Krita better. Here is a list of the top 10 contributors for Krita for 4.0. Information taken from github during the period from June 2016 through March 2018 sorted by commit count.

#1 Boudewjin Rempt (IRC: boud)

#2 Dmitry Kazakov (IRC: dmitryK)

**#3 Wolthera van Hövell tot Westerflier ** (IRC: wolthera)

★ Volunteer

#4 Scott Petrovic (IRC: scottyp2)

★ Volunteer

#5 Alvin Wong (IRC: windragon)

★ Volunteer

#6 Frederic Gladhorn (IRC: fregl)

★ Volunteer

Did a flurry of pointer fixes to improve memory management

#7 Timothee Giet (IRC: animtim)

★ Volunteer

#8 Allen Marshall

★ Volunteer

contributed a new airbrush algorithm to give much better results

#9 Eliakin Costa (IRC: eliakincosta)

★ Volunteer

#10 David Revoy (IRC: deevad) Merged his brush presets into 4.0 and polished the existing set

Artwork Made with Krita


Elena Pollastri


Jeremy Fries

johan jaccob

Dorota Krzyżosiak


Gelpat Lucas

Tomas Marek

Matteo Pescarin

Mauricio Hunt

Noitibmar Tibbs

Rakesh Chakraborty

Shannen McMorrighan

Ramskulls Art

Răzvan Rădulescu

Rositsa 'roz' Zaharieva

runend artworks

Sylvia Ritter

Toby Willsmer

David Revoy