Exif
Exchangeable image file format is a standard that specifies formats for images, sound, and ancillary tags used by digital cameras, scanners and other systems handling image and sound files recorded by digital cameras. The specification uses the following existing encoding formats with the addition of specific metadata tags: JPEG lossy coding for compressed image files, TIFF Rev. 6.0 for uncompressed image files, and RIFF WAV for audio files. It does not support JPEG 2000 or GIF encoded images.
This standard consists of the Exif image file specification and the Exif audio file specification.
Background
Exif is supported by almost all digital camera manufacturers.The metadata tags defined in the Exif standard cover a broad spectrum:
- Camera settings: This includes static information such as the camera model and make, and information that varies with each image such as orientation, aperture, shutter speed, focal length, metering mode, and ISO speed information
- Image metrics: Pixel dimensions, resolution, colorspace, and filesize
- Date and time information, digital cameras will record the current date and time set on the device and save this in the metadata
- Location information
- A thumbnail for previewing the picture on the camera's LCD screen, in file managers, or in photo manipulation software
- Descriptions
- Copyright information
Version history
| Version | Release date | Changes |
| 1.0 | October 1995 | Established basic tag definitions |
| 1.1 | May 1997 | Added tags and operating specifications |
| 2.0 | November 1997 | Added sRGB color space, GPS and compressed thumbnails |
| 2.1 | December 1998 | Added DCF interoperability tags |
| 2.2 | April 2002 | Applied ExifPrint |
| 2.21 | September 2003 | Corrections and some additions |
| 2.21 | September 2009 | More corrections |
| 2.3 | April 2010 | Added revised ISO tags and lens information |
| 2.3 | December 2012 | Corrections |
| 2.31 | July 2016 | Added time zone tags and shooting situation tags |
| 2.32 | May 2019 | Added composite image tags |
| 3.0 | May 2023 | Added UTF-8 data type |
| 3.0 | December 2024 | Changed GPSAltitudeRef definition |
Technical
The Exif tag structure is borrowed from TIFF files. On several image specific properties, there is a large overlap between the tags defined in the TIFF, Exif, TIFF/EP, and DCF standards. For descriptive metadata, there is an overlap between Exif, IPTC Information Interchange Model and XMP info, which also can be embedded in a JPEG file. The Metadata Working Group has guidelines on mapping tags between these standards.When Exif is employed for JPEG files, the Exif data are stored in one of JPEG's defined utility Application Segments, the APP1, which in effect holds an entire TIFF file within. When Exif is employed in TIFF files, the TIFF Private Tag 0x8769 defines a sub-Image File Directory that holds the Exif specified TIFF Tags. In addition, Exif also defines a Global Positioning System sub-IFD using the TIFF Private Tag 0x8825, holding location information, and an "Interoperability IFD" specified within the Exif sub-IFD, using the Exif tag 0xA005.
Formats specified in Exif standard are defined as folder structures that are based on Exif-JPEG and recording formats for memory. When these formats are used as Exif/DCF files together with the DCF specification, their scope shall cover devices, recording media, and application software that handle them.
Geolocation
The Exif format has standard tags for location information., many cameras and mobile phones have a built-in GPS receiver that stores the location information in the Exif header when a picture is taken. Some other cameras have a separate GPS receiver that fits into the flash connector or hot shoe. Recorded GPS data can also be added to any digital photograph on a computer, either by correlating the time stamps of the photographs with a GPS record from a hand-held GPS receiver or manually by using a map or mapping software. Some cameras can be paired with cellphones to provide the geolocation. The process of adding geographic information to a photograph is known as geotagging. Photo-sharing communities like Panoramio, locr or Flickr equally allow their users to upload geocoded pictures or to add geolocation information online.Program support
Exif data are embedded within the image file itself. While many recent image manipulation programs recognize and preserve Exif data when writing to a modified image, this is not the case for most older programs. Many image gallery programs also recognise Exif data and optionally display it alongside the images.Software libraries, such as libexif for C and Adobe XMP Toolkit or Exiv2 for C++, Metadata Extractor for Java, PIL/Pillow for Python, LEADTOOLS or ExifTool for Perl, parse Exif data from files and read/write Exif tag values.
Problems
Technical
The Exif format has a number of drawbacks, mostly relating to its use of legacy file structures.- The derivation of Exif from the TIFF file structure using offset pointers in the files means that data can be spread anywhere within a file, which means that software is likely to corrupt any pointers or corresponding data that it does not decode/encode. For this reason most image editors damage or remove the Exif metadata to some extent upon saving.
- The standard defines a MakerNote tag, which allows camera manufacturers to place any custom format metadata in the file. This is used increasingly by camera manufacturers to store camera settings not listed in the Exif standard, such as shooting modes, post-processing settings, serial number, focusing modes, etc. As the tag contents are proprietary and manufacturer-specific, it can be difficult to retrieve this information from an image or to properly preserve it when rewriting an image. Manufacturers can encrypt portions of the information; for example, some Nikon cameras encrypt the detailed lens data in the MakerNote data.
- Exif is very often used in images created by scanners, but the standard makes no provisions for any scanner-specific information.
- Photo manipulation software sometimes fails to update the embedded thumbnail after an editing operation, possibly causing the user to inadvertently publish compromising information. For example, someone might blank out a licence registration plate of a car, only to have the thumbnail not so updated, meaning the information is still visible.
- Exif metadata are restricted in size to 64 kB in JPEG images because according to the specification this information must be contained within a single JPEG APP1 segment. Although the [|FlashPix extensions] allow information to span multiple JPEG APP2 segments, these extensions are not commonly used. This has prompted some camera manufacturers to develop non-standard techniques for storing the large preview images used by some digital cameras for LCD review. These non-standard extensions are commonly lost if a user re-saves the image using image editor software, possibly rendering the image incompatible with the original camera that created it.
- Prior to version 2.31 there was no way to record time zone information for an image, resulting in ambiguity. For example, a camera might record the "DateTimeOriginal" value using its local time zone, but a program reading the file later could mistakenly interpret that time as UTC.
- There is no standard field to record readouts of a camera's accelerometers or inertial navigation system. Such data could help to establish the relationship between the image sensor's XYZ coordinate system and the gravity vector. It could also establish relative camera positions or orientations in a sequence of photos. Some software records this information using the GPSImgDirection tag along with custom GPSPitch and GPSRoll tags.
- The XResolution and YResolution tags provide the number of pixels per length unit for the width and height of the image, respectively. By default, these tags in combination are set to 72 pixels per inch. These tags were inherited from the TIFF 6.0 standard and are required even though for images produced by digital cameras, image resolution values such as ppi are meaningless.
Privacy and security
In December 2012, anti-virus businessman John McAfee was arrested in Guatemala while fleeing from alleged persecution in neighboring Belize. Vice magazine had published an exclusive interview on their website with McAfee "on the run" that included a photo of McAfee with a Vice reporter taken with a phone that had geotagged the image. The photo's metadata included GPS coordinates locating McAfee in Guatemala, and he was captured two days later. McAfee later claimed to have edited the Exif data from his phone to provide a false location.
According to documents leaked by Edward Snowden, the NSA is targeting Exif information under the XKeyscore program.
The privacy problem of Exif data can be avoided by removing the Exif data using a metadata removal tool.