ExifTool by Phil Harvey
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 with your IP address 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
Download Version 13.57
(7.9 MB) -
Apr. 17, 2026
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.)
Windows
32-bit:
exiftool-13.57_32.zip
(11.4 MB)
64-bit:
exiftool-13.57_64.zip
(11.2 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.57.pkg
(5.7 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
Powerful, fast, flexible and customizable
Supports a large number of different file formats
Reads
EXIF
GPS
IPTC
XMP
JFIF
, MakerNotes,
C2PA JUMBF
GeoTIFF
ICC Profile
Photoshop IRB
FlashPix
AFCP
ID3
Lyrics3
and more...
Writes
EXIF
GPS
IPTC
XMP
JFIF
, MakerNotes,
GeoTIFF
ICC Profile
Photoshop IRB
AFCP
and more...
Reads and writes maker notes of many digital cameras
Reads
timed metadata
(eg. GPS track) from MOV/MP4/M2TS/AVI videos
Reads
GM PDR data
from videos written by cars such as Corvette and Camero
Numerous output formatting options (including tab-delimited, HTML, XML and JSON)
Multi-lingual output (cs, de, en, en-ca, en-gb, es, fi, fr, it, ja, ko, nl, pl, ru, sk, sv, tr, zh-cn or zh-tw)
Compares two files for metadata differences
Generates
SVG-format output plots
from file metadata
Geotags images
from GPS track log files (with time drift correction!)
Generates track logs
from geotagged images
Geolocation feature
identifies nearest city based on GPS position (and visa versa)
Shifts date/time values
to fix timestamps in images
Renames files and organizes in directories
(by date
or by any other meta information)
Extracts thumbnail images, preview images, and large JPEG images from RAW files
Copies meta information between files (even different-format files)
Reads/writes
structured XMP information
Deletes meta information individually, in groups, or altogether
Sets the file modification date (and creation date in Mac and Windows) from EXIF information
Supports alternate language tags in
XMP
PNG
ID3
Font
QuickTime
ICC Profile
MIE
and
MXF
information
Processes entire directory trees
Creates text output file for each image file
Creates binary-format metadata-only (MIE, EXV) files for metadata backup
Automatically backs up original image when writing
Organizes output into groups
Conditionally processes files based on value of any meta information
Ability to
add custom user-defined tags
Support for MWG
(Metadata Working Group) recommendations
Ability to read tags from multiple files simultaneously, allowing metadata to be compared
and combined between files
Generates MD5/SHA256/SHA512 hashes of image data only for many file types (for comparison and validation
of image data)
Recognizes
tens of thousands of different tags
Tested with images from
thousands of different camera models
Advanced
verbose
and
HTML-based hex dump
outputs
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
ead,
rite and/or
reate 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
ritable, but may be
eleted from some file types by deleting the JUMBF group (ie.
-JUMBF:all=
).
File Type
Support
Description
EXIF
IPTC
XMP
ICC
C2PA
Other
3FR
Hasselblad RAW (
TIFF
-based)
3G2, 3GP2
R/W
3rd Gen. Partnership Project 2 a/v (
QuickTime
-based)
R/W
R/W
R/W/C
R/D
R/W/C
QuickTime
3GP, 3GPP
R/W
3rd Gen. Partnership Project a/v (
QuickTime
-based)
R/W
R/W
R/W/C
R/D
R/W/C
QuickTime
7z
7z Archive
ZIP
Unix static library code Archive
EXE
AA
Audible Audiobook
Audible
AAC
Advanced Audio Codec
AAC
AAE
Apple edit information (XML
PLIST
-based)
PLIST
AAX
R/W
Audible Enhanced Audiobook (
QuickTime
-based)
R/W
R/W
R/W/C
R/D
R/W/C
QuickTime
ACR
American College of Radiology ACR-NEMA (DICOM-like)
DICOM
AFM, ACFM, AMFM
Adobe [Composite/Multiple Master] Font Metrics
Font
AI, AIT
R/W
Adobe Illustrator [Template] (
PS
or
PDF
R/W/C
R/W/C
R/W/C
R/W/C
R/W/C
PDF
PostScript
, R
Photoshop
AIFF, AIF, AIFC
Audio Interchange File Format [Compressed]
AIFF
ID3
Lyrics3
APE
Monkey's Audio
APE
ID3
Lyrics3
ARQ
R/W
Sony Alpha Pixel-Shift RAW (
TIFF
-based)
R/W/C
R/W/C
R/W/C
R/W/C
R/D
R/W
Sony
SonyIDC
ARW
R/W
Sony Alpha RAW (
TIFF
-based)
R/W/C
R/W/C
R/W/C
R/W/C
R/D
R/W
Sony
SonyIDC
ASF
Microsoft Advanced Systems Format
ASF
AVI
Audio Video Interleaved (
RIFF
-based)
RIFF
AVIF
R/W
AV1 Image File Format (
QuickTime
-based)
R/W/C
R/W/C
R/W
R/D
R/W
QuickTime
BMP, DIB
Windows BitMaP / Device Independent Bitmap
BMP
BPG
Better Portable Graphics
BPG
BTF
BigTIFF (64-bit Tagged Image File Format)
CAP
Microsoft Network Monitor Capture
PCAP
C2PA, JUMBF
C2PA JPEG Universal Metadata Box Format
Jpeg2000
CHM
Microsoft Compiled HTML format
EXE
COS
Capture One Settings (XML-based)
R XML
CR2
R/W
Canon RAW 2 (
TIFF
-based) (
CR2 spec
R/W/C
R/W/C
R/W/C
R/W/C
R/D
R/W
Canon
, R/W/C
CanonVRD
CR3
R/W
Canon RAW 3 (
QuickTime
-based) (
CR3 spec
R/W/C
R/W/C
R/D
R/W
Canon
QuickTime
, R/W/C
CanonVRD
CRM
R/W
Canon RAW Movie (
QuickTime
-based)
R/W/C
R/W/C
R/D
R/W
Canon
QuickTime
CRW, CIFF
R/W
Canon RAW Camera Image File Format (
CRW spec
R/W/C
R/W
CanonRaw
, R/W/C
CanonVRD
CS1
R/W
Sinar CaptureShop 1-shot RAW (
PSD
-based)
R/W/C
R/W/C
R/W/C
R/W/C
Photoshop
CSV
Comma-Separated Values
Text
CZI
Zeiss Integrated Software RAW (
ZISRAW
ZISRAW
, R XML
DCM, DC3, DIC, DICM
DICOM - Digital Imaging and Communications in Medicine
DICOM
DCP
R/W
DNG Camera Profile (
DNG
-like)
R/W/C
R/W/C
R/W/C
R/W/C
R/D
DCR
Kodak Digital Camera RAW (
TIFF
-based)
DFONT
Macintosh Data Fork Font
Font
DIVX
DivX media format (
ASF
-based)
ASF
DJVU, DJV
DjVu image (AIFF-like)
DJVU
DNG
R/W
Digital Negative (
TIFF
-based)
R/W/C
R/W/C
R/W/C
R/W/C
R/D
DOC, DOT
Microsoft Word Document/Template (
FPX
-like)
FlashPix
DOCX, DOCM
Office Open XML Document [Macro-enabled]
XML
ZIP
DOTX, DOTM
Office Open XML Document Template [Macro-enabled]
XML
ZIP
DPX
Digital Picture Exchange
DPX
DR4
R/W/C
Canon DPP version 4 Recipe
R/W/C
CanonVRD
DSF
DSD Stream File
DSF
ID3
Lyrics3
DSS, DS2
Digital Speech Standard [2]
Olympus
DYLIB
MacOS Mach-O executable and library files
EXE
DV
Digital Video
DV
DVB
R/W
Digital Video Broadcasting (
QuickTime
-based)
R/W
R/W
R/W/C
R/D
R/W/C
QuickTime
DVR-MS
Microsoft Digital Video Recording (
ASF
-based)
ASF
EIP
Capture One Enhanced Image Package (
ZIP
-based)
R XML
ZIP
EPS, EPSF, PS
R/W
[Encapsulated] PostScript Format
R/W/C
R/W/C
R/W/C
R/W/C
R/W/C
PostScript
, R
Photoshop
EPUB
Electronic Publication (ZIP/XML-based)
R XML
ZIP
ERF
R/W
Epson RAW Format (
TIFF
-based)
R/W/C
R/W/C
R/W/C
R/W/C
R/D
R/W
Olympus
EXE, DLL
DOS/Windows executable and library files
EXE
EXIF
R/W/C
Exchangeable Image File Format metadata (
TIFF
-based)
R/W/C
R/D
EXR
Open EXR (Extended Range)
OpenEXR
EXV
R/W/C
Exiv2 metadata file (
JPEG
-based)
R/W/C
R/W/C
R/W/C
R/W/C
R/D
Supported JPEG Meta Information
F4A, F4B, F4P, F4V
R/W
Adobe Flash Player 9+ Audio/Video (
QuickTime
-based)
R/W
R/W
R/W/C
R/D
R/W/C
QuickTime
FFF
R/W
Hasselblad Flexible File Format (
TIFF
-based)
R/W/C
R/W/C
R/W/C
R/W/C
R/D
FFF
FLIR Systems thermal image File Format
FLIR
FIT
Garmin Flexible and Interoperable data Transfer
Garmin
FITS
Flexible Image Transport System
FITS
FLA
Macromedia/Adobe Flash project (
FPX
-like)
FlashPix
FLAC
Free Lossless Audio Codec
FLAC
ID3
Lyrics3
FLIF
R/W
Free Lossless Image Format
R/W/C
R/W/C
R/W/C
FLIF
FLV
Flash Video
Flash
FPF
FLIR Public image Format
FLIR
FPX
FlashPix image
FlashPix
GIF
R/W
Compuserve Graphics Interchange Format
R/W/C
R/W/C
R/D
R/W/C
GIF
GLV
R/W
Garmin Low-resolution Video (
QuickTime
-based)
R/W
R/W
R/W/C
R/D
R/W/C
QuickTime
GPR
R/W
GoPro RAW (
DNG
-based)
R/W/C
R/W/C
R/W/C
R/W/C
R/D
GZ, GZIP
GNU ZIP compressed archive
ZIP
HDP, WDP, JXR
R/W
Windows HD Photo / Media Photo / JPEG XR (
TIFF
-based)
R/W/C
R/W/C
R/W/C
R/W/C
R/D
HDR
Radiance RGBE High Dynamic-Range
Radiance
HEIC, HEIF, HIF
R/W
High Efficiency Image Format (
QuickTime
-based)
R/W/C
R/W/C
R/W
R/D
R/W
QuickTime
HTML, HTM, XHTML
[Extensible] HyperText Markup Language
HTML
ICC, ICM
R/W/C
International Color Consortium color profile
R/W/C
ICO, CUR
Windows Icon / Cursor
ICO
ICS, ICAL
iCalendar Schedule
VCalendar
IDML
Adobe InDesign Markup Language (ZIP/XML-based)
R XML
ZIP
IIQ
R/W
Phase One Intelligent Image Quality RAW (
TIFF
-based)
R/W/C
R/W/C
R/W/C
R/W/C
R/D
R/W
PhaseOne
IND, INDD, INDT
R/W
Adobe InDesign Document/Template
R/W/C
INSP
R/W
Insta360 Picture (
JPEG
-based)
R/W/C
R/W/C
R/W/C
R/W/C
R/D
Supported JPEG Meta Information
INSV
Insta360 Video (
QuickTime
-based)
QuickTime
INX
Adobe InDesign Interchange (XML-based)
ISO
ISO 9660 disk image
ISO
ITC
iTunes Cover Flow artwork
ITC
J2C, J2K, JPC
JPEG 2000 codestream
Jpeg2000
Photoshop
JP2, JPF, JPM,
JPX, JPH
R/W
JPEG 2000 image [Compound/Extended/High-throughput]
R/W/C
R/W/C
R/W/C
R/W/C
Jpeg2000
, R
Photoshop
JPEG, JPG, JPE
R/W
Joint Photographic Experts Group image
R/W/C
R/W/C
R/W/C
R/W/C
R/D
Supported JPEG Meta Information
JSON
JavaScript Object Notation
JSON
JXL
R/W
JPEG XL (codestream and ISO BMFF) (
Jpeg2000
-based)
R/W/C
R/W/C
K25
Kodak DC25 RAW (
TIFF
-based)
KDC
Kodak Digital Camera RAW (
TIFF
-based)
Kodak
KEY, KTH
Apple iWork '09 Keynote presentation/Theme
XML
ZIP
KVAR
Kandao Video Asset Resource
KVAR
LA
Lossless Audio (
RIFF
-based)
RIFF
LFP, LFR
Lytro Light Field Picture
Lytro
LIF
Leica Image File
LIF
LNK
Microsoft Shell Link (Windows shortcut)
LNK
LRV, LRF
R/W
Low-Resolution Video (
QuickTime
-based)
R/W
R/W
R/W/C
R/W/C
QuickTime
M2TS, MTS, M2T, TS
MPEG-2 Transport Stream (used for AVCHD video)
M2TS
H264
MISB
M4A, M4B, M4P, M4V
R/W
MPEG-4 Audio/Video (
QuickTime
-based)
R/W
R/W
R/W/C
R/D
R/W/C
QuickTime
MACOS
MacOS "._" sidecar file (may have any extension)
XAttr
RSRC
MAX
3D Studio MAX (
FPX
-like)
FlashPix
MEF
R/W
Mamiya (RAW) Electronic Format (
TIFF
-based)
R/W/C
R/W/C
R/W/C
R/W/C
R/D
MIE
R/W/C
Meta Information Encapsulation (
MIE specification
R/W/C
R/W/C
R/W/C
R/W/C
R/D
R/W/C
MIE
MIFF, MIF
Magick Image File Format
MIFF
Photoshop
MKA, MKV, MKS
Matroska Audio/Video/Subtitle
Matroska
MOBI, AZW, AZW3
Mobipocket electronic book (
Palm
-based)
Palm
MOBI
MODD
Sony Picture Motion metadata (XML
PLIST
-based)
PLIST
MOI
MOD Information file
MOI
MOS
R/W
Creo Leaf Mosaic (
TIFF
-based)
R/W/C
R/W/C
R/W/C
R/W/C
R/D
Leaf
MOV, QT
R/W
Apple QuickTime Movie
R/W
R/W
R/W/C
R/D
R/W/C
QuickTime
MP3
MPEG-1 layer 3 audio
MPEG
ID3
Lyrics3
APE
MP4
R/W
Motion Picture Experts Group version 4 (
QuickTime
-based)
R/W
R/W
R/W/C
R/D
R/W/C
QuickTime
MPC
Musepack Audio
MPC
ID3
Lyrics3
APE
MPEG, MPG, M2V
Motion Picture Experts Group version 1 or 2
MPEG
ID3
Lyrics3
MPO
R/W
Extended Multi-Picture format (
JPEG
with
MPF
extensions)
R/W/C
R/W/C
R/W/C
R/W/C
R/D
Supported JPEG Meta Information
MQV
R/W
Sony Mobile QuickTime Video
R/W
R/W
R/W/C
R/D
R/W/C
QuickTime
MRW
R/W
Minolta RAW
R/W/C
R/W/C
R/W/C
R/W/C
R/D
R/W
MinoltaRaw
Minolta
MRC
Medical Research Council
MRC
MXF
Material Exchange Format
MXF
NEF
R/W
Nikon (RAW) Electronic Format (
TIFF
-based)
R/W/C
R/W/C
R/W/C
R/W/C
R/D
R/W
Nikon
NikonCapture
NKA
Nikon NX Studio Adjustments
R XML
NKSC
R/W
Nikon Sidecar (
XMP
-based)
R/W/C
NMBTEMPLATE
Apple iWork '09 Numbers Template
XML
ZIP
NRW
R/W
Nikon RAW (2) (
TIFF
-based)
R/W/C
R/W/C
R/W/C
R/W/C
R/D
R/W
Nikon
NikonCapture
NXD
Nikon Capture NX-D adjustments (XMP-based)
NUMBERS
Apple iWork '09 Numbers spreadsheet
XML
ZIP
Unix compiled code Object
EXE
ODB, ODC, ODF, ODG,
ODI, ODP, ODS, ODT
Open Document Database/Chart/Formula/Graphics/
Image/Presentation/Spreadsheet/Text (ZIP/XML-based)
R XML
ZIP
OFR
OptimFROG audio (
RIFF
-based)
RIFF
OGG, OGV
Ogg bitstream container
FLAC
ID3
Lyrics3
Theora
Vorbis
ONP
ON1 Presets
JSON
PLIST
OPUS
Ogg Opus audio
FLAC
ID3
Lyrics3
Opus
Vorbis
ORF, ORI
R/W
Olympus RAW Format (
TIFF
-based)
R/W/C
R/W/C
R/W/C
R/W/C
R/D
R/W
Olympus
OTF
Open Type Font
Font
PAC
Lossless Predictive Audio Compression (
RIFF
-based)
RIFF
PAGES
Apple iWork '09 Pages document
XML
ZIP
PCAP, PCAPNG
Packet Capture (Next Generation)
PCAP
PCD
Kodak Photo CD Image Pac
PhotoCD
PCX
PC Paintbrush
PCX
PDB, PRC
Palm Database
Palm
PDF
R/W
Adobe Portable Document Format
R/W/C
R/W/C
PDF
, R
Photoshop
PEF
R/W
Pentax (RAW) Electronic Format (
TIFF
-based)
R/W/C
R/W/C
R/W/C
R/W/C
R/D
R/W
Pentax
PFA, PFB
PostScript Font ASCII/Binary
Font
PFM
Printer Font Metrics
Font
PFM
Portable FloatMap
PFM
PGF
Progressive Graphics File
PGF
PNG
PICT, PCT
Apple Picture file
PICT
Photoshop
PLIST
Apple Property List (binary and XML formats)
PLIST
PMP
Sony DSC-F1 Cyber-Shot image
Sony
PNG
JNG, MNG
R/W
Portable/JPEG/Multiple-image Network Graphics
R/W/C
R/W/C
R/W/C
R/W/C
R/D
R/W/C
PNG
PPM, PBM, PGM
R/W
Portable Pixel/Bit/Gray Map
R PPM, R/W/C Comment
PPT, PPS, POT
PowerPoint Presentation/Slideshow/Template (
FPX
-like)
FlashPix
POTX, POTM
Office Open XML Presentation Template [Macro-enabled]
XML
ZIP
PPAX, PPAM
Office Open XML Presentation Addin [Macro-enabled]
XML
ZIP
PPSX, PPSM
Office Open XML Presentation Slideshow [Macro-enabled]
XML
ZIP
PPTX, PPTM
Office Open XML Presentation [Macro-enabled]
XML
ZIP
PSD, PSB, PSDT
R/W
PhotoShop Document / Large Document / Template
R/W/C
R/W/C
R/W/C
R/W/C
Photoshop
PSP, PSPIMAGE
Paint Shop Pro
PSP
QTIF, QTI, QIF
R/W
QuickTime Image File
R/W
R/W
R/W/C
R/D
R/W/C
QuickTime
R3D
Redcode RAW video
Red
RA
Real Audio
Real
ID3
Lyrics3
RAF
R/W
FujiFilm RAW Format
R/W/C
R/W/C
R/W/C
R/W/C
R/D
R/W
FujiFilm
RAM, RPM
Real Audio/Plug-in Metafile
Real
RAR
RAR Archive
ZIP
RAW
Kyocera Contax N Digital RAW
KyoceraRaw
RAW
R/W
Panasonic RAW (
TIFF
-based)
R/W/C
R/W/C
R/W/C
R/W/C
R/D
R/W
PanasonicRaw
Panasonic
RIFF, RIF
Resource Interchange File Format
RIFF
RM, RV, RMVB
Real Media/Video [Variable Bitrate]
Real
RSRC
Mac OS Resource
RSRC
Photoshop
PostScript
Font
RTF
Rich Text Format
RTF
RW2
R/W
Panasonic RAW 2 (
TIFF
-based)
R/W/C
R/W/C
R/W/C
R/W/C
R/D
R/W
PanasonicRaw
Panasonic
RWL
R/W
Leica RAW (
TIFF
-based)
R/W/C
R/W/C
R/W/C
R/W/C
R/D
R/W
PanasonicRaw
Panasonic
RWZ
Rawzor compressed image
Rawzor
SEQ
FLIR Systems image Sequence
FLIR
SKETCH
Sketch design file
JSON
ZIP
SO
Unix ELF executable and Shared Object files
EXE
SR2
R/W
Sony RAW 2 (
TIFF
-based)
R/W/C
R/W/C
R/W/C
R/W/C
R/D
R/W
Sony
SRF
Sony RAW Format (
TIFF
-based)
Sony
SRW
R/W
Samsung RAW format (
TIFF
-based)
R/W/C
R/W/C
R/W/C
R/W/C
R/D
R/W
Samsung
SVG
Scalable Vector Graphics (XML-based)
SVG
SWF
Shockwave Flash
Flash
THM
R/W
Thumbnail image (
JPEG
R/W/C
R/W/C
R/W/C
R/W/C
R/D
Supported JPEG Meta Information
THMX
Office Open XML Theme
XML
ZIP
TIFF, TIF
R/W
Tagged Image File Format
R/W/C
R/W/C
R/W/C
R/W/C
R/D
R/W/C
GeoTIFF
, R/W
Trailers
TNEF
Transport Neutral Encapsulation Format
TNEF
TORRENT
BitTorrent description file
Torrent
TTF, TTC
True Type Font/Collection
Font
TXT
Text files
Text
URL
Windows URL Link (INI format)
INI
VCF, VCARD
Virtual Card
VCard
VNT
Scene7 Vignette (
FPX
-like)
FlashPix
VNT
V-Note document
VNote
VOB
Video Object (
MPEG
-based)
MPEG
VRD
R/W/C
Canon DPP Recipe Data
R/W/C
R/W/C
CanonVRD
VSD
Microsoft Visio Drawing (
FPX
-like)
FlashPix
VSDX
Microsoft Visio Drawing XML
XML
ZIP
WAV
Windows digital audio WAVeform (
RIFF
-based)
RIFF
WEBM
Google Web Movie (
Matroska
-based)
Matroska
WEBP
R/W
Google Web Picture (
RIFF
-based)
R/W/C
R/W/C
R/W/C
R/D
RIFF
WMA, WMV
Windows Media Audio/Video (
ASF
-based)
ASF
WOFF
Web Open Font Format
Font
WOFF2
Web Open Font Format 2
Font
WPG
WordPerfect Graphics
WPG
WTV
Windows recorded TV show
WTV
WV, WVP
WavPack audio
WavPack
RIFF
ID3
Lyrics3
APE
X3F
R/W
Sigma/Foveon RAW
R/W/C
R/W/C
R/W/C
R/W/C
R/D
R/W
Sigma
, R
SigmaRaw
XCF
GIMP native image format
GIMP
XISF
Extensible Image Serialization Format
XISF
XLS, XLT
Microsoft Excel Spreadsheet/Template (
FPX
-like)
FlashPix
XLSX, XLSM, XLSB
Office Open XML Spreadsheet [Macro-enabled/Binary]
XML
ZIP
XLTX, XLTM
Office Open XML Spreadsheet Template [Macro-enabled]
XML
ZIP
XMP
R/W/C
Extensible Metadata Platform sidecar file
R/W/C
ZIP
ZIP archive
ZIP
Block write only,
Block create only,
Non-standard format,
Only writable for PostScript-format file type,
Only writable for PDF-format file type,
Only writable when ignoring minor errors due to
Phocus incompatibility
Old metdata is never actually deleted
Supported JPEG Meta Information
ExifTool can
ead,
rite and/or
reate the following types
of meta information in JPEG images:
JPEG Meta Information
Support
Description
APP0 -
JFIF
R/W/C
JPEG File Interchange Format
APP0 -
JFXX
Extended JFIF
APP0 -
CIFF
R/W
Camera Image File Format
(used by some Canon models)
APP0 -
AVI1
JPEG AVI information
APP0 -
Ocad
Photobucket Ocad segment
APP1 -
EXIF
R/W/C
Exchangeable Image File Format (multi-segment)
APP1 -
XMP
R/W/C
Extensible Metadata Platform (multi-segment)
APP1 -
QVCI
Casio QV-7000SX QVCI information
APP1 -
FLIR
FLIR thermal imaging data (multi-segment)
APP1 - RawThermalImage
Thermal image from Parrot Bebop-Pro Thermal drone
APP2 -
ICC
R/W/C
International Color Consortium (multi-segment)
APP2 -
FPXR
FlashPix Ready (multi-segment)
APP2 -
MPF
Multi-Picture Format
APP2 -
InfiRay Version
InfiRay IJPEG Version header
APP2 - AROT
HDR Gain Curve
APP2 - PreviewImage
Samsung/GE APP2 preview image (multi-segment)
APP3 -
Kodak Meta
R/W
Kodak Meta information (EXIF-like)
APP3 -
Stim
Stereo Still Image format
APP3 -
JPS
JPEG Stereo image
APP3 - ThermalData
DJI RJPEG thermal data (multi-segment)
APP3 - ImagingData
InfiRay IJPEG IR+thermal+visible data (multi-segment)
APP3 - PreviewImage
Samsung/HP preview image (multi-segment)
APP4 -
Scalado
(presumably written by
Scalado
mobile software)
APP4 -
ThermalParams
Thermal parameters from DJI RJPEG file
APP4 -
ThermalParams2
DJI thermal parameters type 2
APP4 -
ThermalParams3
DJI thermal parameters type 3
APP4 -
FPXR
FlashPix Ready in non-standard location (multi-segment)
APP4 -
Qualcomm Dual
Qualcomm Dual Camera Attributes
APP4 -
InfiRay Factory
InfiRay IJPEG Factory Temperature
APP4 - PreviewImage
(continued from APP3)
APP5 -
Ricoh RMETA
Ricoh custom fields
APP5 -
Samsung UniqueID
Samsung Unique ID
APP5 - ThermalCalibration
Thermal calibration data from DJI RJPEG file
APP5 -
InfiRay Picture
InfiRay IJPEG Picture Temperature
APP5 - PreviewImage
(continued from APP4)
APP6 -
EPPIM
Toshiba PrintIM
APP6 -
NITF
National Imagery Transmission Format
APP6 -
HP TDHD
Hewlett-Packard Photosmart R837 TDHD information
APP6 -
GoPro
GoPro Metadata Format (GPMF) information
APP6 - DJI DTAT
DJI Thermal Analysis Tool record (JSON format)
APP6 -
InfiRay MixMode
InfiRay IJPEG Mix Mode
APP7 -
Pentax
Pentax APP7 maker notes
APP7 -
Ricoh
Ricoh APP7 maker notes
APP7 -
Qualcomm
Qualcomm Camera Attributes
APP7 - Huawei
Huawei APP7 maker notes (extract with Unknown option)
APP7 -
InfiRay OpMode
InfiRay IJPEG Operation Mode
APP6 -
DJI Info
DJI debug information
APP8 -
SPIFF
Still Picture Interchange File Format
APP8 -
SEAL
SEAL content authentification
APP8 -
InfiRay Isothermal
InfiRay IJPEG Isothermal
APP9 -
Media Jukebox
Media Jukebox XML information
APP9 -
InfiRay Sensor
InfiRay IJPEG Sensor Information
APP9 -
SEAL
SEAL content authentification
APP10 - URN
Uniform Resource Name
APP10 - Comment
PhotoStudio Unicode Comment
APP11 -
JPEG-HDR
JPEG-HDR compressed ratio image
APP11 -
JUMBF (C2PA)
Jpeg Universal Metadata Box Format (multi-segment)
APP12 -
Picture Info
ASCII-based Picture Information
APP12 -
Ducky
R/W/C
Photoshop "Save for Web"
APP13 -
Photoshop IRB
R/W/C
Image Resource Block (multi-segment, includes
IPTC
APP13 -
Adobe CM
Adobe Color Management
APP14 -
Adobe
R/W/C
Adobe DCT filter
APP15 -
GraphicConverter
GraphicConverter quality
COM
R/W/C
JPEG Comment (multi-segment)
DQT
(used to calculate the
Extra:JPEGDigest
tag value)
SOF
JPEG Start Of Frame
JPEG Trailer
Support
Description
AFCP trailer
R/W
AXS File Concatenation Protocol (includes
IPTC
CanonVRD trailer
R/W/C
Canon DPP Recipe Data (includes
DR4
FotoStation trailer
R/W
FotoWare FotoStation (includes
IPTC
PhotoMechanic trailer
R/W
Camera Bits Photo Mechanic
MIE trailer
R/W
Meta Information Encapsulation
MPF trailer
Multi-Picture Format images
Samsung trailer
Samsung Galaxy trailer
Vivo trailer
Trailer written by some Vivo phones
OnePlus trailer
Trailer written by some OnePlus phones
Google trailer
Trailer written by some Google phones
Insta360 trailer
Insta360 trailer found in INSP files
NikonApp trailer
Nikon trailer added by NX Studio to NEF/NRW files
Sony HiddenData trailer
Hidden data written by some Sony models
PreviewImage trailer
R/W/C
(preview image written after JPEG EOI)
EmbeddedVideo trailer
(extracted only with ExtractEmbedded option)
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:
Windows executable
package is available which includes Strawberry 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 Name
Operation
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
2003:12:04 06:46:52
Shooting Mode
Bulb
Shutter Speed
Aperture
14.0
Metering Mode
Center-weighted average
Exposure Compensation
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
2003:12:04 06:46:52
Aufnahmemodus
Bulb
Belichtungsdauer
Blende
14.0
Belichtungsmessmethode
Mittenbetont
Belichtungskorrektur
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 : 2024:09:05 14:37:40
> : 2024:09:05 14:41:05
< [ExifIFD] Exposure Time : 1/400
> : 1/1000
< [ExifIFD] F Number : 4.0
> : 5.6
< [ExifIFD] Date/Time Original : 2024:09:05 14:37:40
> : 2024:09:05 14:41:05
< [ExifIFD] Create Date : 2024:09:05 14:37:40
> : 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:
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.
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
).
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.
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:
Family
Group 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, Garmin, GeoTiff, GIF,
GIMP, GM, GoPro, H264, HTML, ICC_Profile, ID3, IPTC, ISO, ITC, JFIF, JPEG,
Jpeg2000, JSON, JUMBF, Kandao, 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, AADAccelFeatures, AC3, AccelData, Activity, Adobe, AdobeCM, AdobeDNG,
AFCP, AIFF, AntChannelID, AntRx, AntTx, APE, APP2, Apple, AROT, ASF,
Audible, AudioItemList, AudioKeys, AudioUserData, AuxBattery, AVI1,
AviationAttitude, Barometer, BeatIntervals, BikeProfile, BloodPress,
CadenceZone, CameraEvent, CameraIFD, Canon, CanonCustom, CanonDR4, CanonRaw,
CanonVRD, Capabilities, Casio, CBOR, Chapter#, ChronoShotData,
ChronoShotSession, CIFF, ClimbPro, Composite, Connectivity, Course,
CoursePoint, DevDataID, DeviceInfo, DeviceSettings, DICOM, DiveAlarm,
DiveApneaAlarm, DiveGas, DiveSettings, DiveSummary, DJI, DjVu, DjVu-Meta,
DNG, Ducky, DV, EPPIM, Event, ExdDataConceptConfig, ExdDataFieldConfig,
ExdScreenConfig, EXE, ExerciseTitle, EXIF, ExifIFD, ExifTool, FieldCaps,
FieldDescr, File, FileCaps, FileCreator, FileID, FITS, FLAC, Flash,
FlashPix, FLIR, Font, FotoStation, FujiFilm, FujiIFD, Garmin, GE, GeoTiff,
GIF, GIMP, GlobParamIFD, GM, Goal, Google, GoPro, GPS, GraphConv,
GSpherical, GyroData, H264, HP, HR, HRMProfile, HRV, HRVStatusSummary,
HRVValue, HRZone, HSA_HRData, HSA_SPO2Data, HSAAccelData, HSABodyBattery,
HSAConfigData, HSAEvent, HSAGyroData, HSARespirData, HSAStepData,
HSAStressData, HSAWristTemp, 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, Jump, JVC, KDC_IFD, Keys, KFIX, Kodak,
KodakBordersIFD, KodakEffectsIFD, KodakIFD, KVAR, KyoceraRaw, Lap, Leaf,
LeafSubIFD, Leica, Length, LNK, Lyrics3, Lytro, M-RAW, M2TS, MAC, MacOS,
MagData, MakerNotes, MakerUnknown, Matroska, MaxMetData, MediaJukebox,
MemoGlob, MesgCaps, Meta, MetaIFD, MetZone, 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, MonitorHRData, MonitorInfo, Monitoring,
Motorola, MPC, MPEG, MPF0, MPImage, MS-DOC, MXF, NapEvent, Nextbase, Nikon,
NikonCapture, NikonCustom, NikonScan, NikonSettings, NineEdits, Nintendo,
NITF, NMEA, OBDIIData, Ocad, Ogg, OHRSettings, Olympus, OneDSensorCal,
OnePlus, OpenEXR, Opus, Palm, Panasonic, PanasonicRaw, Parrot, PDF, Pentax,
PhaseOne, PhotoCD, PhotoMechanic, Photoshop, PICT, PictureInfo, PNG,
PNG-cICP, PNG-pHYs, PostScript, PowerZone, PreviewIFD, PrintIM, ProfileIFD,
PSP, Qualcomm, QuickTime, Radiance, RAF, RAF2, RawBBI, Rawzor, Real,
Real-CONT, Real-MDPR, Real-PROP, Real-RA3, Real-RA4, Real-RA5, Real-RJMD,
Reconyx, Record, Red, RespirationRate, Ricoh, RIFF, RMETA, RSRC, RTF,
Samsung, Sanyo, Scalado, Schedule, SDMProfile, SEAL, SegFile, SegLap,
SegLeaderboard, SegmentID, SegPoint, Session, Set, Sigma, SigmaRaw,
SkinTempOvernight, SlaveDevice, SleepAssessment, SleepDisruptOvernight,
SleepDisruptPeriod, SleepLevel, Software, Sony, SonyIDC, SpeedZone, SPIFF,
Split, SplitSummary, SPO2Data, Sport, SR2, SR2DataIFD, SR2SubIFD, SRF#,
Stim, StressLevel, SubIFD, SVG, System, TankSummary, TankUpdate, Theora,
ThreeDSensorCal, TimeInZone, Torrent, Totals, Track#, Track#ItemList,
Track#Keys, Track#UserData, TrainingFile, TrainingSettings, TSCorrelation,
UserData, UserProfile, VCalendar, VCard, Version0, Video, VideoClip,
VideoDescr, VideoFrame, VideoItemList, VideoKeys, VideoTitle, VideoUserData,
Vivo, VNote, Vorbis, WatchfaceSettings, WeatherAlert, WeatherConditions,
WeightScale, Workout, WorkoutSess, WorkoutStep, 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, ZonesTarget
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
-file
NUM
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:
Syntax
Result
-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=VALUE
Sets value of TAG (only in GROUP if specified)
-[GROUP:]TAG+=VALUE
Adds item to a list, shifts a date/time, or increments a number
-[GROUP:]TAG-=VALUE
Removes item from a list, shifts a date/time, or deletes TAG if it has the specified value
-[GROUP:]TAG<=FILE
Sets 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
ExifTool will
not rewrite a file if it detects a significant problem
with the file format.
ExifTool has been tested with a wide range of different images, but since it
is not possible to test it with every known image type,
there is the possibility
that it will corrupt some files
. Be sure to keep backups of your files.
Even though ExifTool does some validation of the information written, it is
still
possible to write illegal values
which may cause problems when
reading the images with other software. So take care to validate the
information you are writing.
ExifTool is
not guaranteed to remove metadata completely
from a file
when attempting to delete all metadata. For JPEG images, all APP segments
(except
Adobe APP14
, which is not removed
by default) and trailers are removed which effectively removes all metadata, but
for other formats the results are less complete:
JPEG - APP segments (except
Adobe APP14
) and trailers are removed.
TIFF - XMP, IPTC, ICC_Profile and the ExifIFD are removed, but some EXIF may remain in IFD0. (The CommonIFD0
Shortcut tag
is provided to simplify removal of common metadata tags from IFD0.)
PNG - Only XMP, EXIF, ICC_Profile and native PNG textual data chunks are removed.
PDF - The original metadata is never actually removed.
PS - Only XMP and some native PostScript tags may be deleted.
MOV/MP4 - Most top-level metadata is removed.
RAW formats - It is not recommended to remove all metadata from RAW images
because this will likely remove some proprietary information that is necessary
for proper rendering of the image.
Known Problems
[2026-01-23]
Motion-photo HEIC images
don't display in Google Photos after being
edited by ExifTool.
[Fixed in ExifTool 13.49 by writing the
'mpvd' box immediately after 'idat'.]
[2024-12-16]
HEIC images with an HDR gain map
may not show the gain map image in
Apple Preview after being edited by ExifTool to add new XMP.
[Fixed in ExifTool 13.09, and was due to out-of-order item info
entries.]
[2024-08-01]
ExifTool for Windows
supports a maximum path length of 246 characters
for files. Longer path lengths give an "Error opening file" message.
[ExifTool 13.07 implements the API WindowsLongPath option
by default to patch this problem.]
[2023-10-02]
Panasonic PHOTOfunSTUDIO 9.5
has problems displaying some ExifTool-edited
FZ1000 RW2 images, although other software (such as Adobe Lightroom, Digikam and
Windows Explorer) have no problems with these.
[2020-02-18]
Hasselblad Phocus
software will no longer update the small preview or
thumbnail images of
FFF files
edited by ExifTool. This is perhaps due to
some
unreferenced preview information
in the file that is lost when edited by ExifTool, but this does not seem to have
any other effect.
[ExifTool 11.88 and later issue a minor error when attempting to
write FFF files, but this problem seems to be fixed in Phocus v3.5.4]
[2019-05-29]
Canon Digital Photo Professional 4
(DPP4) will destroy a
CR3
image
when editing if it had previously been edited by DPP4 followed by ExifTool.
[ExifTool 11.45 fixes this by structuring the CR3 to make it safe
for editing with DPP4, and may be used to restructure files written by older
ExifTool versions.]
[2018-09-27]
The
Sony Imaging Edge applications
give an error when trying to open
ARW
or
ARQ
images edited by ExifTool, although other RAW image
utilities including Sony IDC (Sony's older RAW image converter), Adobe
Photoshop, Lightroom and DNG Converter, Apple Preview, dcraw, Capture One,
Affinity Photo, and LibRaw's SonyPixelShift2DNG have no problems with these.
[2016-08-03]
Some antivirus software has been known to cause problems for the
Windows
version of ExifTool.
Norton Antivirus
may delete ExifTool when it is run,
Windows Defender
may slow down launching of ExifTool or hang it altogether,
and
Bitdefender Antivirus
may block ExifTool from writing files.
Presumably this is due to the way the ExifTool package for Windows works -- it
unpacks executable files into a temporary directory and runs from there, which
apparently may be seen as a threat by antivirus software. A work-around is to
add ExifTool to the exclusion list of the antivirus software.
[This
shouldn't be a problem since the changes to the Windows EXE package in ExifTool
12.88]
[2016-05-27]
Adobe Camera Raw and DNG Converter 9.5.1
fail to recognize edited
Samsung SRW
images from some models (NX30, NX300, NX2000 and EK-GN120).
[This problem was fixed for the NX models in ExifTool 10.26, and
writing of EK-GN120 files was disabled in ExifTool 10.95]
In
Windows
, ExifTool will not process files with
Unicode characters
in the file name
. This is due to an underlying lack of support for Unicode
filenames in the Windows standard C I/O libraries.
[This deficiency
was addressed in ExifTool 9.79, and ExifTool now supports Windows Unicode file
names with some exceptions. See the
WINDOWS UNICODE FILE NAMES
section of the application documentation for details.]
[2013-11-08]
Apple
Spotlight and Preview (OS X 10.8.5) and
Adobe
Photoshop
CC (version 14.0)
ignore XMP in PNG images
if it comes after the image
data, which is where ExifTool adds new XMP. This should be considered as a bug
in the Apple and Adobe software since XMP is allowed to exist after the image
data according to the XMP and PNG specifications.
[ExifTool 9.40
provides the PNGEarlyXMP API option to allow writing XMP before the IDAT chunk,
but there are caveats associated with its use. ExifTool 11.58 and later remove
this option and always write XMP before IDAT, and 11.63 and later write all
text chunks before IDAT.]
[2013-04-21]
Memory available to ExifTool in the
Windows EXE version
is limited to
a few hundred MB. This limitation has been known to cause
unreasonably long
processing times
(almost 7 minutes) for some large EPS files (> 200 MB) which
are processed much faster by the Perl version (< 6 seconds).
[These memory issues are alleviated by the new Windows EXE package
of ExifTool 12.88 and later.]
[2010-01-12]
There is a bug in a number of
Adobe
utilities which causes some
edited
Sony ARW
images to be displayed with the wrong tone curve. This
problem has been observed in Photoshop CS4 Camera Raw 5.6, DNG Converter 5.6 and
Lightroom 2.6 with ARW images from the A500, A550, A700, A850 and A900. Other
software such as the Sony IDC utility, Apple RAW utilities, dcraw and Capture
One have no problems with edited images.
[This bug is fixed in
Camera Raw 6.3 and LR 3.3]
[2007-07-06]
There is a bug in the
Apple
RAW file support (OS X 10.4.11) which
prevents some edited
Pentax PEF
images from being displayed properly.
Other software such as the Pentax Silkypix software and dcraw have no problems
with these images.
[This bug is fixed in OS X 10.5.4]
Security Issues
Some ExifTool options (
-config
-if
-p
-fileNUM
-api filter
-api filterw
and copying arguments like
"-DSTTAG
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 2000:01:01 00:00:00 when you put in a new battery at
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
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
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
ExifTool Home Page
ExifTool FAQ
ExifTool Forum
ExifTool Tag Names
download in PDF format
ExifTool Revision History
RSS feed
exiftool Application Documentation
download in PDF format
Image::ExifTool API Documentation
download in PDF format
Date/Time Shift Module
download in PDF format
Sample ExifTool Configuration File
(custom user-defined tags)
Working with Metadata Sidecar Files
Reading/Writing Structured Information
Common Mistakes when using ExifTool
Comments on the Subject of Writing Meta Information
Problems with current Metadata Standards
"Under the Hood" of ExifTool
Canon RAW (CRW) File Format Specification
MIE 1.1 File Format Specification (pdf)
ExifTool source code on GitHub
ExifTool SourceForge project page
(alternate
discussion forum
and
home page
JPEG Image Samples
(and
Table of Makernote Types
Image::ExifTool at MetaCPAN
ExifTool Bug Reports
(ExifTool Forum -- the preferred method)
ExifTool Bug Reports
(Github)
ExifTool Bug Reports
(CPAN Request Tracker)
CPAN Testers Matrix
max version with a PASS
User-contributed Documentation
ExifTool Tutorial (video in 4 parts -- see
this post
for links to the videos)
Using the ExifTool on Linux to read/write Exif Tags to your photo collection
(video by
Linux By Example
Working with jpg Metadata Comments - Exiftool - BASH - Linux Command Line
(video by
Linux By Example
Useful one-line ExifTool commands
(.txt file)
ExifTool tuto en français
Related Utilities
Below are some free utilities which take advantage of the ExifTool engine:
Windows
Alternate ExifTool Windows Installer and Portable Package
by Oliver Betz
wxETI
: A wxWidgets-based Windows interface for Exiftool
ExifTool GUI for Windows
: [unsupported] GUI for viewing meta information with some editing features
ExifTool GUI v6 for Windows
: Updated version of ExifTool GUI (
source
documentation
Metadata++
: View, edit, extract, copy metadata metadata
Auto ISO Tool
: GUI front-end for ExifTool to patch Canon ISO information
GeoSetter
: Utility for showing and changing geo data of image files
GeoTagNinja
: Open-source geotagger for Windows
AvPicFaceXmpTagger
: Write Picasa 3.5 face recognition information as XMP to your images
FileTagSleuth
: MP3, ID3 and EXIF viewer
PhotoMove
: Automatically move photos to directories or folders based on Exif date taken
AutoJpegTrunk
: Tool to remove all metadata from JPEG images
AdvancedRenamer
: Rename files and folders from metadata
Proxel EXIF Tool
: Photoshop plugin based on ExifTool
EXIFCopy
: Copy all EXIF information between files
Random Photo Screensaver
: Photo screensaver with metadata display
PicaGeoTag
: Geolocate your photos
PictureTools
: Tools to view and edit EXIF, screen saver and games (
alt link
PhotoTags-Synchronizer
: Windows GUI for tagging and synchronizing metadata
DNG Opcodes Editor
: Change DNG opcodes and see the effect on the image in real-time
Photography Toolbox
: Organize your digital photographs
PHOR
: Organize your photos with metadata analysis and geotagging
MacOS
a stand-alone PPC droplet to extract preview images from RAW files (thanks to Brett Gross)
three droplets to extract information [exiftool must be installed] (thanks to Rob Lewis)
MacMetaMod
: Droplet for adding Keywords to images
GPSPhotoLinker
: Geotagging on the Mac
PhotoGPSEditor
and
PhotoInfoEditor
: Geocoding utilities
MetaDataMover
source
): GUI-based automator utility for moving/renaming images
CS1ToCR2
: Utility that uses Sony GPS-CS1 log files to add GPS information to CR2 images
Geotagger
: Droplet for inserting GPS coordinates in your photos
Raw Photo Processor
: Raw converter for MacOS
GraphicConverter
: Full-featured image editor
[noteworthy, but not free]
GeoTag
: Geotagging application for iPhone and MacOS
ImageFuser
: Fuses multiple exposures of a scene into one image with improved detail/exposure
GeoNamesTagger
: Docklet to easily update image metadata with location specific information
SetEXIFData
: Add/modify EXIF data in images
GeoTagster
: Geotagging from GPX files ($0.99 paid app)
Exif Photoworker
: Smart rename and organize your photos and videos in a few clicks
MetaImage
: Reads, writes and edits your image metadata in a familiar interface
MetaScope
: Professional metadata editor for photographers, digital asset managers, and creative teams
Linux
rawimage:
A kfile plugin and thumbnail image handler for RAW formats
Hugin
: Panorama photo stitcher
FotoPreProcessor
: PyQt4-based frontend for exiftool to graphically edit metadata
ExZenToo
: Script for basic ExifTool GUI using Zenity
PDFMted
: A set of bash scripts for easy viewing and editing of PDF metadata
exiftool-zsh-completion
: zsh completion for exiftool
Image MetaWriter
: Batch processing Linux command-line program for adding metadata to images
Android
ExifTool for Android:
View, edit or delete metadata in photo, video and other files
EXIF Pro - ExifTool for Android
: View, edit or delete the metadata of files on Android
Multi-Platform
ImageIngester
: Windows and MacOS image workflow automator
gpsPhoto
: Geotag your images from a GPS (GPX) track log
renrot
: Perl utility to perform various processing tasks on images
GPicSync
: Windows/Linux utility to geocode photos from a GPX track log and create KML files
FlickFleck
: Tool to transfer images from memory card, rotate, rename, and organize by date
Geotag
: Open source Java-based geotagging application
PhotoGrok
: Java-based GUI front-end for ExifTool to display images organized by any EXIF tag
XnView
: View and convert graphic files
Mapivi
: Open-source and cross-platform picture manager
ResourceSpace
: Open source digital asset management system
fix_corrupted_nef
: Utility to fix Nikon D4/D600/D800/D800E NEF images corrupted by Nikon Transfer 1
pyExifToolGUI
: Python-based graphical frontend for ExifTool
jExifToolGUI
: Java-based graphical frontend for ExifTool
MDQC
AVPreserve tool
for metadata quality control across large numbers of digital assets
FastPhotoTagger
: Add metadata to images (requires Java runtime engine)
Digi-libris
: Metadata centric software for the automatic organization of your own catalogue
FreezeFrame
: Photo/video library manager (requires Java 8)
MemoryMate
: Maintain photo and video metadata for family collections
Mapillary Desktop Uploader
: Upload street-level imagery to an open platform database
Digikam
: Open-source digital photo management
LLMII
: Locally Label Metadata and Index Images using AI
Web Browser
ExifTool-web
: ExifTool implementation that runs in the client's web browser
@uswriting/exiftool
: WebAssembly-based API for reading metadata in a web browser or Node.js
exiftool-write
: Fork of @uswriting/exiftool with the ability to write metadata
Online
The eXif.er
: Web-based EXIF editor
Get-IPTC-Photo-Metadata
: Web service showing all IPTC metadata of web and local images (
source code
Lightroom Plugins
Jeffrey's Geoencoding Plugin for Lightroom
: Geoencode your photos from within Lightroom
Metadata Wrangler
: Strip selected metadata components from images as they are exported
ExifMeta
: Make all exif metadata available in Lightroom for lib filtering and smart collections
FullMetaExport
: Export JPEG images from Lightroom with full metadata
LensTagger
: Add EXIF information like aperture and focal length for manual lenses
DeAspect:
Remove aspect ratio information from DNG, CR2 and ORF images to restore full image
PhotoStation-Upload-Lr-Plugin
: Export photos from LR directly to a Synology PhotoStation
Programming
C++ ExifTool
: Performance-oriented C++ interface for the exiftool application (by Phil Harvey)
sample AppleScript to extract tags into AppleScript record (thanks to Rob Lewis)
example of a simple Visual C++ wrapper for exiftool (thanks Mark Borg and 黃瑞昌)
C# version of simple exiftool wrapper (thanks Willem Semmelink)
Example C# code
for running ExifTool with the -stay_open option
Visual Basic 6.0 example script v1.01 for reading tags with exiftool (thanks Michael Wandel)
Sample VB.NET subroutine
to extract a preview image (thanks Claus Beckmann)
Sample VBA for Mac code
to extract start timecode from a WAV file (thanks Adam Newns)
tagInfoSql
: SQLite database of ExifTool tag repository, including Perl script (thanks Wernfried)
ExifToolIO
: .NET wrapper for ExifTool, optimized for speed (using VB.NET)
ExifToolWrapper
: .NET wrapper for ExifTool (using C#)
MiniExiftool
: Ruby library wrapper for ExifTool
exiftoolr
: Ruby wrapper for ExifTool
pyexiftool
: Python wrapper for ExifTool
PyExifInfo
: Another Python wrapper for ExifTool
PHPExiftool
: PHP wrapper for ExifTool (in development)
ExifTool_PHP_StayOpen
: ExifTool PHP fast processing script using -stayOpen and Gearman
Moss
: Collection of Java utilities which includes an exiftool interface
im4java
: Java interface to ImageMagick, ExifTool, and other image utilities
Java ExifTool
: Enhanced Java Integration for ExifTool
J-ExifTool
: Open-source, cross platform Java7 library to read/write Exif tags in images
exiftool-vendored
: Blazing-fast, cross-platform Node.js access to ExifTool
How to call ExifTool from Delphi
, by Bogdan Hrastnik
Qt5 and Qt6 interface for ExifTool
, by Philippe Vianney-Liaud
exiftoolr
: ExifTool functionality from R
exiftool-rs
: ExifTool reimplemented in Rust
Other Links
An interview with Phil Harvey
(in German), (
English translation in PDF format
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:
Malcolm Wotton for his help with the D30 Custom Functions
David Anson for his help sorting out binary file problems on Windows
Leon Booyens for his suggestions
Dan Heller for his bug reports, detailed suggestions and guidance
Wayne Smith for his help figuring out the Pentax maker notes
Michael Rommel for his bug fixes and additions to the Canon maker notes
Joseph Heled for help figuring out some of the Nikon D70 maker notes
Joachim Loehr for adding the Casio type 2 maker notes
Greg Troxel for his suggestions and for adding ExifTool to pkgsrc
Thomas Walter for figuring out some Nikon tags
Brian Ristuccia for more information about some Nikon tags
Christian Koller for decoding the 20D custom functions
Matt Madrid for his testing and feedback
Tom Christiansen for his help decoding some Nikon tags
Markku Hänninen for help decoding tags for the Olympus E-1
Frank Ledwon for decoding many new Olympus tags
Robert Rottmerhusen for decoding many tricky Nikon lens data tags
Michael Tiemann for decoding a number of new Canon tags
Albert Bogner for his image samples, testing and useful suggestions
Rainer Hönle for decoding a number of new Canon 5D tags
Nilesh Patel for his help with the web page layout
Jens Duttke for his suggestions, bug reports and help decoding new tags
Dave Nicholson for decoding new tags in Pentax and Canon maker notes
Bogdan Hrastnik for his feedback, decoding efforts, user support and ExifTool GUI
Frank Bijnen for updating the ExifTool GUI, user support, and help with testing
Igal Milchtaich for decoding many Sony A100 tags
Laurent Clévy for his work analyzing Canon RAW images
Warren Hatch for decoding many Nikon tags
Jos Roost for decoding many Sony tags for various models
Iliah Borg and
LibRaw
for decoding many raw development tags
Bryan K. Williams and Hayo Baan for their help with the
ExifTool Forum
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
US