Exif


Exchangeable image file format is a standard that specifies the 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 file formats with the addition of specific metadata tags: JPEG discrete cosine transform for compressed image files, TIFF Rev. 6.0 for uncompressed image files, and RIFF WAV for audio files. It is not used in JPEG 2000 or GIF.
This standard consists of the Exif image file specification and the Exif audio file specification.

Background

The Japan Electronic Industries Development Association produced the initial definition of Exif. Version 2.1 of the specification is dated 12 June 1998. JEITA established Exif version 2.2, dated 20 February 2002 and released in April 2002. Version 2.21 is dated 11 July 2003, but was released in September 2003 following the release of DCF 2.0. The latest version 2.3 was released on 26 April 2010, and revised to 2.31 on July 2013 and revised to 2.32 on 17 May 2019, was jointly formulated by JEITA and CIPA. Exif is supported by almost all camera manufacturers.
The metadata tags defined in the Exif standard cover a broad spectrum:
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. 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 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.
Since the Exif tag contains metadata about the photo, it can pose a privacy problem. For example, a photo taken with a GPS-enabled camera can reveal the exact location and time it was taken, and the unique ID number of the device - this is all done by default - often without the user's knowledge. Many users may be unaware that their photos are tagged by default in this manner, or that specialist software may be required to remove the Exif tag before publishing. For example, a whistleblower, journalist or political dissident relying on the protection of anonymity to allow them to report malfeasance by a corporate entity, criminal, or government may therefore find their safety compromised by this default data collection.
In December 2012, anti-virus businessman John McAfee was arrested in Guatemala while fleeing from alleged persecution in Belize, which shares a border. 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.

Related standards

was formed by a consortium of companies in 2006 or 2007. Version 2.0 of the specification was released in November 2010, giving recommendations concerning the use of Exif, IPTC and XMP metadata in images.
Extensible Metadata Platform is an ISO standard, originally created by Adobe Systems Inc., for the creation, processing and interchange of standardized and custom metadata for digital documents and data sets. IPTC was developed in the early 1990s by the International Press Telecommunications Council to expedite the international exchange of news among newspapers and news agencies.

Example

The following table shows Exif data for a photo made with a typical digital camera. Notice that authorship and copyright information is generally not provided in the camera's output, so it must be filled in during later stages of processing. Some programs, such as Canon's Digital Photo Professional, allow the name of the owner to be added to the camera itself.
TagValue
ManufacturerCASIO
ModelQV-4000
Orientation top-left
SoftwareVer1.01
Date and time2003:08:11 16:45:32
YCbCr positioningcentered
CompressionJPEG compression
X resolution72.00
Y resolution72.00
Resolution unitInch
Exposure time1/659 s
F-numberf/4.0
Exposure programNormal program
Exif versionExif version 2.1
Date and time 2003:08:11 16:45:32
Date and time 2003:08:11 16:45:32
Components configurationY Cb Cr –
Compressed bits per pixel4.01
Exposure bias0.0
Max. aperture value2.00
Metering modePattern
FlashFlash did not fire
Focal length20.1 mm
MakerNote432 bytes unknown data
FlashPix versionFlashPix version 1.0
Color spacesRGB
Pixel X dimension2240
Pixel Y dimension1680
File sourceDSC
Interoperability indexR98
Interoperability version

FlashPix extensions

The Exif specification also includes a description of FPXR information, which may be stored in APP2 of JPEG images using a structure similar to that of a FlashPix file. These FlashPix extensions allow meta-information to be preserved when converting between FPXR JPEG images and FlashPix images. FPXR information may be found in images from some models of digital cameras by Kodak and Hewlett-Packard. Below is an example of the FPXR information found in a JPEG image from a Kodak EasyShare V570 digital camera:
TagValue
Code page1200
Used extension numbers1
Extension nameScreen nail
Extension class ID10000230-6FC0-11D0-BD01-00609719A180
Extension persistenceInvalidated by modification
Extension create date2003:03:29 17:47:50
Extension modify date2003:03:29 17:47:50
Creating applicationPicoss
Extension descriptionPresized image for LCD
Storage-stream pathname/.Screen Nail_bd0100609719a180
Screen nail

Exif audio files

The Exif specification describes the RIFF file format used for WAV audio files and defines a number of tags for storing meta-information such as artist, copyright, creation date, and more in these files. The following table gives an example of Exif information found in a WAV file written by the Pentax Optio WP digital camera:
TagValue
EncodingMicrosoft PCM
Number of channels1
Sampling rate7872
Avg. bytes per second7872
Bits per sample8
Date created2005:08:08
Exif version0220
Related image fileIMGP1149.JPG
Time created16:23:35
MakePENTAX Corporation
ModelPENTAX Optio WP
MakerNote

MakerNote data

The "MakerNote" tag contains image information normally in a proprietary binary format. Some of these manufacturer-specific formats have been decoded:
The proprietary formats used by many manufacturers break if the MakerNote tag data is moved. The reason to edit to the Exif data could be as simple as to add copyright information, an Exif comment, etc. There are two solutions for this problem:
Microsoft has implemented the last solution in Windows 10: In the Windows explorer you can change the EXIF data of an image file by the properties window. Here the tab sheet "Details" contains some EXIF data like title, subject, comments etc. and these EXIF data can also be changed and stored. When the image file is saved the tag "OffsetSchema" is added and this tag contains a signed 32 bit number. With this number the original index of "MakerNote" can be restored:
Original index of "MakerNote" = Current index of "MakerNote" - Value of tag "OffsetSchema"
But the tag "OffsetSchema" was defined by Microsoft and it is not part of the official EXIF standard.
In some cases, camera vendors also store important information only in proprietary makernote fields, instead of using available Exif standard tags. An example for this is Nikon's ISO speed settings tag.