
How to edit EXIF metadata via the command line with ExifTool
Last updated on March 30, 2023
In a previous post, I tried to find a metadata editor with a graphical user interface on Linux. The best solution, DigiKam, is designed for KDE. The second best option, XnView, is perfectible and not free software.
As a Linux Mint (Cinnamon) user, I ended up thinking that it would be better to use a command line tool for my simple metadata editing needs. Of the two available command line tools, Exiv2 and ExifTool. I chose ExifTool, which can be installed through the Software Center / Synaptic / Package manager or via the command line:
sudo apt-get install libimage-exiftool-perl
1. Display metadata information
Nothing easier: ExifTool can display image metadata information of a single file:
exiftool "file name.extension"
To display metadata info of all files in a directory, use a dot ‘.
‘ as in the following example (the output can be quite long):
exiftool .

ExifTool displaying image metadata
Metadata information can also be exported to an html document:
exiftool -h . > example.html
2. Add copyright information to image metadata on Linux
Copyright Notice and XMP Rights
After trying out a lot of metadata tags and testing the results, I recommend using both the -rights
and -CopyrightNotice
with identical content for copyright information.
More details: the -rights
option seems to be a shorthand for -XMP-dc:Rights
, and definitely a better solution than using the -copyright
option, which doesn’t seem to produce readable results by gThumb and Gnome Image Viewer. The -CopyrightNotice
option also works reliably and populates the ITPC CopyrightNotice field. The options -EXIF:Copyright
and -copyright
produce disappointing results in terms of compatibility with standard image managers on Linux.
Here is how to add standard copyright information to a file:
exiftool -rights="Copyright" -CopyrightNotice="Copyright" "file name.extension"
Batch metadata editing: Replace the file name with a directory name to modify all files in a directory. Use a dot ‘.
‘ for the current directory.
A few more tips:
- Remember that extensions and filenames are case sensitive on Linux. Especially when using wildcards, *.jpg is not the same as *.JPG.
- ExifTool creates a copy of the original file, appending
_original
to the file name, as a backup. To avoid that and modify files directly, use the-overwrite_original
option.
Here is a full example with a standard American copyright notice and no backup file:
exiftool -overwrite_original -rights="©2023 John Doe, all rights reserved" -CopyrightNotice="©2023 John Doe, all rights reserved" "file name.extension"
Add Creator / Author to image metadata
Here we want to add or change creator/author information of the XMP Dublin Core standard schema:
exiftool -XMP-dc:Creator="Creator" "file name.extension"
Copyright Notice an Creator metadata changes in one single command
exiftool -overwrite_original -rights="©2023 John Doe, all rights reserved" -CopyrightNotice="©2023 John Doe, all rights reserved" -XMP-dc:Creator="Creator" "file name.extension"
3. Edit Creative Commons rights information
The Creative Commons official recommendation concerning XMP metadata information is to use identical content for the dc:rights and xmpRights:UsageTerms fields.
exiftool -overwrite_original -XMP-dc:Rights="This work is licensed to the public under the Creative Commons Attribution-ShareAlike license http://creativecommons.org/licenses/by-sa/4.0/" -xmp:usageterms="This work is licensed to the public under the Creative Commons Attribution-ShareAlike license http://creativecommons.org/licenses/by-sa/4.0/" "file name.extension"
Also according to the Creative Commons recommendation, xmpRights:Marked soud be set to False if Public Domain, True otherwise. Here is an example to set the field to True:
exiftool -overwrite_original -xmp:usageterms=True "file name.extension"
Using the Creative Commons schema
Here are some examples for modifying the Creative Commons schema:
License URL
exiftool -overwrite_original -XMP-cc:license="http://creativecommons.org/licenses/by-sa/4.0/" "file name.extension"
Attribution name
exiftool -overwrite_original -XMP-cc:AttributionName="Creator" "file name.extension"
Attribution URL
exiftool -overwrite_original -XMP-cc:AttributionURL="Creator URL" "file name.extension"
Example combining License URL, attribution name and URL
exiftool -overwrite_original -XMP-cc:license="http://creativecommons.org/licenses/by-sa/4.0/" -XMP-cc:AttributionName="Creator" -XMP-cc:AttributionURL="http://creatorURL.com" "file name.extension"
Combining the CC right informations and Creative Commons schema
Here is an example for changing all metadata following the Creative commons recommendations:
exiftool -overwrite_original -XMP-dc:Rights="This work is licensed to the public under the Creative Commons Attribution-ShareAlike license http://creativecommons.org/licenses/by-sa/4.0/" -xmp:usageterms="This work is licensed to the public under the Creative Commons Attribution-ShareAlike license http://creativecommons.org/licenses/by-sa/4.0/" -XMP-cc:license="http://creativecommons.org/licenses/by-sa/4.0/" -XMP-cc:AttributionName="Creator" -XMP-cc:AttributionURL="http://creatorURL.com" "file name.extension"
Final result:
Remove all metadata
Remove all metadata from a file:
exiftool -all= -overwrite_original "file name.extension"
Remove all metadata from the current directory:
exiftool -all= -overwrite_original .
Remove all metadata from all png files in the working directory:
exiftool -all= -overwrite_original -ext png .
By Johannes Eva, May 2016 – March 2023
5 thoughts on “How to edit image metadata on Linux using a graphical user interface”
fotoxx lets you change Metadata info, and choose your current image’s Caption and Comment as well as view images in directories with filename and some other Metadata as labels. You can set up trees of tags with Categories and put those in at the same time, to use for sorting the images into “album” groups for moving or copying out. The code is gtk and perl with many filetype handlers. Your labeling is stored in plain text files, easy to copy out into documents, transfer, edit, etc.
You should give some additional details, some tools write directly into the image file, others don’t. For example darktable does not change the original image, it writes into a sidecar file (.XMP).
You might also consider http://fastphototagger.sourceforge.net/, java based
I don’t know whether you actually tested Gthumb or not, but your statement that it is only capable of reading meta tags, couldn’t be further from the truth. And it seems to do a fairly good while it is at it!
All one have do is to press the ‘T’ key – either under the Thumbnail view or the “larger” view – and voilá: it reads any existing tags already embedded in the selected file. Next, you have to keep typing any new ones (just don’t forget to confirm, via the pull down list, to actually create any new tags) and you’re done.
I would also suggest that MaPiVi is an excellent program which needs to be on this list. It’s capable of editing and bulk-editing many kinds of image metadata, including IPTC Keywords (which is why I got it). It’s written in Perl/TK so it’s cross-platform. A somewhat old version of it is included in the Ubuntu Linux distribution.
One of the main drawbacks of MaPiVi is that it won’t handle the metadata in Nikon .NEF (raw) format files, which is pretty much the same as that in other formats such as JPEG.