[画像:ET]

ExifTool by Phil Harvey

Read, Write and Edit Meta Information!

Also available --> Utility to fix Nikon NEF images corrupted by Nikon software

Note: IP's that access web pages too quickly will be blocked, and I have had to get even more strict about blocking access to the forum to help deal with a plague of badly-behaving AI bots. Send an email to exiftool@gmail.com if you think you have been wrongly denied access.

Installing Tag Names Resources History Forum FAQ
Features
User Comments
Supported File Types
System Requirements
Running ExifTool
Example Output
Tag Names Explained
Tag Groups
Writing Information
Writer Limitations
Known Problems
Security Issues
Date/Time Shift
Renaming Files
Performance
ExifTool Library
Additional Resources
New Discoveries
Acknowledgements
License
Donate
Background
Contact Me

(To reduce load on the exiftool.org server, the download links now point to SourceForge)

--> Click here for the checksums of all distribution packages.

ExifTool is a platform-independent Perl library plus a command-line application for reading, writing and editing meta information in a wide variety of files. ExifTool supports many different metadata formats including EXIF, GPS, IPTC, XMP, JFIF, GeoTIFF, ICC Profile, Photoshop IRB, FlashPix, AFCP and ID3, Lyrics3, as well as the maker notes of many digital cameras by Apple, Canon, Casio, DJI, FLIR, FujiFilm, GE, Google, GoPro, HP, JVC/Victor, Kodak, Leaf, Minolta/Konica-Minolta, Motorola, Nikon, Nintendo, Olympus/Epson, Panasonic/Leica, Pentax/Asahi, Phase One, Reconyx, Ricoh, Samsung, Sanyo, Sigma/Foveon and Sony.

ExifTool is also available as a Windows executable and a MacOS package: (Note that these versions contain the executable only, and do not include the HTML documentation or other files of the full distribution above.)

64-bit: exiftool-13.43_64.zip (11.0 MB)

The Windows executable archives include Perl. Just download and un-zip the appropriate archive then double-click on "exiftool(-k).exe" to read the application documentation, drag-and-drop files and folders to view meta information, or rename to "exiftool.exe" for command-line use. Note that if you move the .exe to another folder, you must also move the "exiftool_files" folder to the same location.

(The Windows packages are based on work by Oliver Betz, and use his launcher. Oliver also provides self-installing versions of these executables. See this forum post if you have any problems/comments with these versions.)

MacOS Package: ExifTool-13.43.pkg (5.5 MB)

The MacOS package installs the ExifTool command-line application and libraries in /usr/local/bin. After installing, type "exiftool" in a Terminal window to run exiftool and read the application documentation.

Read the installation instructions for help installing ExifTool on Windows, MacOS and Unix systems.

The version number of the latest ExifTool release may be found here, and the name of the most recent alternate geolocation database is here.

Features

A Note to Unix Power-Users

If you feel the need to use "find" or "awk" in conjunction with ExifTool, then you probably haven't discovered the full power of ExifTool. Read about the -ext, -if, -p and -tagsFromFile options in the application documentation. (This is common mistake number 3.)

What People are Saying about ExifTool

"It's the gold standard in terms of the image metadata it can access" - Darkroom Photos
"In my experience, nothing but nothing is as complete, powerful, and flexible as Phil Harvey's exiftool ... I've never seen anything that's in the same ballpark for power." - dpreview forum
"While there are a lot of image tools available, nothing comes close for accessing/updating the metadata like ExifTool" - merg's blog
"Fast, reliable and amazingly comprehensive ..." - CPAN ratings
"... the one piece of free software that gets the most detailed exif data of /any/ tool I've found." - gnome mail archives
"ExifTool makes every other EXIF reader (and writer) than I've seen, including the camera manufacturers' readers, look lame." - photo.net Nikon forum
"Insanely great tool with a long learning curve ..." - Adobe Forums
"ExifTool has been outstanding in our custom used Tesla image gallery build. We are able to aggregate image meta from our user base and incorporate this into development iterations to continually optimize our platform..." - Find My Electric
"... it's super awesome, it's super reliable and after many years of development it's still being updated!" - P_W999 blog
"ExifTool was the first and is (imho) by far the most complete, safe, well-tested, well-documented, and up-to-date software you can use to manipulate metadata" - Nine Degrees Below Photography
"... it is the mother of all EXIF utilities; the BFG of meta-data extraction; the Pan Galactic Gargle Blaster of EXIF tools ... This thing will suck the last bit of metadata out of whatever image file you throw at it!" - Open Photography Forums
"... it is total fucking gibberish to me." - Reddit Linux Questions

Supported File Types

ExifTool can Read, Write and/or Create files in the following formats. Also listed are the support levels for EXIF, IPTC (IIM), XMP, ICC_Profile, C2PA (JUMBF) and other metadata types for each file format. C2PA metadata is not currently Writable, but may be Deleted from some file types by deleting the JUMBF group (ie. -JUMBF:all=).

