How to Compress an Image in Krita, Tested

How to compress an image in Krita: export to JPEG or WebP with the right slider, use the lossless PNG compression level, and resize before you export.

By Mike Wiberg · · 13 min read

How to compress an image in Krita comes down to two levers: shrink the pixel dimensions with Scale Image To New Size, or export to a compressed format like JPEG or WebP instead of leaving it as a heavy .kra project file. Do both, in that order, and a painting that will not upload drops to a fraction of its size with no visible change.

Krita is one stop in the wider question of where you compress an image on the device in front of you. The catch is that Krita buries the two controls that matter, quality and compression, inside an export dialog most painters open once and never study. I build the browser compressor this whole site runs on and read image files at the byte level, so the numbers below are measured, and I will tell you when Krita is the wrong tool for the last step.

How to compress an image in Krita: the two levers

How to compress an image in Krita means working two levers and nothing else: the export format with its quality or compression slider, and the pixel dimensions of the canvas. Every method further down is one of those two, applied in the right order. Choose the format for your content first, set its slider, and only resize if the file is still too big.

Lever What it changes When to use it
Export format and slider Re-encodes the image; JPEG and WebP drop detail, PNG stays lossless Always, this is the main control
Pixel dimensions Fewer pixels means a smaller and permanently smaller image When format alone leaves it too big

The single most common trip-up happens before either lever: using Save instead of Export. Save writes a .kra project file, the huge working document. To get a shareable image you use File, Export As (or File, Export) and pick JPEG, PNG, or WebP (Krita Manual, Saving For The Web). If your Krita file is many megabytes and will not upload, you almost certainly saved a .kra when you meant to export.

Why are Krita's .kra files too big to share?

Because a .kra file is not a picture, it is a project. It stores every layer, every mask, every adjustment and filter, all still editable, so you can reopen it next week and change one brushstroke without repainting. A layered file with a dozen groups and a few adjustment layers can run many times the size of the same image flattened into one JPEG, because Krita is preserving the ability to un-flatten all of it later.

That is exactly what you do not need for a file you are uploading, emailing, or posting. It is also why Krita splits Save, for the working file, from Export, for a shareable one. Everything about getting a small image out of Krita starts with exporting, not saving.

Should you export as JPEG, PNG, or WebP?

Match the format to the content. JPEG suits paintings and photos with soft gradients and shading; PNG suits line art, text, flat color, and anything that needs transparency; WebP does either job and is usually the smallest, so reach for it when the destination accepts it. The format decides the file size before the slider does, which is why the top results on this topic argue about sliders and still land on bloated files.

Krita format Compression type Best for The catch
JPEG Lossy, Quality slider Paintings and photos with gradients No transparency; each re-save loses detail
PNG Lossless, Compression slider Line art, text, flat color, transparency Larger file than a JPEG that looks the same
WebP Lossy or lossless Web use, either content type, smallest size Older software may not open it

JPEG throws away detail to shrink the file, which is fine for gradients but adds visible fringing on sharp edges (Krita Manual, JPEG file format). PNG keeps every pixel exactly and supports full transparency, at the cost of a bigger file (Krita Manual, PNG file format). If you are unsure which trade you are making, the concept is worth two minutes: read lossy versus lossless compression once and the slider choices below stop feeling arbitrary.

Exporting WebP from Krita, lossy or lossless

Krita 5 exports WebP directly, and for anything headed to the web it is usually the smallest of the three formats. Choose WebP from the Export file type list and the options dialog offers a lossy mode with its own quality slider, like JPEG, and a lossless mode that behaves like PNG but produces a smaller file. Use lossy WebP for paintings and photos, and lossless WebP for flat art or logos that also need transparency, which WebP supports in both modes. WebP is typically 25 to 35 percent smaller than a JPEG of the same visual quality, so it is the honest default whenever you know the person opening the file has a current browser or image viewer.

How do you export a smaller JPEG from Krita?

Use File, Export, not Save, choose the JPEG file type, name the file, and click Save; the JPEG options dialog then opens with a Quality slider. Set it to 80 through 90 for a strong balance of size and quality, then click OK. Pushing the slider toward 100 adds almost no visible quality and inflates the file for nothing, the same diminishing return the compressor on this site is built around at its default quality of 80.

The Krita export settings that actually change file size

Two Krita export settings move the number: Quality and, on PNG, Compression. On JPEG, Quality is the whole game, and 85 is a safe default for a finished painting. Once the image is a JPEG or WebP, you can push it smaller still by running it through the free browser compressor at quality 80, which performs the same lossy re-encode Krita's slider does, on an already flattened file, and strips the EXIF metadata (the hidden camera and edit data baked into the file) at the same time.

One thing to settle before you export: JPEG has no transparency channel. Any transparent area on the Krita canvas fills with a solid background color, usually white, so JPEG only makes sense for an image meant to be fully opaque. To keep transparency, you need PNG or WebP.

How do you export a smaller PNG from Krita?

Choose PNG from the Export file type list, and in the PNG options set the Compression slider high for a smaller file. This is where the most common Krita misunderstanding lives, so it is worth being exact about what that slider does.

What the Krita png compression level really does

The Krita png compression level slider runs 1 to 9 and is not a quality control. PNG is lossless at every setting, so level 9 looks pixel for pixel identical to level 1; the only difference is a smaller file and a longer save (Krita Artists, where is the image Compression setting). Set it to 9 whenever file size matters and you can spare a second or two on export. It never touches your image.

For transparency, tick Store alpha channel (transparency) in the same dialog before saving. And for a flat illustration or an icon with only a handful of colors, choose Save as indexed PNG, if possible, which stores a small color palette instead of the full range and shrinks the file further.

