SYNOPSIS
exiv2 [options] [action] file ...
DESCRIPTION
exiv2 is a program to read and write Exif, IPTC and XMP image metadata
and image comments. The following image formats are supported:
Type Exif IPTC XMP Image comments
-------------------------------------------------------------
JPEG Read/Write Read/Write Read/Write Read/Write
EXV Read/Write Read/Write Read/Write Read/Write
CR2 Read Read Read -
CRW Read/Write - - Read/Write
MRW Read Read Read -
TIFF Read/Write Read/Write Read/Write -
DNG Read/Write Read/Write Read/Write -
NEF Read/Write Read/Write Read/Write -
PEF Read/Write Read/Write Read/Write -
ARW Read Read Read -
RW2 Read Read Read -
SR2 Read Read Read -
SRW Read/Write Read/Write Read/Write -
ORF Read/Write Read/Write Read/Write -
PNG Read/Write Read/Write Read/Write Read/Write
PGF Read/Write Read/Write Read/Write Read/Write
RAF Read Read Read -
EPS - - Read/Write -
XMP - - Read/Write -
GIF - - - -
PSD Read/Write Read/Write Read/Write -
TGA - - - -
BMP - - - -
JP2 Read/Write Read/Write Read/Write -
o Support for GIF, TGA and BMP images is minimal: the image format is
recognized, a MIME type assigned to it and the height and width of
the image are determined.
o Reading other TIFF-like RAW image formats, which are not listed in
the table, may also work.
ACTIONS
The action argument is only required if it is not clear from the
options which action is implied.
pr | print
Print image metadata. This is the default action, i.e., the com-
mand exiv2 image.jpg will print a summary of the image Exif
metadata.
ex | extract
Extract metadata to *.exv, XMP sidecar (*.xmp) and thumbnail
Adjust Exif timestamps by the given time. Requires at least one
of the options -a time, -Y yrs, -O mon or -D day.
mo | modify
Apply commands to modify (add, set, delete) the Exif, IPTC and
XMP metadata of image files. Requires option -c, -m or -M.
mv | rename
Rename files and/or set file timestamps according to the Exif
create timestamp. Uses the value of tag Exif.Photo.DateTimeOrig-
inal or, if not present, Exif.Image.DateTime to determine the
timestamp. The filename format can be set with -r fmt, timestamp
options are -t and -T.
fi | fixiso
Copy the ISO setting from one of the proprietary Nikon or Canon
makernote ISO tags to the regular Exif ISO tag,
Exif.Photo.ISOSpeedRatings. Does not overwrite an existing stan-
dard Exif ISO tag.
fc | fixcom
Fix the character encoding of Exif Unicode user comments.
Decodes the comment using the auto-detected or specified charac-
ter encoding and writes it back in UCS-2. Use option -n to spec-
ify the current encoding of the comment if necessary.
OPTIONS
-h Display help and exit.
-V Show the program version and exit.
-v Be verbose during the program run.
-q Silence warnings and error messages from the Exiv2 library dur-
ing the program run (quiet). Note that options -v and -q can be
used at the same time.
-b Show large binary values (default is to suppress them).
-u Show unknown tags (default is to suppress tags which don't have
a name).
-g key Only output info for this Exiv2 key (grep). Multiple -g options
can be used to grep info for several keys.
-n enc Charset to use to decode Exif Unicode user comments. enc is a
name understood by iconv_open(3), e.g., 'UTF-8'.
-k Preserve file timestamps when updating files (keep). Can be used
with all options which update files. The flag is ignored by
read-only options.
('_2', ...) to the name of the new file.
-a time
Time adjustment in the format [-]HH[:MM[:SS]]. This option is
only used with the 'adjust' action. Examples: 1 adds one hour,
1:01 adds one hour and one minute, -0:00:30 subtracts 30 sec-
onds.
-Y yrs Time adjustment by a positive or negative number of years, for
the 'adjust' action.
-O mon Time adjustment by a positive or negative number of months, for
the 'adjust' action.
-D day Time adjustment by a positive or negative number of days, for
the 'adjust' action.
-p mode
Print mode for the 'print' action. Possible modes are:
s : print a summary of the Exif metadata (the default)
a : print Exif, IPTC and XMP metadata (shortcut for -Pkyct)
t : interpreted (translated) Exif tags (-PEkyct)
v : plain Exif tag values (-PExgnycv)
h : hexdump of the Exif data (-PExgnycsh)
i : IPTC datasets (-PIkyct)
x : XMP properties (-PXkyct)
c : JPEG comment
p : list available image previews, sorted by preview image size
in pixels
-P flgs
Print flags for fine control of the tag list ('print' action).
Allows control of the type of metadata as well as data columns
included in the print output. Valid flags are:
E : include Exif tags in the list
I : IPTC datasets
X : XMP properties
x : print a column with the tag number
g : group name
k : key
l : tag label
n : tag name
y : type
c : number of components (count)
s : size in bytes
v : plain data value
t : interpreted (translated) data
h : hexdump of the data
-d tgt Delete target(s) for the 'delete' action. Possible targets are:
a : all supported metadata (the default)
e : Exif section
-e tgt Extract target(s) for the 'extract' action. Possible targets are
the same as those for the -d option, plus a target to extract
preview images and a modifier to generate an XMP sidecar file:
p[<n>[,<m> ...]] : Extract preview images. The optional comma
separated list of preview image numbers is used to determine
which preview images to extract. The available preview images
and their numbers are displayed with the 'print' option -pp.
X : Extract metadata to an XMP sidecar file <file>.xmp. The
remaining extract targets determine what metadata to extract to
the sidecar file. Possible are Exif, IPTC and XMP and the
default is all of these.
-r fmt Filename format for the 'rename' action. The format string fol-
lows strftime(3) and supports the following keywords:
:basename: - original filename without extension
:dirname: - name of the directory holding the original file
:parentname: - name of parent directory
Default filename format is %Y%m%d_%H%M%S.
-c txt JPEG comment string to set in the image ('modify' action). This
option can also be used with the 'extract' and 'insert' actions
to modify metadata on-the-fly.
-m file
Command file for the 'modify' action. This option can also be
used with the 'extract' and 'insert' actions to modify metadata
on-the-fly.
-M cmd Command line for the 'modify' action. This option can also be
used with the 'extract' and 'insert' actions to modify metadata
on-the-fly. The format for the commands is the same as that of
the lines of a command file.
-l dir Location (directory) for files to be inserted or extracted.
-S .suf
Use suffix .suf for source files in 'insert' action.
COMMANDS
Commands for the 'modify' action can be read from a command file, e.g.,
exiv2 -m cmd.txt image.jpg
or given on the command line, as in
exiv2 -M"add Iptc.Application2.Credit String Mr. Smith" image.jpg
Note the quotes. Multiple -m and -M options can be combined.
When writing Exif, IPTC and XMP metadata, exiv2 enforces only a correct
metadata structure. It is possible to write tags with types and values
vents you from adding duplicate Exif tags).
del Delete all occurrences of a tag (requires only a key).
key Exiv2 Exif, IPTC or XMP key.
type Byte | Ascii | Short | Long | Rational | Undefined | SShort |
SLong | SRational | Comment for Exif keys,
String | Date | Time | Short | Undefined for IPTC keys, and
XmpText | XmpAlt | XmpBag | XmpSeq | LangAlt for XMP keys.
A default type is used if none is explicitely given. The default
is determined based on key.
value The remaining text on the line is the value. It can optionally
be enclosed in single quotes ('value') or double quotes
("value").
The format of Exif Comment values includes an optional charset
specification at the beginning:
[charset=Ascii|Jis|Unicode|Undefined ]comment
Undefined is used by default if the value doesn't start with a
charset definition.
The format for IPTC Date values is YYYY-MM-DD (year, month,
day), that for IPTC Time values is HH:MM:SS+|-HH:MM, where
HH:MM:SS refers to local hour, minute and seconds and +|-HH:MM
refers to hours and minutes ahead or behind Universal Coordi-
nated Time (+|- means either a + or a - sign is required).
The format of XMP LangAlt values includes an optional language
qualifier:
[lang=language-code ]text
x-default is used by default if the value doesn't start with a
language qualifier.
An additional command is available to register XMP namespaces:
reg prefix namespace
Command file format
Empty lines and lines starting with # in a command file are ignored
(comments). Remaining lines are commands as described above.
EXAMPLES
exiv2 *.jpg
Prints a summary of the Exif information for all JPEG files in
the directory.
exiv2 -it img1.jpg img2.jpg
Inserts (copies) metadata from img1.exv to img1.jpg and from
img2.exv to img2.jpg.
exiv2 -ep1,2 image.jpg
Extracts previews 1 and 2 from the image to the files image-pre-
view1.jpg and image-preview2.jpg.
exiv2 -eiX image.jpg
Extracts IPTC datasets into an XMP sidecar file image.xmp and in
the process converts them to "IPTC Core" XMP schema.
exiv2 -iixX image.jpg
Inserts IPTC and XMP metadata from an XMP sidecar file image.xmp
into image.jpg. The resulting IPTC datasets are converted from
the "IPTC Core" XMP schema properties in the sidecar file to the
older IPTC IIM4 format. The inserted XMP properties include
those in the "IPTC Core" XMP schema.
exiv2 -M"set Exif.Photo.UserComment charset=Ascii New Exif comment" image.jpg
Sets the Exif comment to an ASCII string.
exiv2 -M"set Exif.GPSInfo.GPSLatitude 4/1 15/1 33/1" \
-M"set Exif.GPSInfo.GPSLatitudeRef N" image.jpg
Sets the latitude to 4 degrees, 15 minutes and 33 seconds north.
The Exif standard stipulates that the GPSLatitude tag consists
of three Rational numbers for the degrees, minutes and seconds
of the latitude and GPSLatitudeRef contains either 'N' or 'S'
for north or south latitude respectively.
exiv2 insert -l/tmp -S.CRW /data/*.JPG
Copy all metadata from CRW files in the /tmp directory to JPG
files with corresponding basenames in the /data directory. Note
that this copies metadata as is, without any modifications to
adapt it to the requirements of the target format. Some tags
copied like this may not make sense in the target image.
SEE ALSO
http://www.exiv2.org/sample.html#modify
Sample command files.
http://www.exiv2.org/metadata.html
Taglists with key and default type values.
AUTHORS
exiv2 was written by Andreas Huggel <ahuggel@gmx.net>.
This manual page was originally written by KELEMEN Peter
<fuji@debian.org>, for the Debian project.
Man(1) output converted with
man2html