ExposureProgram is the EXIF record of the shooting mode, roughly the position of the mode dial when the shutter fired. It is a SHORT in the Exif IFD, and ExifTool translates the number into labels such as "Aperture-priority AE".
Exposure program values
| Value | ExifTool prints | Usual dial label |
|---|---|---|
| 0 | Not Defined | none |
| 1 | Manual | M |
| 2 | Program AE | P |
| 3 | Aperture-priority AE | A or Av |
| 4 | Shutter speed priority AE | S or Tv |
| 5 | Creative (Slow speed) | scene mode |
| 6 | Action (High speed) | scene mode |
| 7 | Portrait | scene mode |
| 8 | Landscape | scene mode |
| 9 | Bulb | B (not standard) |
Values 5 and 6 come from the EXIF spec's "creative program, biased toward depth of field" and "action program, biased toward fast shutter speed". Value 9 is outside the specification; ExifTool notes that some Canon models use it for Bulb.
Maker notes keep the real mode
A Canon EOS RP JPEG shot in Av mode:
$ exiftool -G1 -s -ExposureProgram -CanonExposureMode photo.jpg
[ExifIFD] ExposureProgram : Aperture-priority AE
[Canon] CanonExposureMode : Aperture-priority AE
$ exiftool -G1 -s -n -ExposureProgram -CanonExposureMode photo.jpg
[ExifIFD] ExposureProgram : 3
[Canon] CanonExposureMode : 3The two agree here, but the maker-note copy is the one to trust for anything unusual. Dial positions with no EXIF equivalent, such as Canon's Fv mode or custom C1 to C3 settings, have to be mapped onto one of the ten values, and the firmware decides which. The vendor field keeps the real mode.
Phones generally report 2 (Program AE), since there is no dial to turn. Scene modes other than Portrait and Landscape have no slot here at all; SceneCaptureType adds Night, and everything else lives only in the maker notes.
Don't confuse this tag with ExposureMode. ExposureProgram names the mode; ExposureMode only says auto, manual or bracketed, and a shot in aperture priority is "Auto" there.
Setting it by label or number
The EXIF editor shows the same ten labels in a drop-down for JPEG and TIFF files. With ExifTool, write either the label or the number:
exiftool -ExposureProgram="Shutter speed priority AE" photo.jpg
exiftool -ExposureProgram#=1 photo.jpgCanon's RAW files carry CanonExposureMode in the same maker-note structure; see the CR2 format.