Brushfactory › Formats › .kpp
What is a .kpp file?
A .kpp file is a Krita brush preset. Uniquely, it functions as a standard PNG image. Rename one to .png and most image viewers will display the preset's thumbnail.
What's inside one
A standard PNG of the preset thumbnail. The brush settings are embedded within the image data.
preset chunkA compressed PNG text chunk holding the settings as XML: the brush engine, its parameters, and one block per sensor curve.
version chunkUsually 5.0. The value matters: a preset marked 2.2 makes Krita skip its embedded resources entirely.
Tip images and patterns live inside the XML as base64 text, each with an md5 checksum, so a .kpp is self-contained. A .bundle is simply a zip of many .kpp files.
A default curve is written as no curve at all. Krita omits the <curve> element when a sensor's response is the straight 0,0–1,1 line. An absent curve therefore means linear, not unset, and reading it as missing data is how a converted brush ends up with no pressure response at all.
How to open it
Krita imports .kpp through Settings › Manage Resources…, or you can drop the file into your Krita resource folder and restart.
Converting .kpp
Out of Krita: Krita → Photoshop, Krita → Procreate, Krita → Clip Studio Paint, Krita → GIMP, Krita → MediBang.
Into Krita: Photoshop → Krita, Procreate → Krita, Clip Studio Paint → Krita, GIMP → Krita.
What survives each trip, and what does not, is set out on the fidelity report.
Common questions
The information on this page is derived directly from
Brushfactory's own format parser (brushfactory/formats/kpp.py), which was built
against the
applications' own source and against real files, not from a
specification document.