File TypeSupportDescriptionEXIF IPTC XMP ICC 1C2PA Other
3FRRHasselblad RAW (TIFF-based)RRRRR-
3G2, 3GP2R/W3rd Gen. Partnership Project 2 a/v (QuickTime-based)R/W3R/W3R/W/C-R/DR/W/C QuickTime
3GP, 3GPPR/W3rd Gen. Partnership Project a/v (QuickTime-based)R/W3R/W3R/W/C-R/DR/W/C QuickTime
7z R7z Archive-----R ZIP
A RUnix static library code Archive-----R EXE
AA RAudible Audiobook-----R Audible
AAC RAdvanced Audio Codec-----R AAC
AAERApple edit information (XML PLIST-based)-----R PLIST
AAXR/WAudible Enhanced Audiobook (QuickTime-based)R/W3R/W3R/W/C-R/DR/W/C QuickTime
ACR RAmerican College of Radiology ACR-NEMA (DICOM-like)-----R DICOM
AFM, ACFM, AMFM RAdobe [Composite/Multiple Master] Font Metrics-----R Font
AI, AITR/WAdobe Illustrator [Template] (PS or PDF)R/W/C4R/W/C4R/W/C5R/W/C4-R/W/C PDF PostScript, R Photoshop
AIFF, AIF, AIFC RAudio Interchange File Format [Compressed]----RR AIFF ID3 Lyrics3
APE RMonkey's Audio----RR APE ID3 Lyrics3
ARQR/WSony Alpha Pixel-Shift RAW (TIFF-based)R/W/CR/W/CR/W/CR/W/CR/DR/W Sony SonyIDC
ARWR/WSony Alpha RAW (TIFF-based)R/W/CR/W/CR/W/CR/W/CR/DR/W Sony SonyIDC
ASF RMicrosoft Advanced Systems Format--R--R ASF
AVIRAudio Video Interleaved (RIFF-based)R3-R-RR RIFF
AVIFR/WAV1 Image File Format (QuickTime-based)R/W/C-R/W/CR/WR/DR/W QuickTime
BMP, DIB RWindows BitMaP / Device Independent Bitmap-----R BMP
BPG RBetter Portable GraphicsR-RR-R BPG
BTF RBigTIFF (64-bit Tagged Image File Format)RRRRR-
CAP RMicrosoft Network Monitor Capture-----R PCAP
C2PA, JUMBFRC2PA JPEG Universal Metadata Box Format----RR Jpeg2000
CHM RMicrosoft Compiled HTML format-----R EXE
COSRCapture One Settings (XML-based)-----R XML
CR2R/WCanon RAW 2 (TIFF-based) (CR2 spec)R/W/CR/W/CR/W/CR/W/CR/DR/W Canon, R/W/C CanonVRD 2
CR3R/WCanon RAW 3 (QuickTime-based) (CR3 spec)R/W/C-R/W/C-R/DR/W Canon QuickTime, R/W/C CanonVRD 2
CRMR/WCanon RAW Movie (QuickTime-based)R/W/C-R/W/C-R/DR/W Canon QuickTime
CRW, CIFF R/WCanon RAW Camera Image File Format (CRW spec)--R/W/C--R/W CanonRaw, R/W/C CanonVRD 2
CS1R/WSinar CaptureShop 1-shot RAW (PSD-based)R/W/CR/W/CR/W/CR/W/C-R Photoshop
CSVRComma-Separated Values-----R Text
CZI RZeiss Integrated Software RAW (ZISRAW)-----R ZISRAW, R XML
DCM, DC3, DIC, DICM RDICOM - Digital Imaging and Communications in Medicine-----R DICOM
DCPR/WDNG Camera Profile (DNG-like)R/W/CR/W/CR/W/CR/W/CR/D-
DCRRKodak Digital Camera RAW (TIFF-based)RRRRR-
DFONT RMacintosh Data Fork Font-----R Font
DIVXRDivX media format (ASF-based)--R--R ASF
DJVU, DJV RDjVu image (AIFF-like)--R--R DJVU
DNG R/WDigital Negative (TIFF-based)R/W/CR/W/CR/W/CR/W/CR/D-
DOC, DOTRMicrosoft Word Document/Template (FPX-like)--RR-R FlashPix
DOCX, DOCM ROffice Open XML Document [Macro-enabled]-----R XML ZIP
DOTX, DOTM ROffice Open XML Document Template [Macro-enabled]-----R XML ZIP
DPX RDigital Picture Exchange-----R DPX
DR4 R/W/C2Canon DPP version 4 Recipe-----R/W/C CanonVRD 2
DSF RDSD Stream File-----R DSF ID3 Lyrics3
DSS, DS2 RDigital Speech Standard [2]-----R Olympus
DYLIB RMacOS Mach-O executable and library files-----R EXE
DV RDigital Video-----R DV
DVBR/WDigital Video Broadcasting (QuickTime-based)R/W3R/W3R/W/C-R/DR/W/C QuickTime
DVR-MSRMicrosoft Digital Video Recording (ASF-based)--R--R ASF
EIPRCapture One Enhanced Image Package (ZIP-based)R----R XML ZIP
EPS, EPSF, PS R/W[Encapsulated] PostScript FormatR/W/CR/W/CR/W/CR/W/C-R/W/C PostScript, R Photoshop
EPUBRElectronic Publication (ZIP/XML-based)-----R XML ZIP
ERFR/WEpson RAW Format (TIFF-based)R/W/CR/W/CR/W/CR/W/CR/DR/W Olympus
EXE, DLL RDOS/Windows executable and library files-----R EXE
EXIF R/W/CExchangeable Image File Format metadata (TIFF-based)R/W/C---R/D-
EXR ROpen EXR (Extended Range)R-R--R OpenEXR
EXVR/W/CExiv2 metadata file (JPEG-based)R/W/CR/W/CR/W/CR/W/CR/DSupported JPEG Meta Information
F4A, F4B, F4P, F4VR/WAdobe Flash Player 9+ Audio/Video (QuickTime-based)R/W3R/W3R/W/C-R/DR/W/C QuickTime
FFFR/W6Hasselblad Flexible File Format (TIFF-based)R/W/CR/W/CR/W/CR/W/CR/D-
FFF RFLIR Systems thermal image File Format-----R FLIR
FITS RFlexible Image Transport System-----R FITS
FLARMacromedia/Adobe Flash project (FPX-like)--RR-R FlashPix
FLAC RFree Lossless Audio Codec----RR FLAC ID3 Lyrics3
FLIF R/WFree Lossless Image FormatR/W/C-R/W/CR/W/C-R FLIF
FLV RFlash Video--R--R Flash
FPF RFLIR Public image Format-----R FLIR
FPX RFlashPix image--RR-R FlashPix
GIF R/WCompuserve Graphics Interchange Format--R/W/CR/W/CR/DR/W/C GIF
GLVR/WGarmin Low-resolution Video (QuickTime-based)R/W3R/W3R/W/C-R/DR/W/C QuickTime
GPRR/WGoPro RAW (DNG-based)R/W/CR/W/CR/W/CR/W/CR/D-
GZ, GZIP RGNU ZIP compressed archive-----R ZIP
HDP, WDP, JXRR/WWindows HD Photo / Media Photo / JPEG XR (TIFF-based)R/W/CR/W/CR/W/CR/W/CR/D-
HDR RRadiance RGBE High Dynamic-Range-----R Radiance
HEIC, HEIF, HIFR/WHigh Efficiency Image Format (QuickTime-based)R/W/C-R/W/CR/WR/DR/W QuickTime
HTML, HTM, XHTML R[Extensible] HyperText Markup Language-----R HTML
ICC, ICM R/W/C1International Color Consortium color profile---R/W/C--
ICO, CUR RWindows Icon / Cursor-----R ICO
ICS, ICAL RiCalendar Schedule-----R VCalendar
IDMLRAdobe InDesign Markup Language (ZIP/XML-based)-----R XML ZIP
IIQ R/WPhase One Intelligent Image Quality RAW (TIFF-based)R/W/CR/W/CR/W/CR/W/CR/DR/W PhaseOne
IND, INDD, INDTR/WAdobe InDesign Document/Template--R/W/C---
INSPR/WInsta360 Picture (JPEG-based)R/W/CR/W/CR/W/CR/W/CR/DSupported JPEG Meta Information
INSVRInsta360 Video (QuickTime-based)--R-RR QuickTime
INXRAdobe InDesign Interchange (XML-based)--R---
ISO RISO 9660 disk image-----R ISO
ITC RiTunes Cover Flow artwork-----R ITC
J2C, J2K, JPCRJPEG 2000 codestreamR3R3RR-R Jpeg2000 Photoshop 3
JP2, JPF, JPM,
JPX, JPH
R/WJPEG 2000 image [Compound/Extended/High-throughput]R/W/C3R/W/C3R/W/CR-R/W/C Jpeg2000, R Photoshop 3
JPEG, JPG, JPE R/WJoint Photographic Experts Group imageR/W/CR/W/CR/W/CR/W/CR/DSupported JPEG Meta Information
JSON RJavaScript Object Notation-----R JSON
JXLR/WJPEG XL (codestream and ISO BMFF) (Jpeg2000-based)R/W/C-R/W/C---
K25RKodak DC25 RAW (TIFF-based)RRRRR-
KDCRKodak Digital Camera RAW (TIFF-based)RRRRRR Kodak
KEY, KTH RApple iWork '09 Keynote presentation/Theme-----R XML ZIP
LARLossless Audio (RIFF-based)R3-R-RR RIFF
LFP, LFR RLytro Light Field Picture-----R Lytro
LIF RLeica Image File-----R LIF
LNK RMicrosoft Shell Link (Windows shortcut)-----R LNK
LRV, LRFR/WLow-Resolution Video (QuickTime-based)R/W3R/W3R/W/C--R/W/C QuickTime
M2TS, MTS, M2T, TS RMPEG-2 Transport Stream (used for AVCHD video)-----R M2TS H264 MISB
M4A, M4B, M4P, M4VR/WMPEG-4 Audio/Video (QuickTime-based)R/W3R/W3R/W/C-R/DR/W/C QuickTime
MACOSRMacOS "._" sidecar file (may have any extension)-----R XAttr RSRC
MAXR3D Studio MAX (FPX-like)--RR-R FlashPix
MEFR/WMamiya (RAW) Electronic Format (TIFF-based)R/W/CR/W/CR/W/CR/W/CR/D-
MIE R/W/CMeta Information Encapsulation (MIE specification)R/W/CR/W/CR/W/CR/W/CR/DR/W/C MIE
MIFF, MIF RMagick Image File FormatRRRR-R MIFF Photoshop
MKA, MKV, MKS RMatroska Audio/Video/Subtitle-----R Matroska
MOBI, AZW, AZW3 RMobipocket electronic book (Palm-based)-----R Palm MOBI
MODDRSony Picture Motion metadata (XML PLIST-based)-----R PLIST
MOI RMOD Information file-----R MOI
MOS R/WCreo Leaf Mosaic (TIFF-based)R/W/CR/W/CR/W/CR/W/CR/DR Leaf
MOV, QT R/WApple QuickTime MovieR/W3R/W3R/W/C-R/DR/W/C QuickTime
MP3 RMPEG-1 layer 3 audio----RR MPEG ID3 Lyrics3 APE
MP4R/WMotion Picture Experts Group version 4 (QuickTime-based)R/W3R/W3R/W/C-R/DR/W/C QuickTime
MPC RMusepack Audio----RR MPC ID3 Lyrics3 APE
MPEG, MPG, M2V RMotion Picture Experts Group version 1 or 2----RR MPEG ID3 Lyrics3
MPOR/WExtended Multi-Picture format (JPEG with MPF extensions)R/W/CR/W/CR/W/CR/W/CR/DSupported JPEG Meta Information
MQV R/WSony Mobile QuickTime VideoR/W3R/W3R/W/C-R/DR/W/C QuickTime
MRW R/WMinolta RAWR/W/CR/W/CR/W/CR/W/CR/DR/W MinoltaRaw Minolta
MRC RMedical Research Council-----R MRC
MXF RMaterial Exchange Format-----R MXF
NEFR/WNikon (RAW) Electronic Format (TIFF-based)R/W/CR/W/CR/W/CR/W/CR/DR/W Nikon NikonCapture
NKARNikon NX Studio Adjustments-----R XML
NKSCR/WNikon Sidecar (XMP-based)--R/W/C---
NMBTEMPLATE RApple iWork '09 Numbers Template-----R XML ZIP
NRWR/WNikon RAW (2) (TIFF-based)R/W/CR/W/CR/W/CR/W/CR/DR/W Nikon NikonCapture
NXDRNikon Capture NX-D adjustments (XMP-based)--R---
NUMBERS RApple iWork '09 Numbers spreadsheet-----R XML ZIP
O RUnix compiled code Object-----R EXE
ODB, ODC, ODF, ODG,
ODI, ODP, ODS, ODT
ROpen Document Database/Chart/Formula/Graphics/
Image/Presentation/Spreadsheet/Text (ZIP/XML-based)
-----R XML ZIP
OFRROptimFROG audio (RIFF-based)R3-R-RR RIFF
OGG, OGV ROgg bitstream container----RR FLAC ID3 Lyrics3 Theora Vorbis
ONPRON1 Presets-----R JSON PLIST
OPUS ROgg Opus audio----RR FLAC ID3 Lyrics3 Opus Vorbis
ORF, ORIR/WOlympus RAW Format (TIFF-based)R/W/CR/W/CR/W/CR/W/CR/DR/W Olympus
OTF ROpen Type Font----RR Font
PACRLossless Predictive Audio Compression (RIFF-based)R3-R-RR RIFF
PAGES RApple iWork '09 Pages document-----R XML ZIP
PCAP, PCAPNG RPacket Capture (Next Generation)-----R PCAP
PCD RKodak Photo CD Image Pac-----R PhotoCD
PCX RPC Paintbrush-----R PCX
PDB, PRC RPalm Database-----R Palm
PDF R/W7Adobe Portable Document FormatR3R3R/W/CR3RR/W/C PDF, R Photoshop
PEFR/WPentax (RAW) Electronic Format (TIFF-based)R/W/CR/W/CR/W/CR/W/CR/DR/W Pentax
PFA, PFB RPostScript Font ASCII/Binary-----R Font
PFM RPrinter Font Metrics-----R Font
PFM RPortable FloatMap-----R PFM
PGF RProgressive Graphics File-----R PGF PNG
PICT, PCT RApple Picture file---R-R PICT Photoshop
PLIST RApple Property List (binary and XML formats)-----R PLIST
PMP RSony DSC-F1 Cyber-Shot image-----R Sony
PNG, JNG, MNG R/WPortable/JPEG/Multiple-image Network GraphicsR/W/C3R/W/C3R/W/CR/W/CR/DR/W/C PNG
PPM, PBM, PGMR/WPortable Pixel/Bit/Gray Map-----R PPM, R/W/C Comment
PPT, PPS, POTRPowerPoint Presentation/Slideshow/Template (FPX-like)--RR-R FlashPix
POTX, POTM ROffice Open XML Presentation Template [Macro-enabled]-----R XML ZIP
PPAX, PPAM ROffice Open XML Presentation Addin [Macro-enabled]-----R XML ZIP
PPSX, PPSM ROffice Open XML Presentation Slideshow [Macro-enabled]-----R XML ZIP
PPTX, PPTM ROffice Open XML Presentation [Macro-enabled]-----R XML ZIP
PSD, PSB, PSDT R/WPhotoShop Document / Large Document / TemplateR/W/CR/W/CR/W/CR/W/C-R Photoshop
PSP, PSPIMAGE RPaint Shop ProR----R PSP
QTIF, QTI, QIF R/WQuickTime Image FileR/W3R/W3R/W/C-R/DR/W/C QuickTime
R3D RRedcode RAW video-----R Red
RA RReal Audio----RR Real ID3 Lyrics3
RAF R/WFujiFilm RAW FormatR/W/CR/W/CR/W/CR/W/CR/DR/W FujiFilm
RAM, RPM RReal Audio/Plug-in Metafile-----R Real
RAR RRAR Archive-----R ZIP
RAW RKyocera Contax N Digital RAW-----R KyoceraRaw
RAW R/WPanasonic RAW (TIFF-based)R/W/CR/W/CR/W/CR/W/CR/DR/W PanasonicRaw Panasonic
RIFF, RIF RResource Interchange File FormatR3-R-RR RIFF
RM, RV, RMVB RReal Media/Video [Variable Bitrate]-----R Real
RSRC RMac OS Resource-----R RSRC Photoshop PostScript Font
RTF RRich Text Format-----R RTF
RW2 R/WPanasonic RAW 2 (TIFF-based)R/W/CR/W/CR/W/CR/W/CR/DR/W PanasonicRaw Panasonic
RWL R/WLeica RAW (TIFF-based)R/W/CR/W/CR/W/CR/W/CR/DR/W PanasonicRaw Panasonic
RWZ RRawzor compressed imageRRRR-R Rawzor
SEQ RFLIR Systems image Sequence-----R FLIR
SKETCHRSketch design file-----R JSON ZIP
SO RUnix ELF executable and Shared Object files-----R EXE
SR2R/WSony RAW 2 (TIFF-based)R/W/CR/W/CR/W/CR/W/CR/DR/W Sony
SRFRSony RAW Format (TIFF-based)RRRRRR Sony
SRWR/WSamsung RAW format (TIFF-based)R/W/CR/W/CR/W/CR/W/CR/DR/W Samsung
SVG RScalable Vector Graphics (XML-based)----RR SVG
SWF RShockwave Flash--R--R Flash
THMR/WThumbnail image (JPEG)R/W/CR/W/CR/W/CR/W/CR/DSupported JPEG Meta Information
THMX ROffice Open XML Theme-----R XML ZIP
TIFF, TIF R/WTagged Image File FormatR/W/CR/W/CR/W/CR/W/CR/DR/W/C GeoTIFF 1, R/W Trailers
TNEF RTransport Neutral Encapsulation Format----RR TNEF
TORRENT RBitTorrent description file-----R Torrent
TTF, TTC RTrue Type Font/Collection----RR Font
TXT RText files-----R Text
URL RWindows URL Link (INI format)-----R INI
VCF, VCARD RVirtual Card-----R VCard
VNTRScene7 Vignette (FPX-like)---R-R FlashPix
VNT RV-Note document-----R VNote
VOBRVideo Object (MPEG-based)-----R MPEG
VRD R/W/C2Canon DPP Recipe Data--R/W/C--R/W/C CanonVRD 2
VSDRMicrosoft Visio Drawing (FPX-like)--RR-R FlashPix
VSDX RMicrosoft Visio Drawing XML-----R XML ZIP
WAVRWindows digital audio WAVeform (RIFF-based)R3-R-RR RIFF
WEBMRGoogle Web Movie (Matroska-based)-----R Matroska
WEBPR/WGoogle Web Picture (RIFF-based)R/W/C-R/W/CR/W/CR/DR RIFF
WMA, WMVRWindows Media Audio/Video (ASF-based)--R--R ASF
WOFF RWeb Open Font Format----RR Font
WOFF2 RWeb Open Font Format 2----RR Font
WPG RWordPerfect Graphics-----R WPG
WTV RWindows recorded TV show-----R WTV
WV, WVP RWavPack audio-----R WavPack RIFF ID3 Lyrics3 APE
X3F R/WSigma/Foveon RAWR/W/CR/W/CR/W/CR/W/CR/DR/W Sigma, R SigmaRaw
XCF RGIMP native image formatRRRR-R GIMP
XISF RExtensible Image Serialization Format-----R XISF
XLS, XLTRMicrosoft Excel Spreadsheet/Template (FPX-like)--RR-R FlashPix
XLSX, XLSM, XLSB ROffice Open XML Spreadsheet [Macro-enabled/Binary]-----R XML ZIP
XLTX, XLTM ROffice Open XML Spreadsheet Template [Macro-enabled]-----R XML ZIP
XMP R/W/CExtensible Metadata Platform sidecar file--R/W/C---
ZIP RZIP archive-----R ZIP
1 Block write only, 2 Block create only, 3 Non-standard format, 4 Only writable for PostScript-format file type, 5 Only writable for PDF-format file type, 6 Only writable when ignoring minor errors due to Phocus incompatibility, 7 Old metdata is never actually deleted

