How to Compress an Image in Krita: File Size, Export Settings, and What Actually Changes
Krita is primarily a painting and illustration tool, but it handles image export with more nuance than most users realize. Compressing an image in Krita isn't a single button — it's a set of decisions made at export time that affect file size, visual quality, and compatibility. Understanding what each setting does helps you make informed choices rather than guessing.
What "Compression" Actually Means in Krita
When people say they want to compress an image, they usually mean one of two things: reducing the file size without visibly degrading the image, or reducing the pixel dimensions to make the file smaller overall. Krita supports both, but through different workflows.
Krita works with lossless native files (.kra format) internally, which preserve every layer, brush stroke, and edit. These files are large by design. Compression for sharing or web use happens during export, when you flatten and convert the image to a format like JPEG, PNG, or WebP.
Exporting with Compression: The Core Method
To compress an image in Krita, use File → Export As (not "Save As," which keeps the .kra format). This opens the export dialog where format-specific compression options appear.
JPEG Export — Lossy Compression
JPEG is the most common choice for reducing file size aggressively. When you export as JPEG, Krita presents a quality slider, typically ranging from 0 to 100.
- Quality 80–90: Good balance of visual quality and file size reduction. Suitable for most web use.
- Quality 50–70: Noticeable compression artifacts, but significantly smaller files. Acceptable for thumbnails or low-bandwidth contexts.
- Quality below 50: Visible degradation — blocky artifacts, color banding. Rarely appropriate for finished work.
JPEG does not support transparency. If your image has transparent areas, they'll be filled with a background color (usually white) on export.
PNG Export — Lossless Compression
PNG uses lossless compression, meaning no image data is discarded. The file size reduction comes from efficient data encoding, not quality loss.
Krita's PNG export dialog includes a compression level setting (typically 1–9). This controls how hard the encoder works to reduce file size:
- Lower levels (1–3): Faster export, slightly larger files.
- Higher levels (7–9): Slower export, smaller files — but the difference is often modest.
PNG files are generally larger than JPEGs for photographic content but are the right choice for artwork with sharp edges, flat colors, transparency, or when you need pixel-perfect fidelity.
WebP Export — Modern Flexible Compression 🗜️
Krita supports WebP export, which offers both lossy and lossless modes. WebP lossy files are typically smaller than equivalent-quality JPEGs, while WebP lossless files are often smaller than equivalent PNGs. The export dialog lets you toggle between modes and set quality levels similar to JPEG.
WebP has excellent browser support but may not be accepted by all platforms, print services, or older software.
Reducing Pixel Dimensions Before Export
File size is directly tied to resolution. A 4000×3000 pixel image at JPEG quality 80 will still be larger than a 1200×900 image at the same quality. If your target use case doesn't require high resolution, scaling down the canvas before export is one of the most effective compression strategies.
In Krita: Image → Scale Image to New Size. You can specify new dimensions in pixels, percentage, or physical units, and choose a resampling method:
| Resampling Method | Best For |
|---|---|
| Bicubic | General downscaling, smooth gradients |
| Lanczos3 | High-quality downscaling, fine detail |
| Bilinear | Fast, acceptable for web thumbnails |
| Box | Pixel art, hard-edge graphics |
Scale down on a duplicate file or use Export As to preserve the original at full resolution.
Bit Depth and Color Mode: Less-Obvious File Size Factors
Krita supports 8-bit, 16-bit, and 32-bit color modes. Higher bit depth means more data per pixel — and larger files, even at the same export quality.
If your image was painted in 16-bit for color accuracy during editing, consider converting to 8-bit before export for web use: Image → Convert Image Color Space. Most screens display 8-bit color, and most web formats don't benefit from higher bit depth in the final file.
Similarly, RGB color mode is standard for digital output. If you're exporting for print and your workflow used CMYK, that affects both file size and how colors render on screen.
Variables That Determine Your Results 🎨
The "right" compression approach depends on factors that vary by user:
- Intended output: Web images tolerate more JPEG compression than images going to print or professional portfolios.
- Image content: Photographs compress well with JPEG. Line art, flat colors, and illustrations with transparency compress better with PNG or lossless WebP.
- Original canvas size: High-DPI illustrations at 300+ PPI generate much larger exports than screen-resolution work.
- Platform requirements: Some platforms have strict format rules (e.g., PNG only for certain app stores, specific dimension caps for social media).
- Workflow preferences: Artists who frequently re-export may prefer setting up export presets; those doing one-off exports may adjust manually each time.
Batch Export for Multiple Files
If you're working with multiple images or layers, Krita's File → Export Layers option lets you export each layer as a separate file with compression settings applied consistently. This is useful for game assets, UI elements, or sprite sheets where file size per asset matters.
The right compression settings in Krita ultimately come down to what your specific image contains, where it's going, and how much quality you're willing to trade for a smaller file — and that calculation looks different for every project and workflow.