How do you reduce image size in Krita before exporting?

When the format is right and the export is still too big, the pixel dimensions are the reason, not the slider. The fastest way to reduce file size in Krita at that point is to cut the dimensions in three steps. Flatten the image first with Layer, Flatten Image (Ctrl+Shift+E) so the change applies to one merged layer. Convert the color space with Image, Convert Image Color Space to RGB, 8-bit, sRGB, which is what browsers and upload forms expect. Then resize with Image, Scale Image To New Size (Ctrl+Alt+I), keeping width and height linked (Krita Manual, Saving For The Web).

To reduce image size in Krita for the web, aim for both sides under roughly 1200 pixels. A shortcut to the same place: set the Print Size resolution to 72 dpi in that dialog and the pixel dimensions fall in line on their own. Halving both dimensions cuts the pixel count, and the file, to about a quarter before the format slider does any work at all. As a concrete example, a 4000 by 3000 pixel canvas holds 12 million pixels; scaled to 2000 by 1500 it holds 3 million, a quarter as many, and the exported file shrinks in roughly the same proportion before you have touched the quality slider.

How do you hit a target size like 5 MB or 200 KB?

Krita has no target-size box, so you get under a specific cap in two moves: pick the smallest sensible format, then trim quality or dimensions until the export lands below the limit. It is trial and error inside Krita, which is why nobody who needs an exact number stops there. The reliable finish is to export once, cleanly, and hand the file to a compressor where you can lower the quality until it drops under the cap.

Your cap Fastest route in Krita Cleaner finish
Under 5 MB Export WebP or JPEG at quality 85 One compressor pass at quality 80
Under 1 MB JPEG quality 80, resize under 1600 px Compressor at quality 70 to 80
Strict KB limit Guesswork on the slider Lower quality until under the cap

Strict limits, the ones that reject the file at 205 KB when the cap is 200, are their own headache; if that is your case, see how to hit exact passport and visa photo limits, which uses the same finishing step. Here is what that finish looks like on a real file. The site's own demo image, a 497 KB JPEG, comes back as a 214 KB WebP at quality 80, which is 56.9 percent smaller, with no change you can see at normal zoom.

Same file, quality 80 Size Change
Original JPEG 497 KB baseline
WebP, quality 80 214 KB 56.9 percent smaller
A Krita-style export, one pass at quality 80 same source file, output size by format Original JPEG 497 KB WebP q80 214 KB Measured with imagecompressor.tools. Bar length proportional to bytes.

When is Krita the wrong tool for compressing an image?

When you need an exact output size, or you have a batch of files to get through, Krita is the wrong last step. Its export dialog has no target-size field and no batch mode, so hitting an upload cap means nudging a slider, exporting, checking the size, and repeating. That is fine for one image and tedious for twenty.

Krita is also the wrong tool when the file is already a JPEG or PNG that only needs to be smaller. Reopening it in Krita and re-exporting as JPEG runs a second lossy pass and loses detail for no reason. In both cases the cleaner move is to export once from Krita at good quality, then compress that file in a dedicated tool where you can lower the quality to fit a size cap and handle a whole batch at once. Use Krita for the art, and something built for file size for the file size.

Common mistakes when exporting from Krita

Reading the PNG Compression slider as a quality dial is the most common mistake: it changes file size and save time only, never the pixels. Re-editing and re-exporting the same JPEG is next, because each lossy save discards a little more real detail, permanently, so keep the .kra as your master and export a fresh JPEG each time (Krita Manual, JPEG file format).

Expecting a JPEG to keep a transparent background is the third; it cannot, and Krita quietly fills the area with a solid color. Pushing JPEG Quality to 100 on a painting that already looks fine at 85 is the fourth, all file size and no visible gain. Picking JPEG for line art or lettering is the fifth, since sharp edges pick up artifacts a lossless PNG would never show. If you would rather run these same two levers in Adobe's tool, compressing an image in Photoshop uses the same quality and format choices in an Export As dialog.

Questions

How do you reduce image size in Krita?

Two ways, often together. Export to a compressed format (File, Export, then JPEG or WebP with the Quality slider around 80 to 90), and if it is still too big, resize the canvas with Image, Scale Image To New Size (Ctrl+Alt+I) to fewer pixels. Format handles most of the reduction; resizing handles the rest.

Is Krita's PNG Compression slider a quality setting?

No. PNG is lossless at every level from 1 to 9, so the image looks identical at any setting. The slider only trades file size against how long the export takes: a higher number gives a smaller file and a slightly slower save, with zero change to the actual pixels.

Why does my exported JPEG look worse than it did in Krita?

JPEG is lossy, so every export throws away some detail to shrink the file, and re-exporting the same JPEG compounds that loss each time. Keep your layered `.kra` as the untouched master and export a fresh JPEG from it whenever you need one, rather than re-saving an existing export.

Can a PNG exported from Krita have a transparent background?

Yes, if you tick Store alpha channel (transparency) in the PNG export dialog before saving; it is not on by default. JPEG cannot store transparency at all, so any image that needs a see-through background, a logo or an icon, has to leave Krita as a PNG or WebP.

How do I compress an image down in size after exporting?

Export it once from Krita as a JPEG or WebP, then drop that file into a browser compressor at quality 80. It runs the same lossy re-encode on an already flattened, color-managed image, and you can lower the quality until the output fits your size cap, which Krita's own dialog will not do for you. Krita's Export dialog covers format, slider, and resizing in one place, which is enough for most images. When the export is still bigger than an upload form or an email will take, [drop it into the compressor and let quality 80 finish the job](/).