Supported JPEG Meta Information

ExifTool can Read, Write and/or Create the following types of meta information in JPEG images:

JPEG Meta InformationSupportDescription
APP0 - JFIF R/W/CJPEG File Interchange Format
APP0 - JFXX RExtended JFIF
APP0 - CIFF R/WCamera Image File Format (used by some Canon models)
APP0 - AVI1 RJPEG AVI information
APP0 - Ocad RPhotobucket Ocad segment
APP1 - EXIF R/W/CExchangeable Image File Format (multi-segment)
APP1 - XMP R/W/CExtensible Metadata Platform (multi-segment)
APP1 - QVCI RCasio QV-7000SX QVCI information
APP1 - FLIR RFLIR thermal imaging data (multi-segment)
APP1 - RawThermalImageRThermal image from Parrot Bebop-Pro Thermal drone
APP2 - ICC R/W/CInternational Color Consortium (multi-segment)
APP2 - FPXR RFlashPix Ready (multi-segment)
APP2 - MPF RMulti-Picture Format
APP2 - InfiRay Version RInfiRay IJPEG Version header
APP2 - AROTRHDR Gain Curve
APP2 - PreviewImageRSamsung/GE APP2 preview image (multi-segment)
APP3 - Kodak Meta R/WKodak Meta information (EXIF-like)
APP3 - Stim RStereo Still Image format
APP3 - JPS RJPEG Stereo image
APP3 - ThermalDataRDJI RJPEG thermal data (multi-segment)
APP3 - ImagingDataRInfiRay IJPEG IR+thermal+visible data (multi-segment)
APP3 - PreviewImageRSamsung/HP preview image (multi-segment)
APP4 - Scalado R(presumably written by Scalado mobile software)
APP4 - ThermalParams RThermal parameters from DJI RJPEG file
APP4 - ThermalParams2 RDJI thermal parameters type 2
APP4 - ThermalParams3 RDJI thermal parameters type 3
APP4 - FPXR RFlashPix Ready in non-standard location (multi-segment)
APP4 - Qualcomm Dual RQualcomm Dual Camera Attributes
APP4 - InfiRay Factory RInfiRay IJPEG Factory Temperature
APP4 - PreviewImageR(continued from APP3)
APP5 - Ricoh RMETA RRicoh custom fields
APP5 - Samsung UniqueID RSamsung Unique ID
APP5 - ThermalCalibrationRThermal calibration data from DJI RJPEG file
APP5 - InfiRay Picture RInfiRay IJPEG Picture Temperature
APP5 - PreviewImageR(continued from APP4)
APP6 - EPPIM RToshiba PrintIM
APP6 - NITF RNational Imagery Transmission Format
APP6 - HP TDHD RHewlett-Packard Photosmart R837 TDHD information
APP6 - GoPro RGoPro Metadata Format (GPMF) information
APP6 - DJI DTATRDJI Thermal Analysis Tool record (JSON format)
APP6 - InfiRay MixMode RInfiRay IJPEG Mix Mode
APP7 - Pentax RPentax APP7 maker notes
APP7 - Qualcomm RQualcomm Camera Attributes
APP7 - HuaweiRHuawei APP7 maker notes (extract with Unknown option)
APP7 - InfiRay OpMode RInfiRay IJPEG Operation Mode
APP6 - DJI Info RDJI debug information
APP8 - SPIFF RStill Picture Interchange File Format
APP8 - SEAL RSEAL content authentification
APP8 - InfiRay Isothermal RInfiRay IJPEG Isothermal
APP9 - Media Jukebox RMedia Jukebox XML information
APP9 - InfiRay Sensor RInfiRay IJPEG Sensor Information
APP9 - SEAL RSEAL content authentification
APP10 - URNRUniform Resource Name
APP10 - CommentRPhotoStudio Unicode Comment
APP11 - JPEG-HDR RJPEG-HDR compressed ratio image
APP11 - JUMBF (C2PA) RJpeg Universal Metadata Box Format (multi-segment)
APP12 - Picture Info RASCII-based Picture Information
APP12 - Ducky R/W/CPhotoshop "Save for Web"
APP13 - Photoshop IRB R/W/CImage Resource Block (multi-segment, includes IPTC)
APP13 - Adobe CM RAdobe Color Management
APP14 - Adobe R/W/CAdobe DCT filter
APP15 - GraphicConverter RGraphicConverter quality
COMR/W/CJPEG Comment (multi-segment)
DQTR(used to calculate the Extra:JPEGDigest tag value)
SOF RJPEG Start Of Frame
JPEG Trailer 1 SupportDescription
AFCP trailer R/WAXS File Concatenation Protocol (includes IPTC)
CanonVRD trailer R/W/CCanon DPP Recipe Data (includes DR4)
FotoStation trailer R/WFotoWare FotoStation (includes IPTC)
PhotoMechanic trailer R/WCamera Bits Photo Mechanic
MIE trailer R/WMeta Information Encapsulation
MPF trailer RMulti-Picture Format images
Samsung trailer RSamsung Galaxy trailer
Vivo trailer RTrailer written by some Vivo phones
OnePlus trailer RTrailer written by some OnePlus phones
Google trailer RTrailer written by some Google phones
Insta360 trailerRInsta360 trailer found in INSP files
NikonApp trailerRNikon trailer added by NX Studio to NEF/NRW files
Sony HiddenData trailerRHidden data written by some Sony models
PreviewImage trailerR/W/C(preview image written after JPEG EOI)
EmbeddedVideo trailerR(extracted only with ExtractEmbedded option)
1 Some of these trailers are also supported for TIFF-format and QuickTime-format files.

