## Extra Tags

The extra tags provide extra features or extra information extracted or generated by ExifTool that is not directly associated with another tag group. The Group column lists the family 1 group name when reading. Tags with a "-" in this column are write-only.

Tags in the family 1 "System" group are referred to as "pseudo" tags because they don't represent real metadata in the file. Instead, this information is stored in the directory structure of the filesystem. The Writable System "pseudo" tags in this table may be written without modifying the file itself. The TestName tag is used for dry-run testing before writing FileName.

> 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)
> MakerNoteByteOrder | no | File | (byte order of maker notes. Generated only if different from ExifByteOrder) 'II' = Little-endian (Intel, II) 'MM' = Big-endian (Motorola, MM)
> 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)

(This document generated automatically by Image::ExifTool::BuildTagLookup)
Last revised Dec 15, 2025

<-- ExifTool Tag Names