perldoc > exiftool(1)

```html

📖 NAME

exiftool - Read and write meta information in files

🚀 Quick Reference

Use CaseCommandDescription
Read all metadataexiftool FILEExtract all available metadata from a file
Read specific tagexiftool -TAG FILEExtract value of a specific tag (e.g., -CreateDate)
Write metadataexiftool -TAG=VALUE FILESet a tag value (e.g., -Comment='Hello')
Delete metadataexiftool -TAG= FILEDelete a tag by leaving value empty
Delete all metadataexiftool -all= FILERemove all metadata from file
Copy metadata between filesexiftool -tagsFromFile SRCFILE DSTFILECopy all writable tags from source to destination
Rename/move files by dateexiftool '-FileName<CreateDate' -d %Y%m%d_%H%M%S%%-c.%%e DIRRename files based on CreateDate timestamp
Geotag from GPS trackexiftool -geotag TRACK.LOG FILEAdd GPS coordinates from a track log using DateTimeOriginal
Export to CSVexiftool -common -csv DIR > out.csvExport common tags to CSV file
Import from CSVexiftool -csv=in.csv DIRUpdate metadata from CSV file
Verbose debugexiftool -v FILEShow verbose processing messages
List all tag namesexiftool -listPrint all known tag names
List supported file typesexiftool -listfPrint all supported file extensions

📋 SYNOPSIS

📖 Reading

exiftool [*OPTIONS*] [-*TAG*...] [--*TAG*...] *FILE*...

✏️ Writing

exiftool [*OPTIONS*] -*TAG*[+-<]=[*VALUE*]... *FILE*...

📋 Copying

exiftool [*OPTIONS*] -tagsFromFile *SRCFILE* [-[*DSTTAG*<]*SRCTAG*...] *FILE*...

🔧 Other

exiftool [ -ver | -list[w|f|r|wf|g[*NUM*]|d|x] ]

For specific examples, see the EXAMPLES sections below.

This documentation is displayed if exiftool is run without an input *FILE* when one is expected.

📝 DESCRIPTION

A command-line interface to Image::ExifTool, used for reading and writing meta information in a variety of file types. *FILE* is one or more source file names, directory names, or "-" for the standard input. Metadata is read from source files and printed in readable form to the console (or written to output text files with -w).

To write or delete metadata, tag values are assigned using -*TAG*=[*VALUE*], and/or the -geotag, -csv= or -json= options. To copy or move metadata, the -tagsFromFile feature is used. By default the original files are preserved with "_original" appended to their names -- be sure to verify that the new files are OK before erasing the originals. Once in write mode, exiftool will ignore any read-specific options.

Note: If *FILE* is a directory name then only supported file types in the directory are processed (in write mode only writable types are processed). However, files may be specified by name, or the -ext option may be used to force processing of files with any extension. Hidden files in the directory are also processed. Adding the -r option causes subdirectories to be processed recursively, but subdirectories with names beginning with "." are skipped unless -r. is used.

Below is a list of file types and meta information formats currently supported by ExifTool (r = read, w = write, c = create):

File Types
-----------+-------------+-------------+-------------+------------
360   r/w  | DR4   r/w/c | JNG   r/w   | O     r     | RAW   r/w
3FR   r    | DSS   r     | JP2   r/w   | ODP   r     | RIFF  r
3G2   r/w  | DV    r     | JPEG  r/w   | ODS   r     | RSRC  r
3GP   r/w  | DVB   r/w   | JSON  r     | ODT   r     | RTF   r
A     r    | DVR-MS r    | JXL   r     | OFR   r     | RW2   r/w
AA    r    | DYLIB r     | K25   r     | OGG   r     | RWL   r/w
AAE   r    | EIP   r     | KDC   r     | OGV   r     | RWZ   r
AAX   r/w  | EPS   r/w   | KEY   r     | ONP   r     | RM    r
ACR   r    | EPUB  r     | LA    r     | OPUS  r     | SEQ   r
AFM   r    | ERF   r/w   | LFP   r     | ORF   r/w   | SKETCH r
AI    r/w  | EXE   r     | LIF   r     | ORI   r/w   | SO    r
AIFF  r    | EXIF  r/w/c | LNK   r     | OTF   r     | SR2   r/w
APE   r    | EXR   r     | LRV   r/w   | PAC   r     | SRF   r
ARQ   r/w  | EXV   r/w/c | M2TS  r     | PAGES r     | SRW   r/w
ARW   r/w  | F4A/V r/w   | M4A/V r/w   | PBM   r/w   | SVG   r
ASF   r    | FFF   r/w   | MACOS r     | PCD   r     | SWF   r
AVI   r    | FITS  r     | MAX   r     | PCX   r     | THM   r/w
AVIF  r/w  | FLA   r     | MEF   r/w   | PDB   r     | TIFF  r/w
AZW   r    | FLAC  r     | MIE   r/w/  | PDF   r/w   | TORRENT r
BMP   r    | FLIF  r/w   | MIFF  r   c | PEF   r/w   | TTC   r
BPG   r    | FLV   r     | MKA   r     | PFA   r     | TTF   r
BTF   r    | FPF   r     | MKS   r     | PFB   r     | TXT   r
CHM   r    | FPX   r     | MKV   r     | PFM   r     | VCF   r
COS   r    | GIF   r/w   | MNG   r/w   | PGF   r     | VRD   r/w/c
CR2   r/w  | GPR   r/w   | MOBI  r     | PGM   r/w   | VSD   r
CR3   r/w  | GZ    r     | MODD  r     | PLIST r     | WAV   r
CRM   r/w  | HDP   r/w   | MOI   r     | PICT  r     | WDP   r/w
CRW   r/w  | HDR   r     | MOS   r/w   | PMP   r     | WEBP  r
CS1   r/w  | HEIC  r/w   | MOV   r/w   | PNG   r/w   | WEBM  r
CSV   r    | HEIF  r/w   | MP3   r     | PPM   r/w   | WMA   r
CZI   r    | HTML  r     | MP4   r/w   | PPT   r     | WMV   r
DCM   r    | ICC   r/w/c | MPC   r     | PPTX  r     | WTV   r
DCP   r/w  | ICS   r     | MPG   r     | PS    r/w   | WV    r
DCR   r    | IDML  r     | MPO   r/w   | PSB   r/w   | X3F   r/w
DFONT r    | IIQ   r/w   | MQV   r/w   | PSD   r/w   | XCF   r
DIVX  r    | IND   r/w   | MRC   r     | PSP   r     | XLS   r
DJVU  r    | INSP  r/w   | MRW   r/w   | QTIF  r/w   | XLSX  r
DLL   r    | INSV  r     | MXF   r     | R3D   r     | XMP   r/w/c
DNG   r/w  | INX   r     | NEF   r/w   | RA    r     | ZIP   r
DOC   r    | ISO   r     | NKSC  r/w   | RAF   r/w   |
DOCX  r    | ITC   r     | NRW   r/w   | RAM   r     |
DPX   r    | J2C   r     | NUMBERS r   | RAR   r     |
Meta Information
----------------------+----------------------+---------------------
EXIF           r/w/c  |  CIFF           r/w  |  Ricoh RMETA    r
GPS            r/w/c  |  AFCP           r/w  |  Picture Info   r
IPTC           r/w/c  |  Kodak Meta     r/w  |  Adobe APP14    r
XMP            r/w/c  |  FotoStation    r/w  |  MPF            r
MakerNotes     r/w/c  |  PhotoMechanic  r/w  |  Stim           r
Photoshop IRB  r/w/c  |  JPEG 2000      r    |  DPX            r
ICC Profile    r/w/c  |  DICOM          r    |  APE            r
MIE            r/w/c  |  Flash          r    |  Vorbis         r
JFIF           r/w/c  |  FlashPix       r    |  SPIFF          r
Ducky APP12    r/w/c  |  QuickTime      r    |  DjVu           r
PDF            r/w/c  |  Matroska       r    |  M2TS           r
PNG            r/w/c  |  MXF            r    |  PE/COFF        r
Canon VRD      r/w/c  |  PrintIM        r    |  AVCHD          r
Nikon Capture  r/w/c  |  FLAC           r    |  ZIP            r
GeoTIFF        r/w/c  |  ID3            r    |  (and more)

⚙️ OPTIONS

Case is not significant for any command-line option (including tag and group names), except for single-character options when the corresponding upper-case option exists. Many single-character options have equivalent long-name versions (shown in brackets), and some options have inverses which are invoked with a leading double-dash. Unrecognized options are interpreted as tag names (for this reason, multiple single-character options may NOT be combined into one argument). Contrary to standard practice, options may appear after source file names on the exiftool command line.

🔧 Option Overview

Tag operations

Input-output text formatting

Processing control

Other options

Special features

Utilities

Advanced options

🔧 Option Details

Tag operations

-*TAG*

--*TAG*

-*TAG*[+-^]=[*VALUE*]

-*TAG*<=*DATFILE* or -*TAG*<=*FMT*

-tagsFromFile *SRCFILE* or *FMT*

-x *TAG* (--exclude)

Input-output text formatting

-args (--argFormat)

-b, --b (--binary, --binary)

-c *FMT* (--coordFormat)

-charset [[*TYPE*=]*CHARSET*]

-csv[[+]=*CSVFILE*]

-csvDelim *STR*

-d *FMT* (--dateFormat)

-D (--decimal)

-E, -ex, -ec (--escapeHTML, --escapeXML, --escapeC)

-f (--forcePrint)

-g[*NUM*][:*NUM*...] (--groupHeadings)

-G[*NUM*][:*NUM*...] (--groupNames)

-h (--htmlFormat)

-H (--hex)

-htmlDump[*OFFSET*]

-j[[+]=*JSONFILE*] (--json)

-l (--long)

-L (--latin)

-lang [*LANG*]

-listItem *INDEX*

-n (--printConv)

-p *FMTFILE* or *STR* (--printFormat)

-php

-s[*NUM*] (--short)

-S (--veryShort)

-sep *STR* (--separator)

-sort, --sort

-struct, --struct

-t (--tab)

-T (--table)

-v[*NUM*] (--verbose)

-w[+|!] *EXT* or *FMT* (--textOut)

-W[+|!] *FMT* (--tagOut)

-Wext *EXT*, --Wext *EXT* (--tagOutExt)

-X (--xmlFormat)

Processing control

-a, --a (--duplicates, --duplicates)

-e (--composite)

-ee[*NUM*] (--extractEmbedded)

-ext[+] *EXT*, --ext *EXT* (--extension)

-F[*OFFSET*] (--fixBase)

-fast[*NUM*]

-fileOrder[*NUM*] [-]*TAG*

-i *DIR* (--ignore)

-if[*NUM*] *EXPR*

-m (--ignoreMinorErrors)

-o *OUTFILE* or *FMT* (--out)

-overwrite_original

-overwrite_original_in_place

-P (--preserve)

-password *PASSWD*

-progress[:[*TITLE*]]

-q (--quiet)

-r[.] (--recurse)

-scanForXMP

-u (--unknown)

-U (--unknown2)

-wm *MODE* (--writeMode)

-z (--zip)

Other options

-@ *ARGFILE*

-k (--pause)

-list, -listw, -listf, -listr, -listwf, -listg[*NUM*], -listd, -listx

-ver

--

Special features

-geotag *TRKFILE*

-globalTimeShift *SHIFT*

-use *MODULE*

Utilities

-restore_original

-delete_original[!]

Advanced options

-api *OPT[[^]=[VAL]]*

-common_args

-config *CFGFILE*

-echo[*NUM*] *TEXT*

-efile[*NUM*][!] *ERRFILE*

-execute[*NUM*]

-list_dir

-srcfile *FMT*

-stay_open *FLAG*

-userParam *PARAM[[^]=[VAL]]*

Advanced formatting feature

Allows modification of tag values in -if, -p, or -tagsFromFile strings using Perl expressions in braces after the tag name: ${TAG;EXPR}. Default expression removes illegal Windows file name characters. Helper functions: DateFmt, ShiftTime, NoDups.

🪟 WINDOWS UNICODE FILE NAMES

In Windows, command-line arguments use the current code page. To support Unicode file names, use -charset filename=utf8 and place file names in a UTF-8 encoded -@ argfile. Wide-character i/o routines are triggered. Warning issued if filename contains special characters and charset not provided. FileName and Directory tag values use the same encoding as other tags.

✏️ WRITING READ-ONLY FILES

ExifTool can write to read-only files if user has write permission in the directory. Exceptions: -overwrite_original_in_place, writing only pseudo System tags, Windows files with Unicode names when -overwrite_original or _original backup exists. Hidden files in Windows behave as read-only; use -if to avoid them.

📖 READING EXAMPLES

✏️ WRITING EXAMPLES

📋 COPYING EXAMPLES

📁 RENAMING EXAMPLES

🌍 GEOTAGGING EXAMPLES

🔗 PIPING EXAMPLES

🚦 INTERRUPTING EXIFTOOL

Interrupting with CTRL-C or SIGINT does not cause partially written files or temporary files. ExifTool traps SIGINT, defers it until critical processes complete, then cleans up.

🚪 EXIT STATUS

The exiftool application exits with a status of 0 on success, 1 if an error occurred, or 2 if all files failed the -if condition (for any of the commands if -execute was used).

👤 AUTHOR

Copyright 2003-2022, Phil Harvey. This is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

📚 SEE ALSO

```
exiftool(1)
📖 NAME 🚀 Quick Reference 📋 SYNOPSIS
📖 Reading ✏️ Writing 📋 Copying 🔧 Other
📝 DESCRIPTION ⚙️ OPTIONS
🔧 Option Overview 🔧 Option Details Advanced formatting feature
🪟 WINDOWS UNICODE FILE NAMES ✏️ WRITING READ-ONLY FILES 📖 READING EXAMPLES ✏️ WRITING EXAMPLES 📋 COPYING EXAMPLES 📁 RENAMING EXAMPLES 🌍 GEOTAGGING EXAMPLES 🔗 PIPING EXAMPLES 🚦 INTERRUPTING EXIFTOOL 🚪 EXIT STATUS 👤 AUTHOR 📚 SEE ALSO

Generated by phpman v4.10.0-7-g98e9fd5 · Markdown · JSON · MCP Author: Che Dong Under GNU General Public License
2026-09-10 16:13 @216.73.216.51
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 Transitional!Valid CSS!

^_top_^