System Requirements

Requires Perl 5.004 or later. No other libraries or software required, but some optional Perl modules may be added to enable certain ExifTool features (for details, see the DEPENDENCIES section of the README file included in the full distribution).

Windows users: A Windows executable version of ExifTool is available which doesn't require Perl. You can also use the pure Perl version if you already have Perl installed. (You can get a good, free Perl interpreter from activeperl.com or strawberryperl.com.)

Everyone else (Mac, Unix, etc): Don't worry, you already have Perl installed.

Running ExifTool

The exiftool application provides a convenient command-line interface for the Image::ExifTool Perl package (both included in the full distribution). Once you have downloaded and extracted the distribution, you can immediately run exiftool (without building or installing) by typing "DIR/exiftool FILE" (or "perl DIR/exiftool FILE" in Windows), where DIR is the exiftool directory and FILE is the name of an image file, including directory name. Read the installation instructions or the README file included in the full distribution for help installing ExifTool.

Many command-line options are available to allow you to access a wide range of features. Run exiftool with no arguments for a complete list of available options with examples.

Running in Windows

i) From the command line:

The Perl application ("exiftool") is run by typing "perl exiftool". Alternately, you may be able to rename it to "exiftool.pl" and type "exiftool.pl", but this requires that the proper Windows associations have been made for the ".pl" extension.

