Under the Hood

Value Conversions

# "Under the Hood" of ExifTool

This page is a work in progress, and will be used to explain some of the details about how ExifTool works.

## Value Conversions

When ExifTool reads or writes the value of a tag, there are 3 separate conversions applied to each value, resulting in 4 different levels for the value of each tag. By default, users interact only with the human-readable ("PrintConv") value, but other levels are exposed through various exiftool options:

3. The "PrintConv" value is the final human-readable value which has been converted for display. Often, the "PrintConv" conversion will translate numbers into words for better readability. The `-lang` option is used to specify the language for this conversion.

2. The "ValueConv" value is a numerical value, suitable for use in calculations. Typically, this value is converted to standard units (ie. degrees, meters, or seconds) to make calculations simpler. This value is returned for all tags when the `-n` option is used, or for individual tags by suffixing the tag name with a `#` character.

1. The "Raw" value is the value after initial formatting is applied to the binary data from the file. Most tags have no separate "ValueConv" conversion, so for these tags the "Raw" value is the same as the "ValueConv" value. This value may be seen by using the `-v` option.

0. The "Binary" value is actual binary data stored in the file. This data is displayed in hexadecimal form with the `-v3` option, or by using the `-htmlDump` feature. Note that this value is not related to the `-b` (`-binary`) option, which actually returns the "ValueConv" value and is used for tags where this value can not be presented in a simple text format.

Below are some examples of these different values for a few tags:

> Tag | 3. PrintConv | 2. ValueConv | 1. Raw | 0. Binary
> --- | --- | --- | --- | ---
> Orientation | Horizontal (normal) | 1 | 1 |
>     00 01
> GPSLatitude | 45 deg 20' 11.00" | 45.3363888888889 | 45 20 11 (45/1 20/1 11/1) |
>     00 00 00 2d 00 00 00 01
>     00 00 00 14 00 00 00 01
>     00 00 00 0b 00 00 00 01
> ExposureTime | 1/30 | 0.03333333333 | 0.03333333333 (1/30) |
>     00 00 00 01 00 00 00 1e
> ShutterSpeedValue | 1/30 | 0.0333333334629176 | 4.90689059 (19868/4049) |
>     00 00 4d 9c 00 00 0f d1

Last revised Oct 10, 2009

<-- Back to ExifTool home page