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 |
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.