The ExifTool .exe file ("exiftool(-k).exe") should be renamed to "exiftool.exe" to allow it to be run by typing "exiftool" at the command line.

If the exiftool executable ("exiftool.pl" or "exiftool.exe") is not in the current directory or your system PATH, then its directory must be specified on the command line (eg. by typing "c:\path_to_exiftool\exiftool.pl" or "c:\path_to_exiftool\exiftool").

Note that when typing commands in the "cmd.exe" shell, you should use double quotes instead of single quotes as shown in some examples.

ii) Running in the Windows GUI (not from command line):

Double-click on "exiftool(-k).exe" to read the application documentation, or drag-and-drop files and folders to run exiftool on the selected files.

Simple options may be added inside brackets in the name of the .exe file. (But note that the characters /\?*:|"<> may not be used because they are invalid in Windows file names.) In this way, the behaviour of the drag-and-drop application can be customized. For example:

Executable NameOperation
exiftool(-k).exe
Print meta information in window and pause before terminating.
exiftool(-k -a -u -g1 -w txt).exe
Generate output ".txt" files with detailed meta information.
exiftool(-k -o %d%f.xmp).exe
Generate sidecar ".xmp" files.
exiftool(-copyright='Phil Harvey').exe
Add copyright information (and don't pause before terminating).

Hint: Options may also be added to the "Target" property of a Windows shortcut for the executable. Using a shortcut has 3 advantages over adding options in the file name: 1) different shortcuts may be created without requiring multiple copies of the executable, 2) characters which are invalid in file names may be used, and 3) the shortcuts can be given more meaningful (and convenient) file names.

As well, it may be useful to increase the window and buffer sizes to display more information: Right-click on the window's title bar then select "Properties" from the menu and change the window layout settings.

Example Output

> exiftool -h -canon t/images/Canon.jpg
File Name Canon.jpg
Camera Model Name Canon EOS DIGITAL REBEL
Date/Time Original .&checktime(2003,12,04,':') 06:46:52
Shooting Mode Bulb
Shutter Speed 4
Aperture 14.0
Metering Mode Center-weighted average
Exposure Compensation 0
ISO 100
Lens 18.0 - 55.0 mm
Focal Length 34.0 mm
Image Size 8x8
Quality RAW
Flash No Flash
White Balance Auto
Focus Mode Manual Focus (3)
Contrast +1
Sharpness +1
Saturation +1
Color Tone Normal
Color Space sRGB
File Size 2.6 kB
File Number 118-1861
Drive Mode Continuous Shooting
Owner Name Phil Harvey
Serial Number 0560018150
> exiftool -lang de -h -canon t/images/Canon.jpg
Dateiname Canon.jpg
Kameramodell Canon EOS DIGITAL REBEL
Erstellungsdatum/-uhrzeit .&checktime(2003,12,04,':') 06:46:52
Aufnahmemodus Bulb
Belichtungsdauer 4
Blende 14.0
Belichtungsmessmethode Mittenbetont
Belichtungskorrektur 0
ISO-Empfindlichkeit 100
Objektiv 18.0 - 55.0 mm
Brennweite 34.0 mm
Bildgröße 8x8
Qualität RAW
Blitzmodus Blitz wurde nicht ausgelöst
Weißabgleich Automatisch
Fokus-Modus Manueller Fokus (3)
Kontrast +1
Schärfe +1
Farbsättigung +1
Farbton Normal
Farbraum sRGB
Dateigröße 2.6 kB
Dateinummer 118-1861
Aufnahmeart Serienaufnahme
Name des Besitzers Phil Harvey
Seriennummer 0560018150

Verbose and HtmlDump Output

The Verbose (-v) and HtmlDump (-htmlDump) options print additional information that can be very useful for debugging or when decoding new tags.

Compare Two Files for Metadata Differences

The -diff option provides a method to show the metadata differences between two files. For example, here is a comparison of two files excluding System and Composite tags:

> exiftool a.jpg -diff b.jpg --system:all -e
======== diff < a.jpg > b.jpg
< [IFD0] Modify Date : .&checktime(2024,09,05,':') 14:37:40 
> : .&checktime(2024,09,05,':') 14:41:05
< [ExifIFD] Exposure Time : 1/400
> : 1/1000
< [ExifIFD] F Number : 4.0
> : 5.6
< [ExifIFD] Date/Time Original : .&checktime(2024,09,05,':') 14:37:40
> : .&checktime(2024,09,05,':') 14:41:05
< [ExifIFD] Create Date : .&checktime(2024,09,05,':') 14:37:40
> : .&checktime(2024,09,05,':') 14:41:05
< [ExifIFD] Brightness Value : 8.49765625
> : 10.728125
< [ExifIFD] Max Aperture Value : 2.8
> : 4.0
< [ExifIFD] Focal Length : 9.0 mm
> : 32.7 mm
< [ExifIFD] Focal Length In 35mm Format : 24 mm
> : 89 mm
< [Sony] Camera Temperature : 36 C
> : 35 C
< [Sony] Exposure Time : 1/400
> : 1/1000
< [Sony] Sony Max Aperture Value : 3.0
> : 4.1
< [Sony] Lens Zoom Position : 0%
> : 59%
< [Sony] Brightness Value : 8.49765625
> : 10.728125
< [Sony] WB RGB Levels : 578 256 478
> : 592 256 466
< [Sony] Focal Length : 9.0 mm
> : 32.7 mm
< [IFD1] Thumbnail Length : 12771
> : 5940
< [MPImage1] MP Image Length : 7696566
> : 5839721
< [MPImage2] MP Image Length : 1167032
> : 492263
< [MPImage2] MP Image Start : 7699456
> : 5840896

