How GIMP should handle EXIF data Bill Skaggs 1/2/05 This is a summary of how an image editing program is supposed to handle each of the EXIF fields, according to the EXIF specs. Note that this expresses my understanding based on a quick reading, and should not be taken as gospel. For details on the contents of each of these fields, consult the formal EXIF specifications, available from http://www.exif.org/specifications.html. (Note: according to the EXIF specs, an EXIF jpeg file must have a name that is ASCII, in 8.3 format, with extension .JPG, but of course we are not going to enforce this.) Fields that should be used to set up the GIMP image when an EXIF file is loaded, either by using them to configure the image (e.g., orientation), or by placing them in parasites that can be accessed by non-exif-aware functions. Orientation XResolution YResolution ResolutionUnit ImageDescription Artist Copyright Colorspace ComponentsConfiguration UserComment SubjectArea SubjectLocation ImageUniqueID PixelXDimension PixelYDimension Fields that should be modified by GIMP when an EXIF jpeg file is saved. A letter "M" indicates fields whose presence is mandatory according to the spec. Orientation XResolution (M) YResolution (M) ResolutionUnit (M) Software DateTime ImageDescription Artist Colorspace (M) PixelXDimension (M) PixelYDimension (M) ComponentsConfiguration (M) UserComment SubsecTime SubjectArea SubjectLocation FileSource ImageUniqueID thumbnail Compression (M) thumbnail XResolution (M) thumbnail YResolution (M) thumbnail JPEGInterchangeFormat (M) thumbnail JPEGInterchangeFormatLength (M) Fields that should be used and saved related to color management: TransferFunction WhitePoint PrimaryChromaticity YCbCrCoefficients ReferenceBlackWhite Fields that should be deleted if they exist when saving a file as jpeg, because they only apply to uncompressed (TIFF) data. This applies both to the main image and to the thumbnail, if there is one. ImageWidth ImageLength BitsPerSample Compression SamplesPerPixel PhotometricInterpretation StripOffsets PlanarConfiguration YCbCrSubSampling Any field not mentioned here should be passed through unchanged.