Tag Name |
Writable | Group | Values / Notes |
Adobe |
yes! |
Adobe |
(the JPEG APP14 Adobe segment. Extracted only if specified. See the
JPEG Adobe Tags for more information) |
BaseName |
no |
System |
(file name without extension. Not generated unless specifically requested or
the API RequestAll option is set) |
CanonDR4 |
yes!^ |
CanonVRD |
(the full Canon DPP version 4 DR4 block. This tag is generated only if
specifically requested) |
CanonVRD |
yes!^ |
CanonVRD |
(the full Canon DPP VRD trailer block. This tag is generated only if
specifically requested) |
Comment |
yes |
File |
(comment embedded in JPEG, GIF89a or PPM/PGM/PBM image) |
CurrentIPTCDigest |
no |
File |
(MD5 digest of existing IPTC data. All zeros if IPTC exists but Digest::MD5
is not installed. Only calculated for IPTC in the standard location as
specified by the MWG. ExifTool
automates the handling of this tag in the MWG module -- see the
MWG Composite Tags for details) |
Directory |
yes! |
System |
(the directory of the file as specified in the call to ExifTool, or "." if no
directory was specified. May be written to move the file to another
directory that will be created if doesn't already exist) |
EXIF |
yes! |
EXIF |
(the full EXIF data block from JPEG, PNG, JP2, MIE and MIFF images. This tag
is generated only if specifically requested) |
EmbeddedVideo |
no |
File |
|
Error |
no |
ExifTool |
(returns errors that may have occurred while reading or writing a file. Any
Error will prevent the file from being processed. Minor errors may be
downgraded to warnings with the -m or IgnoreMinorErrors option) |
ExifByteOrder |
yes |
File |
(represents the byte order of EXIF information. May be written to set the
byte order only for newly created EXIF segments)
'II' = Little-endian (Intel, II)
'MM' = Big-endian (Motorola, MM) |
ExifToolVersion |
no |
ExifTool |
(the version of ExifTool currently running) |
ExifUnicodeByteOrder |
yes |
- |
(specifies the byte order to use when writing EXIF Unicode text. The EXIF
specification is particularly vague about this byte ordering, and different
applications use different conventions. By default ExifTool writes Unicode
text in EXIF byte order, but this write-only tag may be used to force a
specific order. Applies to the EXIF UserComment tag when writing special
characters)
'II' = Little-endian (Intel, II)
'MM' = Big-endian (Motorola, MM) |
FileAccessDate |
no |
System |
(the date/time of last access of the file. Note that this access time is
updated whenever any software, including ExifTool, reads the file) |
FileAttributes |
no |
System |
(extracted only if specifically requested or the API SystemTags or RequestAll
option is set. 2 or 3 values: 0. File type, 1. Attribute bits, 2. Windows
attribute bits if Win32API::File is available)
[Value 0]
0x0 = Unknown
0x1000 = FIFO
0x2000 = Character
0x3000 = Mux Character
0x4000 = Directory
0x5000 = XENIX Named
0x6000 = Block
0x7000 = Mux Block | |
0x8000 = Regular
0x9000 = VxFS Compressed
0xa000 = Symbolic Link
0xb000 = Solaris Shadow Inode
0xc000 = Socket
0xd000 = Solaris Door
0xe000 = BSD Whiteout |
[Value 1]
Bit 9 = Sticky
Bit 10 = Set Group ID | |
Bit 11 = Set User ID |
[Value 2]
Bit 0 = Read Only
Bit 1 = Hidden
Bit 2 = System
Bit 3 = Volume Label
Bit 4 = Directory
Bit 5 = Archive
Bit 6 = Device
Bit 7 = Normal | |
Bit 8 = Temporary
Bit 9 = Sparse File
Bit 10 = Reparse Point
Bit 11 = Compressed
Bit 12 = Offline
Bit 13 = Not Content Indexed
Bit 14 = Encrypted |
|
FileBlockCount |
no |
System |
(extracted only if specifically requested or the API SystemTags or RequestAll
option is set) |
FileBlockSize |
no |
System |
(extracted only if specifically requested or the API SystemTags or RequestAll
option is set) |
FileCreateDate |
yes! |
System |
(the filesystem creation date/time. Windows/Mac only. In Windows, the file
creation date/time is preserved by default when writing if Win32API::File
and Win32::API are available. On Mac, this tag is extracted only if it or
the MacOS group is specifically requested or the API RequestAll option is
set to 2 or higher. Requires "setfile" for writing on Mac, which may be
installed by typing xcode-select --install in the Terminal) |
FileDeviceID |
no |
System |
(extracted only if specifically requested or the API SystemTags or RequestAll
option is set) |
FileDeviceNumber |
no |
System |
(extracted only if specifically requested or the API SystemTags or RequestAll
option is set) |
FileGroupID |
yes! |
System |
(extracted only if specifically requested or the API SystemTags or RequestAll
option is set. Returns group ID number with the -n option, or name
otherwise. May be written with either group name or number) |
FileHardLinks |
no |
System |
(extracted only if specifically requested or the API SystemTags or RequestAll
option is set) |
FileInodeChangeDate |
no |
System |
(the date/time when the file's directory information was last changed.
Non-Windows systems only) |
FileInodeNumber |
no |
System |
(extracted only if specifically requested or the API SystemTags or RequestAll
option is set) |
FileModifyDate |
yes! |
System |
(the filesystem modification date/time. Note that ExifTool may not be able
to handle filesystem dates before 1970 depending on the limitations of the
system's standard libraries) |
FileName |
yes! |
System |
(may be written with a full path name to set FileName and Directory in one
operation. This is such a powerful feature that a TestName tag is provided
to allow dry-run tests before actually writing the file name. See
filename.html for more information on writing the
FileName, Directory and TestName tags) |
FilePath |
no |
System |
(absolute path of source file. Not generated unless specifically requested or
the API RequestAll option is set. Does not support Windows Unicode file
names) |
FilePermissions |
yes! |
System |
(r=read, w=write and x=execute permissions for the file owner, group and
others. The ValueConv value is an octal number so bit test operations on
this value should be done in octal, eg. 'oct($filePermissions#) & 0200') |
FileSequence |
no |
ExifTool |
(sequence number for each source file when extracting or copying information,
including files that fail the -if condition of the command-line application,
beginning at 0 for the first file. Not generated unless specifically
requested or the API RequestAll option is set) |
FileSize |
no |
System |
(note that the print conversion for this tag uses SI prefixes by default: 1
kB = 1000 bytes, etc. Set the API ByteUnit option to "Binary" to use binary
prefixes instead: 1 KiB = 1024 bytes, etc.) |
FileType |
no |
File |
(a short description of the file type. For many file types this is the just
the uppercase file extension) |
FileTypeExtension |
no |
File |
(a common lowercase extension for this file type, or uppercase with the -n
option) |
FileUserID |
yes! |
System |
(extracted only if specifically requested or the API SystemTags or RequestAll
option is set. Returns user ID number with the -n option, or name
otherwise. May be written with either user name or number) |
ForceWrite |
yes |
- |
(write-only tag used to force metadata in a file to be rewritten even if no
tag values are changed. May be set to "EXIF", "IPTC", "XMP" or "PNG" to
force the corresponding metadata type to be rewritten, "FixBase" to cause
EXIF to be rewritten only if the MakerNotes offset base was fixed, or "All"
to rewrite all of these metadata types. Values are case insensitive, and
multiple values may be separated with commas, eg. -ForceWrite=exif,xmp ) |
Geolocate |
yes |
- |
(this write-only tag may be used to write geolocation city, region, country
code and country based in input GPS coordinates, or to write GPS
coordinates based on geolocation name. See the
Writing section of the Geolocation page for
details. This tag is writable regardless of the API Geolocation
option setting) |
GeolocationBearing |
no |
ExifTool |
(compass bearing to GeolocationCity center. Geolocation tags are
generated only if API Geolocation option is set) |
GeolocationCity |
no |
ExifTool |
(name of city nearest to the current GPS coordinates) |
GeolocationCountry |
no |
ExifTool |
(geolocation country name) |
GeolocationCountryCode |
no |
ExifTool |
(geolocation country code) |
GeolocationDistance |
no |
ExifTool |
(distance in km from current GPS to city) |
GeolocationFeatureCode |
no |
ExifTool |
(geolocation feature code, see http://www.geonames.org/export/codes.html#P) |
GeolocationFeatureType |
no |
ExifTool |
(geolocation feature type) |
GeolocationPopulation |
no |
ExifTool |
(city population rounded to 2 significant digits) |
GeolocationPosition |
no |
ExifTool |
(approximate GPS coordinates of city) |
GeolocationRegion |
no |
ExifTool |
(geolocation state, province or region) |
GeolocationSubregion |
no |
ExifTool |
(geolocation county or subregion) |
GeolocationTimeZone |
no |
ExifTool |
(geolocation time zone ID) |
GeolocationWarning |
no |
ExifTool |
|
Geosync |
yes |
- |
(this write-only tag specifies a time difference to add to Geotime for
synchronization with the GPS clock. For example, set this to "-12" if the
camera clock is 12 seconds faster than GPS time. Input format is
"[+-][[[DD ]HH:]MM:]SS[.ss]". Additional features allow calculation of time
differences and time drifts, and extraction of synchronization times from
image files. See the geotagging documentation for details) |
Geotag |
yes |
- |
(this write-only tag is used to define the GPS track log data or track log
file name. Currently supported track log formats are GPX, NMEA RMC/GGA/GLL,
KML, IGC, Garmin XML and TCX, Magellan PMGNTRK, Honeywell PTNTHPR, Winplus
Beacon text, Bramor gEO, Google Takeout JSON, and CSV log files. May be set
to the special value of "DATETIMEONLY" (all caps) to set GPS date/time tags
if no input track points are available. See geotag.html
for details) |
Geotime |
yes |
- |
(this write-only tag is used to define a date/time for interpolating a
position in the GPS track specified by the Geotag tag. Writing this tag
causes GPS information to be written into the EXIF or XMP of the target
files. The local system timezone is assumed if the date/time value does not
contain a timezone. May be deleted to delete associated GPS tags. A group
name of "EXIF" or "XMP" may be specified to write or delete only EXIF or XMP
GPS tags) |
HardLink |
yes! |
- |
(this write-only tag is used to create a hard link with the specified name to
the source file. If the source file is edited, copied, renamed or moved in
the same operation as writing HardLink, then the link is made to the updated
file. Note that subsequent editing of either hard-linked file by exiftool
will break the link unless the -overwrite_original_in_place option is used) |
ICC_Profile |
yes! |
ICC_Profile |
(the full ICC_Profile data block. This tag is generated only if specifically
requested) |
ID3Size |
no |
File |
(size of the ID3 data block) |
IPTC |
yes! |
IPTC |
(the full IPTC data block. This tag is generated only if specifically
requested) |
ImageDataHash |
no |
File |
(Hash of image data. Generated only if specifically requested for JPEG, TIFF,
PNG, CRW, CR3, MRW, RAF, X3F, IIQ, JP2, JXL, HEIC and AVIF images, MOV/MP4
videos, and some RIFF-based files such as AVI, WAV and WEBP. The hash
algorithm is set by the API ImageHashType option, and is 'MD5' by default.
The hash includes the main image data, plus JpgFromRaw/OtherImage for some
formats, but does not include ThumbnailImage or PreviewImage. Includes
video and audio data for MOV/MP4. The XMP-et:OriginalImageHash and
XMP-et:OriginalImageHashType tags provide a way to store
the this hash value and the hash type in the file.) |
ImageHeight |
no |
File |
(the height of the image in number of pixels) |
ImageWidth |
no |
File |
(the width of the image in number of pixels) |
JPEGDigest |
no |
File |
(an MD5 digest of the JPEG quantization tables is combined with the component
sub-sampling values to generate the value of this tag. The result is
compared to known values in an attempt to deduce the originating software
based only on the JPEG image data. For performance reasons, this tag is
generated only if specifically requested or the API RequestAll option is set
to 3 or higher) |
JPEGImageLength |
no |
File |
(byte length of JPEG image without metadata. For performance reasons, this
tag is generated only if specifically requested or the API RequestAll option
is set to 3 or higher) |
JPEGQualityEstimate |
no |
File |
(an estimate of the IJG JPEG quality setting for the image, calculated from
the quantization tables. For performance reasons, this tag is generated
only if specifically requested or the API RequestAll option is set to 3 or
higher) |
JUMBF |
no |
JUMBF |
(the C2PA JUMBF data block, extracted only if specifically requested) |
MIMEType |
no |
File |
(the MIME type of the source file) |
MaxVal |
no |
File |
(maximum pixel value in PPM or PGM image) |
NewGUID |
no |
ExifTool |
(generates a new, random GUID with format
YYYYmmdd-HHMM-SSNN-PPPP-RRRRRRRRRRRR, where Y=year, m=month, d=day, H=hour,
M=minute, S=second, N=file sequence number in hex, P=process ID in hex, and
R=random hex number; without dashes with the -n option. Not generated
unless specifically requested or the API RequestAll option is set) |
Now |
no |
ExifTool |
(the current date/time. Useful when setting the tag values, eg.
"-modifydate<now" . Not generated unless specifically requested or the
API RequestAll option is set) |
NumPlanes |
no |
File |
(number of color planes) |
OtherImage |
no |
File |
(other JPEG-format embedded image) |
PageCount |
no |
File |
(the number of pages in a multi-page TIFF document) |
PreviewImage |
yes |
File |
(JPEG-format embedded preview image) |
PreviewJXL |
no |
File |
(JXL-format embedded preview image) |
PreviewPDF |
no |
File |
(PDF-format embedded preview image) |
PreviewPNG |
no |
File |
(PNG-format embedded preview image) |
PreviewTIFF |
no |
File |
(TIFF-format embedded preview image) |
PreviewWMF |
no |
File |
(WMF-format embedded preview image) |
ProcessingTime |
no |
ExifTool |
(the clock time in seconds taken by ExifTool to extract information from this
file. Not generated unless specifically requested or the API RequestAll
option is set. Requires Time::HiRes) |
RAFCompression |
no |
File |
0 = Uncompressed
2 = Compressed |
RAFVersion |
no |
File |
(RAF file version number) |
ResourceForkSize |
no |
System |
(size of the file's resource fork if it contains data. Mac OS only. If this
tag is generated the ExtractEmbedded option may be used to extract
resource-fork information as a sub-document. When writing, the resource
fork is preserved by default, but it may be deleted with -rsrc:all= on
the command line) |
SphericalVideoXML |
yes! |
GSpherical |
(the SphericalVideoXML block from MP4/MOV videos. This tag is generated only
if specifically requested) |
SymLink |
yes! |
- |
(this write-only tag is used to create a symbolic link with the specified
name to the source file. If the source file is edited, copied, renamed or
moved in the same operation as writing SymLink, then the link is made to the
updated file. The link uses an absolute path unless it is created in the
current working directory. Valid only for file systems that support
symbolic links. Note that subsequent editing of the file via the symbolic
link by exiftool will cause the link to be replaced by the edited file
without changing the original unless the -overwrite_original_in_place option
is used) |
TestName |
yes! |
- |
(this write-only tag may be used instead of FileName for dry-run tests of the
file renaming feature. Writing this tag prints the old and new file names
to the console, but does not affect the file itself) |
ThumbnailImage |
no |
File |
(JPEG-format embedded thumbnail image) |
Trailer |
yes! |
File |
(the full JPEG trailer data block. Extracted only if specifically requested
or the API RequestAll option is set to 3 or higher) |
Validate |
no |
ExifTool |
(generated only if specifically requested. Requesting this tag automatically
enables the API Validate option, imposing
additional validation checks when extracting metadata. Returns the number
of errors, warnings and minor warnings encountered. Note that the Validate
feature focuses mainly on validation of EXIF/TIFF metadata)
'0 0 0' = OK |
Warning |
no |
ExifTool |
(returns warnings that may have occurred while reading or writing a file.
Use the -a or Duplicates option to see all warnings if more than one
occurred. Minor warnings may be ignored with the -m or IgnoreMinorErrors
option. Minor warnings with a capital "M" in the "[Minor]" designation
indicate that the processing is affected by ignoring the warning. Multiple
identical warnings are indicated by a count after the warning message, eg.
"[x2]" if the same warning occurred twice) |
XML |
no |
XML |
(the XML data block, extracted for some file types) |
XMP |
yes! |
XMP |
(the XMP data block, but note that extended XMP in JPEG images may be split
into multiple blocks. This tag is generated only if specifically requested) |
XResolution |
no |
File |
(the horizontal pixel resolution) |
YResolution |
no |
File |
(the vertical pixel resolution) |
ZoneIdentifier |
yes! |
System |
(Windows only. Existence indicates that the file has a Zone.Identifier
alternate data stream, which is used by some Windows browsers to mark
downloaded files as possibly unsafe to run. May be deleted to remove this
stream. Requires Win32API::File) |