Tag Names Explained

A tag name is a "handle" that is used to refer to a specific piece of meta information. Tag names are entered on the command line with a leading '-', in the order you want them displayed. Valid characters in a tag name are A-Z (case is not significant), 0-9, hyphen (-) and underline (_). The tag name may be prefixed by a group name (separated by a colon) to identify a specific information type or location. A special tag name of "All" may be used to represent all tags, or all tags in a specified group. For example:

exiftool -filename -imagesize -exif:fnumber -xmp:all image.jpg

A complete list of ExifTool Tag Names accompanies this documentation. As well, current lists of available tag names and writable tag names may be obtained using the exiftool -list and -listw options. But perhaps the easiest way to determine a tag name is to use the -s option to print the tag names instead of descriptions for all information in a file. It may also be helpful to use the -G option to display the group names, and the -H or -D option to print the numerical tag ID's for reference.

Notes:

  1. Tag names sometimes differ from their descriptions. Use the -s command-line option to see the actual tag names instead of the descriptions shown when extracting information.
  2. When extracting information, tags will not appear in the output unless they exist in the file, even if they are specified on the command line. The -f option may be used to force all specified tags to be displayed (not including tags specified with wildcards or by -GROUP:all).
  3. Information for a given tag name may occur in multiple locations within a single file. By default these duplicate tags are suppressed, but the -a option may be used to extract all tags.
  4. Tag names may be suffixed by a '#' character to disable the print conversion on a per-tag basis. See the -n option in the application documentation for more information.

Shortcut Tags

Shortcut tags represent one or more other tags, and are used like any other tag when reading, writing or copying information.

ExifTool defines a few shortcut tags in the Image::ExifTool::Shortcuts module, and allows users to define their own shortcuts in a configuration file called ".ExifTool_config" in their home directory or exiftool application directory. Here is a simple example that defines two shortcuts:

%Image::ExifTool::UserDefined::Shortcuts = (
 MyShortcut => ['createdate','exposuretime','aperture'],
 MyAlias => 'FocalLengthIn35mmFormat',
);

In this example, MyShortcut is a shortcut for the CreateDate, ExposureTime and Aperture tags, and MyAlias is a shortcut for FocalLengthIn35mmFormat.

The current shortcuts may be listed with the -list option.

The ~/.ExifTool_config file may also be used to define new tags. For more information about the configuration file, see the sample configuration file included with the ExifTool distribution.

Windows tip: You may have difficulty generating a filename beginning with a '.' in the Windows GUI, but it can be done with the "rename" command at the cmd.exe prompt.

Tag Groups

ExifTool classifies tags into groups in various families. Here is a list of the group names in each family:

