# ExifTool

ExifTool is a free and open-source software program for reading, writing, and manipulating image, audio, video, and PDF metadata. As such, ExifTool classes as a tag editor. It is platform independent, available as both a Perl library (Image::ExifTool) and a command-line application. ExifTool is commonly incorporated into different types of digital workflows and supports many types of metadata including Exif, IPTC, XMP, JFIF, GeoTIFF, ICC Profile, Photoshop IRB, FlashPix, AFCP and ID3, as well as the manufacturer-specific metadata formats of many digital cameras. This tool is often used in digital forensic analysis and library archival. It's also important to note that there are other apps related to ExifTool that function in the same way on the appstore/playstore so you don't have to rely on a computer software version.

## Metainformation encapsulation

ExifTool also implements its own open metadata format. It is designed to encapsulate metainformation from many sources, in binary or textual form, and bundle it together with any type of file. It can either be a single file, wrapping existing data, or used as a sidecar file, carrying for example Exif or XMP metadata.

## Uses

Websites and services that use ExifTool include:
* Advanced Renamer
* Flickr (to parse the metadata from uploaded images)
* Hugin
* XnView

## Supported file formats

ExifTool can read, edit or create files with the following formats:

### Edit support

* 360 - GoPro 360 video (QuickTime-based)
* 3G2, 3GP2 - 3rd Gen. Partnership Project 2 audio/video (QuickTime-based)
* 3GP, 3GPP - 3rd Gen. Partnership Project audio/video (QuickTime-based)
* AAX - Audible Enhanced Audiobook (QuickTime-based)
* AI, AIT - Adobe Illustrator (Template, PS or PDF)
* ARQ - Sony Alpha Pixel-Shift raw (TIFF-based)
* ARW - Sony Alpha raw (TIFF-based)
* AVIF - AV1 Image File Format (QuickTime-based)
* CR2 - Canon Raw 2 (TIFF-based) (CR2 specification)
* CR3 - Canon Raw 3 (QuickTime-based) (CR3 specification)
* CRM - Canon RAW Movie (QuickTime-based)
* CRW, CIFF - Canon Raw Camera Image File Format (CRW specification)
* CS1 - Sinar CaptureShop 1-shot raw (PSD-based)
* DCP - DNG Camera Profile (DNG-like)
* DNG - Digital Negative (TIFF-based)
* DR4 - Canon DPP version 4 Recipe
* DVB - Digital Video Broadcasting (QuickTime-based)
* EPS, EPSF, PS - (Encapsulated) PostScript Format
* ERF - Epson Raw Format (TIFF-based)
* EXIF - Exchangeable Image File Format metadata (TIFF-based)
* EXV - Exiv2 metadata file (JPEG-based)
* F4A, F4B, F4P, F4V - Adobe Flash Player 9+ Audio/Video (Quicktime-based)
* FFF - Hasselblad Flexible File Format (TIFF-based)
* FLIF - Free Lossless Image Format
* GIF - Compuserve Graphics Interchange Format
* GPR - GoPro Raw (DNG-based)
* HDP, WDP, JXR - Windows HD Photo / Media Photo / JPEG XR (TIFF-based)
* HEIC, HEIF, HIF - High Efficiency Image Format (QuickTime-based)
* ICC, ICM - International Color Consortium color profile
* IIQ - Phase One Intelligent Image Quality raw (TIFF-based)
* IND, INDD, INDT - Adobe InDesign Document/Template (XMP metadata only)
* INSP - Insta360 Picture (JPEG-based)
* JP2, JPF, JPM, JPX - JPEG 2000 image (Compound/Extended)
* JPEG, JPG, JPE - Joint Photographic Experts Group image (see table below)
* JXL - JPEG XL (Extra longterm)
* LRV - Low-Resolution Video (QuickTime-based)
* M4A, M4B, M4P, M4V - MPEG-4 Audio/Video (Quicktime-based)
* MEF - Mamiya (raw) Electronic Format (TIFF-based)
* MIE - Meta Information Encapsulation (MIE specification)
* MOS - Creo Leaf Mosaic (TIFF-based)
* MOV, QT - Apple QuickTime Movie
* MP4 - Motion Picture Experts Group version 4 (Quicktime-based)
* MPO - Extended Multi-Picture format (JPEG with MPF extensions)
* MQV - Sony Mobile QuickTime Video
* MRW - Minolta Raw
* NEF - Nikon (raw) Electronic Format (TIFF-based)
* NRW - Nikon Raw (2) (TIFF-based)
* ORF - Olympus Raw Format (TIFF-based)
* PDF - Adobe Portable Document Format
* PEF - Pentax (raw) Electronic Format (TIFF-based)
* PNG, JNG, MNG - Portable/JPEG/Multiple-image Network Graphics
* PPM, PBM, PGM - Portable Pixel/Bit/Gray Map
* PSD, PSB, PSDT - PhotoShop Drawing / Large Document / Template
* QTIF, QTI, QIF - QuickTime Image File
* RAF - FujiFilm Raw Format
* RAW - Panasonic Raw (TIFF-based)
* RW2 - Panasonic Raw 2 (TIFF-based)
* RWL - Leica Raw (TIFF-based)
* SR2 - Sony Raw 2 (TIFF-based)
* SRW - Samsung Raw format (TIFF-based)
* THM - Canon Thumbnail (JPEG)
* TIFF, TIF - Tagged Image File Format
* VRD - Canon DPP Recipe Data
* WEBP - Google Web Picture (RIFF-based)
* X3F - Sigma/Foveon raw
* XMP - Extensible Metadata Platform sidecar file

