Converting CMYK .PSD files for use in GIMP

Though GIMP has some support for handling CMYK workflow there is one part that isn’t available and that is opening existing Adobe Photoshop files (.PSD) that use the CMYK model.

From a private book or card design point of view the one main place you’ll see these .PSD files is with online printers who provide you with only .PSD files as templates for the media sizes they print on. These files have a few or just one layer of the exact size that you have to make your material and so just happen to specify CMYK model rather than needing this.

GIMP cannot open these type of .PSD files if they use CMYK: GIMP can only open PSD files that use RGB. It will fail with the error message,

Error loading PSD file: Unsupported colour mode: CMYK

…and before you ask, no the separate+ plugin will not work here – that only has support for CMYK Tiff import and it does not alter how the existing PSD import works.

You have three to four options to help here,

a) Use the imagemagick convert program to convert the colour space to RGB and create
a PNG file. See http://www.imagemagick.org/script/convert.php

The command I use is,

convert input.psd -channel RGBA -alpha Set -colorspace rgb output.png

where input.psd is my input filename from the online printer service and output.png is the output filename I give the files.

If this is a single layer then it will create just the “output.png” whereas if it is layers then it will create layers plus one; a merged (or flattened) layer png which it names output-0.png and one file per layer called output-n.png where n is the layer from bottom to top e.g. output-1.png, output-2.png for a 2-layer image.

You may be asking why not make that a .XCF file i.e. the GIMP native format ?. Well if you try making the output a .XCF then you will probably get an error message like “Unsupported compression mode: 33535” if you try with the default compression or “Procedure ‘file-psd-load’ returned no return values” if you try without compression when you open that file in GIMP. So it doesn’t really make it a native GIMP XCF file as you can see that it still keeps the format as PSD. OK so what about .TIFF files ? Well if you try using .TIFF files (which are multiple pages) then it may work if all the pages are the same size but if one layer isn’t then GIMP will bork with “Calling error for procedure ‘gimp-image-resize’: Procedure ‘gimp-image-resize’ has been called with value ‘-2147482750’ for argument ‘new-width’ (#2, type GimpInt32). This value is out of range.” I think its safe to say that you should stay with a bunch of .PNG files.

b) Alternatively use an online web based reader that can work with CMYK mode
PSD files e.g. http://pixlr.com/editor/

c) Get a friend to open and save the file as a multiple page .TIFF or set the colour mode to RGB for a .PSD file for you.

d) Install a trial version of Photoshop. You would have 30 days or so to register so this is quite a complex process and really is a last resort.

Note that I’m only interested in opening these simple printer templates. If you have complex images from a graphics department that has created something for you in Photoshop and has sent you .PSD files then you are advised to use Photoshop if you depend upon a fidelity of the content because though GIMP handles layers in PSD files it has a few differences in any conversion process e.g. it will rasterize what should stay as a vector e.g. Text and other vector objects and it will lose layer masks and effects such as layer styles. Arguably a Photoshop user would be as equally stumped if sent a GIMP native .XCF file.

Also if the provided template actually uses colours and is trying to show you what this will look like (e.g. it is coloured stock) then unless you have setup your whole PC with the correct colour profiles (ICC files for the CMYK and process and your PC screen) then this is all going to be meaningless to you so you’re still going to have to rely on proofs to see if it looks like on paper is what you expected.