FamilyGroup Names
0 (Information Type) AAC, AFCP, AIFF, APE, APP0, APP1, APP10, APP11, APP12, APP13, APP14, APP15, APP2, APP3, APP4, APP5, APP6, APP7, APP8, APP9, ASF, Audible, Canon, CanonVRD, Composite, DICOM, DjVu, DNG, Ducky, DV, EXE, EXIF, ExifTool, File, FITS, FLAC, Flash, FlashPix, FLIR, Font, FotoStation, GeoTiff, GIF, GIMP, GM, GoPro, H264, HTML, ICC_Profile, ID3, IPTC, ISO, ITC, JFIF, JPEG, Jpeg2000, JSON, JUMBF, Leaf, LNK, Lytro, M2TS, MakerNotes, Matroska, Meta, MIE, MIFF, MISB, MNG, MOI, MPC, MPEG, MPF, MXF, Ogg, OpenEXR, Opus, Palm, PanasonicRaw, Parrot, PDF, PhotoCD, PhotoMechanic, Photoshop, PICT, PLIST, PNG, PostScript, PrintIM, Protobuf, PSP, QuickTime, Radiance, RAF, Rawzor, Real, Red, RIFF, RSRC, RTF, SigmaRaw, Sony, Stim, SVG, Theora, Torrent, Trailer, VCard, Vorbis, WTV, XML, XMP, ZIP
1 (Specific Location) AAC, AC3, Adobe, AdobeCM, AdobeDNG, AFCP, AIFF, APE, APP10, APP2, Apple, ASF, Audible, AudioItemList, AudioKeys, AudioUserData, AVI1, CameraIFD, Canon, CanonCustom, CanonDR4, CanonRaw, CanonVRD, Casio, CBOR, Chapter#, CIFF, Composite, DICOM, DJI, DjVu, DjVu-Meta, DNG, Ducky, DV, EPPIM, EXE, EXIF, ExifIFD, ExifTool, File, FITS, FLAC, Flash, FlashPix, FLIR, Font, FotoStation, FujiFilm, FujiIFD, Garmin, GE, GeoTiff, GIF, GIMP, GlobParamIFD, GM, Google, GoPro, GPS, GraphConv, GSpherical, H264, HP, HTC, HTML, HTML-dc, HTML-ncc, HTML-office, HTML-prod, HTML-vw96, HTTP-equiv, ICC-chrm, ICC-cicp, ICC-clrt, ICC-header, ICC-meas, ICC-meta, ICC-view, ICC_Profile, ICC_Profile#, ID3, ID3v1, ID3v1_Enh, ID3v2_2, ID3v2_3, ID3v2_4, IFD0, IFD1, InfiRay, Insta360, InteropIFD, IPTC, IPTC#, ISO, ITC, ItemList, iTunes, JFIF, JFXX, JPEG, JPEG-HDR, Jpeg2000, JPS, JSON, JUMBF, JVC, KDC_IFD, Keys, Kodak, KodakBordersIFD, KodakEffectsIFD, KodakIFD, KyoceraRaw, Leaf, LeafSubIFD, Leica, LNK, Lyrics3, Lytro, M-RAW, M2TS, MAC, MacOS, MakerNotes, MakerUnknown, Matroska, MediaJukebox, Meta, MetaIFD, Microsoft, MIE-Audio, MIE-Camera, MIE-Canon, MIE-Doc, MIE-Extender, MIE-Flash, MIE-Geo, MIE-GPS, MIE-Image, MIE-Lens, MIE-Main, MIE-MakerNotes, MIE-Meta, MIE-Orient, MIE-Preview, MIE-Thumbnail, MIE-Unknown, MIE-UTM, MIE-Video, MIFF, Minolta, MinoltaRaw, MISB, MNG, MOBI, MOI, Motorola, MPC, MPEG, MPF0, MPImage, MS-DOC, MXF, Nextbase, Nikon, NikonCapture, NikonCustom, NikonScan, NikonSettings, NineEdits, Nintendo, NITF, Ocad, Ogg, Olympus, OnePlus, OpenEXR, Opus, Palm, Panasonic, PanasonicRaw, Parrot, PDF, Pentax, PhaseOne, PhotoCD, PhotoMechanic, Photoshop, PICT, PictureInfo, PNG, PNG-cICP, PNG-pHYs, PostScript, PreviewIFD, PrintIM, ProfileIFD, PSP, Qualcomm, QuickTime, Radiance, RAF, RAF2, Rawzor, Real, Real-CONT, Real-MDPR, Real-PROP, Real-RA3, Real-RA4, Real-RA5, Real-RJMD, Reconyx, Red, Ricoh, RIFF, RMETA, RSRC, RTF, Samsung, Sanyo, Scalado, SEAL, Sigma, SigmaRaw, Sony, SonyIDC, SPIFF, SR2, SR2DataIFD, SR2SubIFD, SRF#, Stim, SubIFD, SVG, System, Theora, Torrent, Track#, Track#ItemList, Track#Keys, Track#UserData, UserData, VCalendar, VCard, Version0, VideoItemList, VideoKeys, VideoUserData, Vivo, VNote, Vorbis, WTV, XML, XMP, XMP-aas, XMP-acdsee, XMP-acdsee-rs, XMP-album, XMP-apdi, XMP-apple-fi, XMP-ast, XMP-aux, XMP-cc, XMP-cell, XMP-crd, XMP-creatorAtom, XMP-crs, XMP-dc, XMP-Device, XMP-dex, XMP-DICOM, XMP-digiKam, XMP-drone-dji, XMP-dwc, XMP-et, XMP-exif, XMP-exifEX, XMP-expressionmedia, XMP-extensis, XMP-fpv, XMP-GAudio, XMP-GCamera, XMP-GContainer, XMP-GCreations, XMP-GDepth, XMP-getty, XMP-GFocus, XMP-GImage, XMP-GPano, XMP-GSpherical, XMP-hdr, XMP-HDRGainMap, XMP-hdrgm, XMP-ics, XMP-iptcCore, XMP-iptcExt, XMP-LImage, XMP-lr, XMP-mediapro, XMP-microsoft, XMP-MP, XMP-MP1, XMP-mwg-coll, XMP-mwg-kw, XMP-mwg-rs, XMP-nine, XMP-panorama, XMP-pdf, XMP-pdfx, XMP-photomech, XMP-photoshop, XMP-PixelLive, XMP-plus, XMP-pmi, XMP-prism, XMP-prl, XMP-prm, XMP-pur, XMP-rdf, XMP-sdc, XMP-seal, XMP-swf, XMP-tiff, XMP-x, XMP-xmp, XMP-xmpBJ, XMP-xmpDM, XMP-xmpDSA, XMP-xmpMM, XMP-xmpNote, XMP-xmpPLUS, XMP-xmpRights, XMP-xmpTPg, ZIP
2 (Category) Audio, Author, Camera, Device, Document, ExifTool, Image, Location, Other, Preview, Printing, Time, Unknown, Video
3 (Document Number) Doc#, Main
4 (Instance Number) Copy#
5 (Metadata Path) eg. JPEG-APP1-IFD0-ExifIFD
6 (EXIF/TIFF Format) int8u, string, int16u, int32u, rational64u, int8s, undef, int16s, int32s, rational64s, float, double, ifd, unicode, complex, int64u, int64s, ifd64
7 (Tag ID) ID-xxx (where xxx is the tag ID. Numerical ID's are given in hex with a leading "0x" if the HexTagIDs API option is set, as are characters in non-numerical ID's which are not valid in a group name. Either decimal or hexadecimal ID's may be used when writing. Note that unlike other group names, family 7 group names are case sensitive.)
8 (File Number) File# (for files loaded via -fileNUM option)

The exiftool output can be organized based on these groups using the -g or -G option (ie. -g1 to see family 1 groups, or -g3:1 to see both family 3 and family 1 group names in the output. See the -g option in the exiftool application documentation for more details, and the GetGroup function in the ExifTool library for a description of the group families. Note that when writing, only family 0, 1, 2 and 7 group names may be used.

Writing Meta Information

When writing information, ExifTool preserves the original file by adding "_original" to the file name. Be sure to keep a copy of the original, or thoroughly validate the new file before erasing the original. (Read here for some ramblings on the subject of writing meta information.)

Syntax

Tag values are written rather than being extracted if any tag name ends with a '=' symbol (or if the -tagsFromFile or -geotag options are used). The '=' may be prefixed by '+', '-' or '<' to add a value, remove a value or set a value from file. The following table outlines the different write syntaxes:

SyntaxResult
-TAG=Deletes all occurrences of TAG
-all=Deletes all meta information!
-GROUP:TAG=Deletes TAG only in specified group
-GROUP:all=Deletes all information in specified group
-[GROUP:]TAG=VALUESets value of TAG (only in GROUP if specified)
-[GROUP:]TAG+=VALUEAdds item to a list, shifts a date/time, or increments a number
-[GROUP:]TAG-=VALUERemoves item from a list, shifts a date/time, or deletes TAG if it has the specified value
-[GROUP:]TAG<=FILESets tag value from contents of specified file
See the Writer Limitations for some limitations of this feature.

Quotes are required around VALUE if it contains spaces or other special characters, and around the whole argument if the '<=' syntax is used (to prevent shell redirection).

A special feature allows the print conversion to be disabled on a per-tag basis by suffixing any tag name (including 'all') with the '#' character. This has the same effect as the -n option, but for a single tag. See the -n option in the application documentation for more details.

Note: Changes to PDF files are reversible because the original metadata is never actually deleted from these files. See the PDF Tags documentation for details.

Group Priorities

ExifTool prioritizes the following types of meta information when writing:

1) EXIF, 2) IPTC, 3) XMP

Many tag names are valid for more than one of these groups. If a group name is not specified when writing information, then the information is added only to the highest priority group for which the tag name is valid (however, the information is updated in all groups where the tag already existed). The priority of the groups is given by the list above. Specifically, this means that new information is added preferentially to the EXIF group, or to the IPTC group if no corresponding EXIF tag exists, or finally to the XMP group.

Alternatively, information may be written to a specific group only, bypassing these priorities, by providing a group name for the tag. The "Writing Meta Information" section above gave the syntax rules for exiftool command-line arguments to do this. Any family 0, 1, 2 or 7 group name may be used when writing information, although not all groups are writable.

The "-tagsFromFile" Option

A special ExifTool option allows copying tags from one file to another. The command-line syntax for doing this is "-tagsFromFile SRCFILE". Any tags specified after this option on the command line are extracted from source file and written to the destination file. If no tags are specified, then all writable tags are copied. This option is very simple, yet very powerful. Depending on the formats of the source and destination files, some of tags read may not be valid in the destination file, in which case they aren't written.

This option may also be used to transfer information between different tags within a single image or between different images. See the -tagsFromFile option in the application documentation for more details.

Writer Limitations

Known Problems

Security Issues

Some ExifTool options (-config, -if, -p, -fileNUM, -api filter, -api filterw and copying arguments like "-DSTTAG<STR") have the ability to execute Perl code from external files or within command-line arguments. This may be a security problem if ExifTool is executed from another application that blindly passes untrusted file names on the command line (since they may be interpreted as ExifTool options if they begin with a dash). To be secure the calling application must either place file names after the "--" option, or ensure that input file names do not start with a dash (U+002D) or a Unicode minus sign (U+2212). One way to accomplish this is to prefix input file names with a known directory name, eg.) "./FILENAME".

On startup, ExifTool executes user-defined code from the .ExifTool_config file located in the ExifTool directory, the directory specified by the EXIFTOOL_HOME, HOME or HOMEDRIVE+HOMEPATH environment variables, or the current working directory. So care must be taken to make sure that any such file contains only trusted code.

