Big Bubbles (no troubles)

What sucks, who sucks and you suck

Converting Photoshop Curves to the GIMP

Too much time on my hands? Here’s a quick and dirty Perl script called acv2gimp that converts a Photoshop curves action file (.acv) to a GIMP curves file. Just run it on the ACV file and redirect stdout to a new file, which should then be put in your .gimp-2.*/curves/ directory. E.g.:

$ acv2gimp FancyCurve.acv > ~/.gimp-2.2/curves/FancyCurve

The file format was taken from this PS6 file format specifications document. There are some caveats:

  • Photoshop can have up to sixteen channels, with a curve for each. However, most ACV files seem to contain only five curves for the K, R, G, B and Alpha channels, and GIMP curves files appear to match this.
  • Photoshop allows up to 19 points on a curve (v3.0 - may be more in later versions?), whereas the GIMP only allows 17 points. My script outputs all the points (with a warning), but I have no idea what the GIMP will do with the extra data; it may crash. You can hand-edit the output and delete some of the points if this is a problem.

Update: Thanks to Ron Hickson for discovering a rather foolish bug: the script does not handle platform endianness variations. Fixed now, download again if you tried it previously.