### Creation support

Some metadata-only files may be created from metadata input alone. Here is a list of files that ExifTool can create from scratch:
* DR4 - Canon DPP version 4 Recipe
* EXIF - Exchangeable Image File Format metadata (TIFF-based)
* EXV - Exiv2 metadata file (JPEG-based)
* ICC, ICM - International Color Consortium color profile
* MIE - Meta Information Encapsulation (MIE specification)
* VRD - Canon DPP Recipe Data
* XMP - Extensible Metadata Platform sidecar file

## Supported JPEG metadata

ExifTool can read, edit or create the following types of metadata in JPEG images:
| JPEG Meta Information | Can read? | Can edit? | Can create? | Description |
| APP0 - JFIF | Yes | Yes | Yes | JPEG File Interchange Format |
| APP0 - JFXX | Yes | No | No | Extended JFIF |
| APP0 - CIFF | Yes | Yes | No | Camera Image File Format (used by some Canon models) |
| APP0 - AVI1 | Yes | No | No | JPEG AVI information |
| APP0 - Ocad | Yes | No | No | Photobucket Ocad segment |
| APP1 - EXIF | Yes | Yes | Yes | Exchangeable Image File Format (including maker notes) |
| APP1 - XMP | Yes | Yes | Yes | Extensible Metadata Platform (multi-segment) |
| APP1 - QVCI | Yes | No | No | Casio QV-7000SX QVCI information |
| APP1 - FLIR | Yes | No | No | FLIR thermal imaging data (multi-segment) |
| APP1 - RawThermalImage | Yes | No | No | Thermal image from Parrot Bebop-Pro Thermal drone |
| APP2 - ICC | Yes | Yes | Yes | International Color Consortium (multi-segment) |
| APP2 - FPXR | Yes | No | No | FlashPix Ready (multi-segment) |
| APP2 - MPF | Yes | No | No | Multi-Picture Format |
| APP2 - PreviewImage | Yes | No | No | Samsung APP2 preview image (multi-segment) |
| APP3 - Kodak Meta | Yes | Yes | No | Kodak Meta information (Exif-like) |
| APP3 - Stim | Yes | No | No | Stereo Still Image format |
| APP3 - PreviewImage | Yes | No | No | Samsung/HP preview image (multi-segment) |
| APP4 - Scalado | Yes | No | No | (presumably written by Scalado mobile software) |
| APP4 - FPXR | Yes | No | No | FlashPix Ready in non-standard location (multi-segment) |
| APP4 - PreviewImage | Yes | No | No | (continued from APP3) |
| APP5 - Ricoh RMETA | Yes | No | No | Ricoh custom fields |
| APP5 - Samsung UniqueID | Yes | No | No | Samsung Unique ID |
| APP5 - PreviewImage | Yes | No | No | (continued from APP4) |
| APP6 - EPPIM | Yes | No | No | Toshiba PrintIM |
| APP6 - NITF | Yes | No | No | National Imagery Transmission Format |
| APP6 - HP TDHD | Yes | No | No | Hewlett-Packard Photosmart R837 TDHD information |
| APP6 - GoPro | Yes | No | No | GoPro Metadata Format (GPMF) information |
| APP7 - Pentax | Yes | No | No | Pentax APP7 maker notes |
| APP7 - Qualcomm | Yes | No | No | Qualcomm Camera Attributes |
| APP8 - SPIFF | Yes | No | No | Still Picture Interchange File Format |
| APP9 - Media Jukebox | Yes | No | No | Media Jukebox XML information |
| APP10 - Comment | Yes | No | No | PhotoStudio Unicode Comment |
| APP11 - JPEG-HDR | Yes | No | No | JPEG-HDR compressed ratio image |
| APP12 - Picture Info | Yes | No | No | ASCII-based Picture Information |
| APP12 - Ducky | Yes | Yes | Yes | Photoshop "Save for Web" |
| APP13 - Photoshop IRB | Yes | Yes | Yes | Image Resource Block (multi-segment, includes IPTC) |
| APP13 - Adobe CM | Yes | No | No | Adobe Color Management |
| APP14 - Adobe | Yes | Yes | Yes | Adobe DCT filter |
| APP15 - GraphicConverter | Yes | No | No | GraphicConverter quality |
| COM | Yes | Yes | Yes | JPEG Comment (multi-segment) |
| DQT | Yes | No | No | (used to calculate the Extra:JPEGDigest tag value) |
| SOF | Yes | No | No | JPEG Start Of Frame |
| AFCP trailer | Yes | Yes | No | AXS File Concatenation Protocol (includes IPTC) |
| CanonVRD trailer | Yes | Yes | Yes | Canon DPP Recipe Data |
| FotoStation trailer | Yes | Yes | No | FotoWare FotoStation (includes IPTC) |
| PhotoMechanic trailer | Yes | Yes | No | Camera Bits Photo Mechanic |
| MIE trailer | Yes | Yes | No | Meta Information Encapsulation |
| Samsung trailer | Yes | No | No | Samsung Galaxy trailer |
| PreviewImage trailer | Yes | Yes | Yes | (preview image written after JPEG EOI) |
| EmbeddedVideo trailer | Yes | No | No | (extracted only with ExtractEmbedded option) |

## Programming libraries

ExifTool is available as the native Perl library Image::ExifTool. The Python PyExifTool module provides a wrapper to the system version of ExifTool. Further programming resources are given on the ExifTool project webpage.