As well, untrusted window title strings should not be used with the -progress:TITLE option.

Note that ExifTool NEVER makes an internet connection, so you can be assured that your personal data never leaves your computer.

Date/Time Shift Feature

Have you ever forgotten to set the date/time on your digital camera before taking a bunch of pictures? ExifTool has a time shift feature that makes it easy to apply a batch fix to the timestamps of the images (eg. change the "Date Picture Taken" reported by Windows Explorer). Say for example that your camera clock was reset to .&checktime(2000,01,01,':') 00:00:00 when you put in a new battery at .&checktime(2005,11,03,':') 10:48:00. Then all of the pictures you took subsequently have timestamps that are wrong by 5 years, 10 months, 2 days, 10 hours and 48 minutes. To fix this, put all of the images in the same directory ("DIR") and run exiftool:

exiftool "-DateTimeOriginal+=5:10:2 10:48:0" DIR

The example above changes only the DateTimeOriginal tag, but any writable date or time tag can be shifted, and multiple tags may be written with a single command line. Commonly, in JPEG images, the DateTimeOriginal, CreateDate and ModifyDate values must all be changed. For convenience, a Shortcut tag called AllDates has been defined to represent these three tags. So, for example, if you forgot to set your camera clock back 1 hour at the end of daylight savings time in the fall, you can fix the images with:

exiftool -AllDates-=1 DIR

See Image::ExifTool::Shift.pl (download in PDF format) for details about the syntax of the time shift string.

Note: Not all date/time information is covered by the AllDates shortcut. Specifically, the filesystem date/time tags are not included, and this command will reset FileModifyDate to the current date/time as it should when the file is modified, unless either the -P option is used, or FileModifyDate is set to something else. To shift FileModifyDate along with the other tags, add -FileModifyDate-=1 to the command above.

Renaming and/or Moving Files

By writing a new value to the FileName and/or Directory tags, files can be renamed and/or moved to different directories. This can be a very powerful tool in combination with the -d (date format) option for organizing images by date/time. For example, the following command renames all images in directory "DIR" according to the individual file's creation date in the form "YYYYmmdd_HHMMSS.ext".

exiftool "-FileName<CreateDate" -d "%Y%m%d_%H%M%S.%%e" DIR

Or a new directory can be specified by setting the value of the Directory tag. For example, the following command moves all images originally in directory "DIR" into a directory hierarchy organized by year/month/day:

exiftool "-Directory<DateTimeOriginal" -d "%Y/%m/%d" DIR

Read here for more details about this powerful feature.

Improving Performance

There is a significant overhead in loading ExifTool, so performance may be greatly improved by taking advantage of ExifTool's batch processing capabilities (the ability to process multiple files or entire directories with a single command) to reduce the number of executed commands when performing complex operations or processing multiple files. [One exiftool user documented a 60x speed increase by processing a large number of files with a single command instead of running exiftool separately on each file.] Also, the -execute option may be used to perform multiple independent operations with a single invocation of exiftool, and together with the -stay_open option provides a method for calling applications to avoid this startup overhead.

It has also been observed that the loading time of ExifTool for Windows increases significantly when Windows Defender is active. Disabling Windows Defender may speed things up significantly.

The processing speed of ExifTool can be improved when extracting information by reducing the amount of work that it must do. Decrease the number of extracted tags by specifying desired tags individually (-TAG) or by group (-GROUP:all), and disable the composite tags (-e) and the print conversions (-n) if these features aren't required. Note that the exclude options (-x or --TAG) are not very efficient, and may have a negative impact on performance if a large number of tags are excluded individually. The exception is XMP groups, which are bypassed in processing so they are never even extracted -- specifying --XMP-crs:all and -XMP-crd:all may speed processing significantly by avoiding processing of bulky Adobe image-editing information. The API IgnoreTags option (added in ExifTool 12.43) may also be used for significant speed benefits in some cases, especially when memory usage is significant because this may significantly reduced the required memory.

The -fast option can significantly increase speed when extracting information from JPEG images which are piped across a slow network connection. However, with this option any information in a JPEG trailer is not extracted. For more substantial speed benefits, -fast2 may be used to also avoid extracting MakerNote information if this is not required, or -fast4 if only pseudo System tags are required.

When writing, avoid copying tags (with -tagsFromFile) or using the -if or -fileOrder option because these will add the extra step of extracting tags from the file. Without these the write operation is accomplished with a single pass of each file.

However, note that when the -csv option is used, information from all files is buffered in memory before the CSV output is written. This may be very memory intensive and result in poor performance when reading a large number of files in a single command.

The Image::ExifTool Perl Library Module

The "exiftool" script provides a command-line interface to the Image::ExifTool Perl library module which is part of the ExifTool distribution. The Image::ExifTool module can be used in any Perl script to provide easy access to meta information. Here is an example of a very simple script that uses Image::ExifTool to print out all recognized meta information in a file:

#!/usr/bin/env perl
use Image::ExifTool ':Public';
my $file = shift or die "Please specify filename";
my $info = ImageInfo($file);
foreach (keys %$info) {
 print "$_ : $info->{$_}\n";
}

Note that some tag values may be returned as SCALAR references indicating binary data. The simple script above does not handle this case.

See the Image::ExifTool Documentation for more details.

Additional Documentation and Resources

User-contributed Documentation

Related Utilities

Below are some free utilities which take advantage of the ExifTool engine:

Windows

MacOS

Linux

Android

Multi-Platform

Web Browser

Online

Lightroom Plugins

Programming

Other Links

Boldly Go where No Man has Gone Before...

There is still much unknown information in the maker notes for many camera models. (To see this information, run exiftool with the -U option.) In this area, ExifTool is very much a collaborative effort, and development relies heavily on the input from camera owners to help decode new meta information. If you manage to figure out what any of it means, send me an e-mail (exiftool@gmail.com) and I'll add your new discoveries to ExifTool. Many thanks to all who have helped so far...

Acknowledgements

Thanks to everyone who has sent in bug reports, comments, or suggestions, and special thanks to the following people for their valuable input and/or additions to the code:

License

This is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Donate

ExifTool is free, but due to popular request I am providing a way for those who feel the need to send me some money. It is really not necessary, but thank you very much if you decide to make a contribution:

$

(Your generous donations have provided the funds used to register exiftool.org and pay for web site hosting, and for the Mac Mini used to generate distribution files, run the necessary Windows virtual machine, and maintain source-code and forum backups.)

Phil's Background

Phil has a master's degree in nuclear physics and is now officially retired from his position at Queen's University where he worked with the Nobel-prize-winning Sudbury Neutrino Observatory (SNO) team and other SNOLab experiments from 1990 to 2020. For SNO he wrote the software to acquire, format, store and display all of the hundreds of terabytes of data generated by the detector; software that continues to be used by SNO+ for their even greater data volume.

ExifTool started as a simple utility used to display metadata from images hosted on the SNO web site, but quickly expanded in scope as Phil got involved with digital photography beginning in 2001. During retirement Phil continues to enjoy digital photography, a hobby which he now applies to bird watching. A selection of his birding pictures may be found in his recent Birds of Kingston book.

Contact Me

If you have any comments, suggestions or questions, please post to the ExifTool Forum so other people may benefit from your experiences. (I will respond in the forum more quickly than by email.) Otherwise, if you must contact me directly, my e-mail address is on the first line of the README file in the full distribution. Thanks. - Phil Harvey

Installing Tag Names Resources History Forum FAQ

AltStyle によって変換されたページ (->オリジナル) /