EXIF
EXIF or the Exchangeable Image File Format is a standard produced by the Japan Electronics and Information Technology Industries Association. The standard specifies the formats to be used for images, sound and tags in digital still cameras and in other systems handling the image and sound files recorded by digital still cameras. The data embedded generally relates to the physical attributes of the image (e.g. width, height, whether a flash was used, camera shutter speed, F stop used, etc.) rather than attributes about the subject of the image (e.g. keywords, location, etc.). As such, EXIF metadata is closely tied to the master image as it describes the physical attributes of that image.
EXIF information is embedded in an image using the TIFF 6.0 tags specification. Each EXIF property (that is a setting value, like Flash Fired - indicating whether the flash was used) is described by two numbers. The first number, called the IFD (Image File Directory) represents the broad area within which the property resides. EXIF provides five possible IFDs:
- Primary Image IFD (Primary)
- EXIF specific IFD (Exif)
- GPS (Global Positioning System) IFD (GPS)
- Interoperability IFD (Interopability)
- Thumbnail IFD (Thumbnail)
Each IFD has its own set of numbers that represent specific attributes within that IFD; each number is known as a tag. For example, the EXIF IFD has a tag number 36867 that contains the date and time the picture was taken. By combining the IFD and the tag we get a unique identifier for a metadata value. The value 2:36867 represents the 2nd IFD (EXIF specific) with tag 36867 (date and time picture was taken). The IFD:Tag
notation is used by to specify EXIF metadata values.
The tables below describe the possible tags for each IFD. For a complete description of the values available for a given attribute, please consult the EXIF Version 2.2 standard.
Code |
Name |
Short description |
---|---|---|
254 | NewSubfileType | A general indication of the kind of data contained in this subfile. |
255 | SubfileType | A general indication of the kind of data contained in this subfile. |
256 | ImageWidth | The number of columns in the image, i.e., the number of pixels per row. |
257 | ImageLength | The number of rows of pixels in the image. |
258 | BitsPerSample | Number of bits per component. |
259 | Compression | Compression scheme used on the image data. |
262 | PhotometricInterpretation | The color space of the image data. |
263 | Threshholding | For black and white TIFF files that represent shades of gray, the technique used to convert from gray to black and white pixels. |
264 | CellWidth | The width of the dithering or halftoning matrix used to create a dithered or halftoned bilevel file. |
265 | CellLength | The length of the dithering or halftoning matrix used to create a dithered or halftoned bilevel file. |
266 | FillOrder | The logical order of bits within a byte. |
270 | ImageDescription | A string that describes the subject of the image. |
271 | Make | The scanner manufacturer. |
272 | Model | The scanner model name or number. |
273 | StripOffsets | For each strip, the byte offset of that strip. |
274 | Orientation | The orientation of the image with respect to the rows and columns. |
277 | SamplesPerPixel | The number of components per pixel. |
278 | RowsPerStrip | The number of rows per strip. |
279 | StripByteCounts | For each strip, the number of bytes in the strip after compression. |
280 | MinSampleValue | The minimum component value used. |
281 | MaxSampleValue | The maximum component value used. |
282 | XResolution | The number of pixels per ResolutionUnit in the ImageWidth direction. |
283 | YResolution | The number of pixels per ResolutionUnit in the ImageLength direction. |
284 | PlanarConfiguration | How the components of each pixel are stored. |
288 | FreeOffsets | For each string of contiguous unused bytes in a TIFF file, the byte offset of the string. |
289 | FreeByteCounts | For each string of contiguous unused bytes in a TIFF file, the number of bytes in the string. |
290 | GrayResponseUnit | The precision of the information contained in the GrayResponseCurve. |
291 | GrayResponseCurve | For grayscale data, the optical density of each possible pixel value. |
296 | ResolutionUnit | The unit of measurement for XResolution and YResolution. |
305 | Software | Name and version number of the software package(s) used to create the image. |
306 | DateTime | Date and time of image creation. |
315 | Artist | Person who created the image. |
316 | HostComputer | The computer and / or operating system in use at the time of image creation. |
320 | ColorMap | A color map for palette color images. |
338 | ExtraSamples | Description of extra components. |
33432 | Copyright | Copyright notice. |
Code |
Name |
Short description |
---|---|---|
33434 | ExposureTime | Exposure time, given in seconds. |
33437 | FNumber | The F number. |
34850 | ExposureProgram | The class of the program used by the camera to set exposure when the picture is taken. |
34852 | SpectralSensitivity | Indicates the spectral sensitivity of each channel of the camera used. |
34855 | ISOSpeedRatings | Indicates the ISO Speed and ISO Latitude of the camera or input device as specified in ISO 12232. |
34856 | OECF | Indicates the Opto-Electric Conversion Function (OECF) specified in ISO 14524. |
36864 | ExifVersion | The version of the supported Exif standard. |
36867 | DateTimeOriginal | The date and time when the original image data was generated. |
36868 | DateTimeDigitized | The date and time when the image was stored as digital data. |
37121 | ComponentsConfiguration | Specific to compressed data; specifies the channels and complements PhotometricInterpretation |
37122 | CompressedBitsPerPixel | Specific to compressed data; states the compressed bits per pixel. |
37377 | ShutterSpeedValue | Shutter speed. |
37378 | ApertureValue | The lens aperture. |
37379 | BrightnessValue | The value of brightness. |
37380 | ExposureBiasValue | The exposure bias. |
37381 | MaxApertureValue | The smallest F number of the lens. |
37382 | SubjectDistance | The distance to the subject, given in meters. |
37383 | MeteringMode | The metering mode. |
37384 | LightSource | The kind of light source. |
37385 | Flash | Indicates the status of flash when the image was shot. |
37386 | FocalLength | The actual focal length of the lens, in mm. |
37396 | SubjectArea | Indicates the location and area of the main subject in the overall scene. |
37500 | MakerNote | Manufacturer specific information. |
37510 | UserComment | Keywords or comments on the image; complements ImageDescription. |
37520 | SubsecTime | A tag used to record fractions of seconds for the DateTime tag. |
37521 | SubsecTimeOriginal | A tag used to record fractions of seconds for the DateTimeOriginal tag. |
37522 | SubsecTimeDigitized | A tag used to record fractions of seconds for the DateTimeDigitized tag. |
40960 | FlashpixVersion | The Flashpix format version supported by a FPXR file. |
40961 | ColorSpace | The color space information tag is always recorded as the color space specifier. |
40962 | PixelXDimension | Specific to compressed data; the valid width of the meaningful image. |
40963 | PixelYDimension | Specific to compressed data; the valid height of the meaningful image. |
40964 | RelatedSoundFile | Used to record the name of an audio file related to the image data. |
41483 | FlashEnergy | Indicates the strobe energy at the time the image is captured, as measured in Beam Candle Power Seconds |
41484 | SpatialFrequencyResponse | Records the camera or input device spatial frequency table and SFR values in the direction of image width, image height, and diagonal direction, as specified in ISO 12233. |
41486 | FocalPlaneXResolution | Indicates the number of pixels in the image width (X) direction per FocalPlaneResolutionUnit on the camera focal plane. |
41487 | FocalPlaneYResolution | Indicates the number of pixels in the image height (Y) direction per FocalPlaneResolutionUnit on the camera focal plane. |
41488 | FocalPlaneResolutionUnit | Indicates the unit for measuring FocalPlaneXResolution and FocalPlaneYResolution. |
41492 | SubjectLocation | Indicates the location of the main subject in the scene. |
41493 | ExposureIndex | Indicates the exposure index selected on the camera or input device at the time the image is captured. |
41495 | SensingMethod | Indicates the image sensor type on the camera or input device. |
41728 | FileSource | Indicates the image source. |
41729 | SceneType | Indicates the type of scene. |
41730 | CFAPattern | Indicates the color filter array (CFA) geometric pattern of the image sensor when a one-chip color area sensor is used. |
41985 | CustomRendered | Indicates the use of special processing on image data, such as rendering geared to output. |
41986 | ExposureMode | Indicates the exposure mode set when the image was shot. |
41987 | WhiteBalance | Indicates the white balance mode set when the image was shot. |
41988 | DigitalZoomRatio | Indicates the digital zoom ratio when the image was shot. |
41989 | FocalLengthIn35mmFilm | Indicates the equivalent focal length assuming a 35mm film camera, in mm. |
41990 | SceneCaptureType | Indicates the type of scene that was shot. |
41991 | GainControl | Indicates the degree of overall image gain adjustment. |
41992 | Contrast | Indicates the direction of contrast processing applied by the camera when the image was shot. |
41993 | Saturation | Indicates the direction of saturation processing applied by the camera when the image was shot. |
41994 | Sharpness | Indicates the direction of sharpness processing applied by the camera when the image was shot. |
41995 | DeviceSettingDescription | This tag indicates information on the picture-taking conditions of a particular camera model. |
41996 | SubjectDistanceRange | Indicates the distance to the subject. |
42016 | ImageUniqueID | Indicates an identifier assigned uniquely to each image. |
Code |
Name |
Short description |
---|---|---|
0 | GPSVersionID | Indicates the version of GPSInfoIFD. |
1 | GPSLatitudeRef | Indicates whether the latitude is north or south latitude. |
2 | GPSLatitude | Indicates the latitude. |
3 | GPSLongitudeRef | Indicates whether the longitude is east or west longitude. |
4 | GPSLongitude | Indicates the longitude. |
5 | GPSAltitudeRef | Indicates the altitude used as the reference altitude. |
6 | GPSAltitude | Indicates the altitude based on the reference in GPSAltitudeRef. |
7 | GPSTimeStamp | Indicates the time as UTC (Coordinated Universal Time). |
8 | GPSSatellites | Indicates the GPS satellites used for measurements. |
9 | GPSStatus | Indicates the status of the GPS receiver when the image is recorded. |
10 | GPSMeasureMode | Indicates the GPS measurement mode. |
11 | GPSDOP | Indicates the GPS DOP (data degree of precision). |
12 | GPSSpeedRef | Indicates the unit used to express the GPS receiver speed of movement. |
13 | GPSSpeed | Indicates the speed of GPS receiver movement. |
14 | GPSTrackRef | Indicates the reference for giving the direction of GPS receiver movement. |
15 | GPSTrack | Indicates the direction of GPS receiver movement. |
16 | GPSImgDirectionRef | Indicates the reference for giving the direction of the image when it is captured. |
17 | GPSImgDirection | Indicates the direction of the image when it was captured. |
18 | GPSMapDatum | Indicates the geodetic survey data used by the GPS receiver. |
19 | GPSDestLatitudeRef | Indicates whether the latitude of the destination point is north or south latitude. |
20 | GPSDestLatitude | Indicates the latitude of the destination point. |
21 | GPSDestLongitudeRef | Indicates whether the longitude of the destination point is east or west longitude. |
22 | GPSDestLongitude | Indicates the longitude of the destination point. |
23 | GPSDestBearingRef | Indicates the reference used for giving the bearing to the destination point. |
24 | GPSDestBearing | Indicates the bearing to the destination point. |
25 | GPSDestDistanceRef | Indicates the unit used to express the distance to the destination point. |
26 | GPSDestDistance | Indicates the distance to the destination point. |
27 | GPSProcessingMethod | A character string recording the name of the method used for location finding. |
28 | GPSAreaInformation | A character string recording the name of the GPS area. |
29 | GPSDateStamp | A character string recording date and time information relative to UTC (Coordinated Universal Time). |
30 | GPSDifferential | Indicates whether differential correction is applied to the GPS receiver. |
Code |
Name |
Short description |
---|---|---|
1 | InteroperabilityIndex | Indicates the identification of the Interoperability rule. |
The codes used by the thumbnail IFD are exactly the same as for the Primary Image IFD.