Bug 504241

Summary: Uncontrolled .ora file growth: no options to disable mergedimage, thumbnail, or automatic backups
Product: [Applications] krita Reporter: Thomas Berger <thomas.berger.lpz>
Component: GeneralAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED NOT A BUG    
Severity: normal CC: halla, nicholaslapointe8
Priority: NOR    
Version First Reported In: 5.2.9   
Target Milestone: ---   
Platform: Microsoft Windows   
OS: All   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Thomas Berger 2025-05-14 22:27:33 UTC
While testing Krita, I was very impressed by its use of the .ora (OpenRaster) format. It’s a strong and future-proof storage concept, based on open standards like ZIP, XML, and PNG – which is highly appreciated. Well done!

However, there are some practical issues regarding how Krita handles .ora files during saving and exporting. Specifically, several additional files are always generated automatically, even if they are not required – and there is no way for users to disable or configure this behavior.

This leads to unnecessarily high storage usage, especially in environments with frequent saves and exports.
🔍 Current behavior:

1. mergedimage.png:
This is a full rendered composite of all visible layers. It serves no visible purpose inside the .ora archive, as Krita stores all layers individually. It is rarely needed, but easily adds 1 MB or more to every save.

2. thumbnail.png:
This file is used internally by Krita (e.g. the startup screen), but is ignored by operating systems such as Windows Explorer. It is often unnecessarily large – sometimes the same resolution as the project.
Suggestion: allow users to define a maximum size/resolution for the thumbnail in the settings.

3. .ora~ and other backup files:
When saving, Krita does not overwrite the file directly. Instead, it creates a complete backup (.ora~) in the same folder – without notice or option.
Even when exporting images (e.g. .webp, .png), if a file already exists, Krita creates a backup with a ~ suffix. Again, this happens silently and cannot be turned off.
💡 Additional note:

Instead of scattering backup copies across working directories, it would make more sense to offer a central backup folder with a maximum size limit – similar to how video editors manage autosaves.
Alternatively, old versions could be moved to the system trash/recycle bin, if desired.
🚨 Real-world impact:

In shared environments (network drives, cloud sync, multiple users), a simple .ora file that originally used 1 MB may easily grow to many times that size – just by saving or exporting as usual.
With two additional automated IT backups running in the background (which is standard in many environments), storage usage escalates drastically and silently.

Kind regards,  
Thomas
Comment 1 Halla Rempt 2025-05-15 09:06:55 UTC
Sorry, but these are not bugs. The mergeimage is used by other applications to load the image, the thumbnail can be used by file managers and the backup files are an essential safeguard.
Comment 2 Thomas Berger 2025-05-19 18:38:50 UTC
Thanks for the quick reply! I understand that these files (mergedimage, thumbnail, and backups) serve a purpose, and I don’t mean to suggest they are bugs in a technical sense.

My point is rather that — from a user’s perspective — this behavior becomes problematic in environments with shared folders, automated backups, or limited storage, because **there is no way to configure or control it**.

I’m not asking to remove these features, but to make them **optional or configurable**. Specifically:

- Let users disable or limit the thumbnail size
- Allow disabling automatic export backups (like file.webp~)
- Offer centralized backup handling, e.g. in a temp folder with a size limit

This isn’t about breaking compatibility or removing safety nets — just about giving advanced users more control and preventing silent file growth.

I hope this can be reconsidered as a feature request rather than a bug.

Thanks again for all your work on Krita!
Comment 3 Nicholas LaPointe 2025-05-20 13:09:06 UTC
(In reply to Thomas Berger from comment #2)
> - Allow disabling automatic export backups (like file.webp~)
> - Offer centralized backup handling, e.g. in a temp folder with a size limit

Options are available for both of these, more or less (see https://docs.krita.org/en/user_manual/autosave.html for more information)