The majority of image editors have their own "native" image format, also called a proprietary image format, each with its own file extension. For example:
Image Editor | File Extension |
Photoshop | .psd |
GIMP | .xfc |
Krita | .kra |
Clip Studio Paint | .clip |
Paint Tool SAI | .sai |
Fire Alpaca, Medibang Paint | .mdp |
Considering that we have many common image formats, such as JPG, PNG, and so on, one may wonder why not just use JPG or PNG instead of creating your own format?
The main reason for this is that all these image editors support the concept of layers, but none of the common image formats support layers. In both JPG and PNG, there can be only one "layer," the image itself.
This means that, in general, you must save your work in the proprietary format, and then "export" as JPG or PNG, which are common formats, so that other applications like web browsers can understand the image files.
Simpler image editors that don't have layers typically don't have their own image format either, because saving to PNG would save everything that can be edited in sch editor in this case.
The mere existence of layers isn't the only reason. In some applications there are multiple types of layers. For example, Krita support "filter layers," which work like Photoshop's "adjustment layers," while other applications may not support something like this. In most applications each layer has its own name and can be renamed, but in some applications layers can also be marked with different colors. There are also different ways to handle clipping masks. Some applications let you "lock the transparency" of a layer. All of this needs to be saved somehow.
On top of that, there may be settings saved with the native image format that one application supports and others do not. Notably, in Clip Studio Paint, "guides" drawn on the canvas are saved in the image file even though they are not exported, while in Krita this doesn't happen. Meanwhile, in Krita, "reference images" are saved into the image file and aren't exported, while in CSP this doesn't happen. You can have 3D models posed in CSP. You can have SVG graphics in Krita.
The applications do not all support the same features, so their image formats need to be different to accommodate the sort of features that they have.
Importing
In some cases, one application may be able to open a native image format from another application. This is mainly the case with Photoshop. Many applications can open .psd
files, or at least they will try to open them.
Every year, Photoshop gains new features, and some of these new features will be saved into the .psd
files. But the other applications may not support something similar to what Photoshop has. So even if the applications can understand what's written in the .psd
, that doesn't mean they will be able to import it faithfully.
For example, most image editors support "blend modes" for layers, but which blend modes are supported varies across applications. Krita has a blend mode called "erase" which turns the layer into a giant eraser. GIMP doesn't have this blend mode, so even if GIMP was able to tell a .kra
file has a layer in erase mode, it wouldn't be able to import the functionality that only exists in Krita.
It was a .Zip All Along?!
A fun fact: some of these image formats are actually just zipped folders. If you take a .kra
file and change the extension to .zip
, you can actually go inside of it using File Explorer. Of course, changing anything inside of it would probably make it stop working, but it's still interesting that it's actually just a zipped folder.
Leave a Reply