ExifTool Command Line - Edit EXIF image metadata on Linux

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 allows you to change all Metadata information on pictures, including Copyright, Creative Commons, etc.

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"

Changing copyright metadata information on Linux

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"

Change the Author / Creator of an image in the Metadata / Exif information on Linux

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"

Add a Creative Commons License to image metadata

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"

Creative Commons Schema edit

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:

All metadata information follwoing the Creative Commons recommendations

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

Articles by categories

Most Read Articles

Comments

5 thoughts on “How to edit image metadata on Linux using a graphical user interface”

  1. 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.

  2. 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).

  3. 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.

  4. 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.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.