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

29 thoughts on “How to Install Firefox on Linux Mint, Ubuntu, Debian or any other Linux distribution”

  1. I was wanting to update Firefox on my Ubuntu Trusty (14.04). I finally came across this article and … tahdah. Now I have Firefox 83 installed and working perfectly. Thank you so much for this article. One question – can I also install the latest Thunderbird in the same manner?
    And please folks, no comments like – just upgrade to the newest Ubuntu. Trusty works perfect. I have Apache installed and it works perfect also. So why should I update/upgrade to a newer version when I have perfection now. You know the old saying – If it works don’t fix it.

  2. Hello, I’m French.
    It’s hard to me to understand English so when it’s electronic language, it’s very very hard. But I tried (even if I doesn’t understand, even while translating). And when I tried, I succeed to extract the file (yeeaah!) but I can’t move Firefox to /opt, it says “no such file or directory” like Kurman (an other user). But how am I doing now ? I search a lot of solutions and nothing works. Netflix doesn’t want to work with my old Firefox (the 66.0.3 version). Am I going to get there someday? After Netflix, it will be some important things…

    Please, help me. (Once I could watch Netflix…)

    Thanks for the article!

  3. Note: When the default version of Firefox is upgraded by the system, the symlink /usr/bin/firefox is overwritten and you will either have re-create it or just lock the currently installed version in Synaptic to prevent that from happening altogether:

  4. Great article. In the case of Firefox newer is better. Every update since Quantum debuted has brought it closer to perfection. Oh, I think it may be ‘inexperienced’, rather than ‘unexperienced’. Regardless, the advice is sound.

    It’s always best for newbies to practice caution. Then again, it took a few self inflicted system meltdowns to really start getting the hang of this Linux thing.

    1. @Rafael: no, you won’t loose your Firefox settings. These are stored in your profile folder. On Linux, you profile folder is in your home directory, in the .mozilla/firefox sub-folder. You may need to show hidden files and folders (use Ctrl + H or the “View” menu) to navigate to the profile folder.

      If you only have one profile, its folder has “default” in the name. The complete path of the Firefox profile folder will be something like:
      /home/user_name/.mozilla/firefox/random_string.default

      This folder allows for an awful lot of flexibility, for example you can:

      • backup it,
      • copy it to a new system, and even
      • share it between a Linux and a Windows system (if it’s located within an NTFS file system).
    1. Thank you, this is indeed useful. Installing Firefox from .deb packages is also a viable option. Keep in mind that the recommendation is the same as when installing from the tar.gz archive: “it is strongly suggested to use a package manager like aptitude or synaptic to download and install packages, instead of doing so manually via this website.”

  5. Geoffrey Morrison

    Make friends with the terminal!

    Sure, it’s been quite some time since 2015: Users must extract from the “tar” archive and use a password-enabled (root) terminal (or sudo) to perform the subsequent file actions. Simply invoking a file manager and then copying/pasting won’t work.

    The reason Debian users end up here:

    Note that Debian’s repository version of Firefox still is named “firefox-esr,” not simply “firefox” (Before, it was “iceweasel” – a legality, still in effect with firefox-esr): Debian proves perhaps the most conservative distro in the Linux realm. As was noted in an old saying: “They wear both a belt and suspenders!”

    The problem is that institutions performing secure transactions (say, global financial corporations) – along with many still-perplexed users (who generally aren’t bare novices) – dislike legacy browser versions. Debian purists dislike the corporate bent of Mozilla’s Firefox development. (After all, it’s firefox.com, not firefox.org.)

    1. Kumar, you’re probably in the wrong directory when running the move command – or using the wrong file name. Using the TAB key to autocomplete the file name helps to know if you’re right: if it autocompletes the file or directory names, it’s right, else it’s wrong. Of course, listing files with the ls command also shows if you have extracted the archive correctly.

  6. Pingback: Install the latest FireFox in CentOS 7 - UncleNinja

  7. Pingback: Upgrade Firefox di Linux Mint | Catatan dan Wiki Personal

  8. FF 45 in Mint does not open groups of tabs anymore. So that seems broken.
    I went back to a former version. The repository only offered FF 28… But this one still works.

  9. I have other problem 🙂 I unpacked firefox (did same with thunderbird), created symbolic links and everything, but still, when I run firefox or thunderbird, it said it is not default browser/email client and I can’t turn it off. It is not really functional problem, but it is reaaaaaally annoying 🙂 in preffered applications is set firefox and thunderbird (the original mint firefox and thunderbird don’t have this problem), is there any way (and I am sure there is) how to set unzipped TB and FF as default? BTW I am using common profiles for windows and for mint 17.3 in both applications. THX 🙂

    1. I figured out something, I turned off check for default application in settings (during start of application, it ignored it 🙂 ) I hope it will work

  10. I really do try to like Linux… but I just can’t understand why I can’t just UPDATE my firefox in one click? The version is there – why do I need to start entering commands and copying folders for something as trivial as that?

    1. Well, in fact this tutorial is for advanced users, most of which are installing Firefox on their own on custom Linux systems. Or trying Firefox Beta/Aurora or other special versions of Firefox.

      In your case you’re probably using mainstream distributions such are Ubuntu, Linux Mint, Debian, OpenSuse, Fedora, … The package manager of your distro will take care of updating Firefox by itself, when when the new Ffox version has been tested for compatibility with your distro, so that it doesn’t break anything. On Ubuntu or Linux Mint, for example, it takes just a few days after the official release.

      Please do NOT use this guide to update Firefox by hand if you’re just a “normal” user or a Linux beginner. Just apply the normal updates (as you should always do) for your distribution and you’ll get the new Firefox version. I’ll try to make a version of this guide for beginners and normal users soon, as it seems to be really confusing. Sorry for that.

    2. You state here, and I’ve seen in other places, that Debian-based package managers will release firefox updates “just a few days after the official release”. That has not been my experience. I run Linux Mint 17.3, and as of today (4/30/2016), my firefox from the package manager is version 42.0. The following version (43.0) was released 4.5 months ago on December 15th, and version 46.0 was released this week. What am I missing?

    3. I also run Mint 17.3, the Firefox version is 45 and it should be updated to 46 very soon. I can’t explain why you’re stuck with an older version. I suppose you ran sudo apt-get update? If nothing else works, I would suggest to install the newest Firefox version manually as described in this guide.

      Update: The update to Firefox 46 just showed up in the update manager. It took 4 days to the Linux Mint team to check and distribute the update, which is fine.

  11. Pingback: How to install Firefox 43 on Linux Mint, Ubuntu, Debian, CentOS, Fedora - Free Networking Tutorials, Free System Administration Tutorials and Free Security Tutorials

    1. Ubuntu will take care of Firefox upgrades automatically, you don’t have to do it manually. It may take a few days after the official release for the Firefox upgrade to show on, because the Ubuntu folks have to test the new release with Ubuntu.

      There is no Firefox install in /opt by default, as this is where admins/users are supposed to install optional software. If you did not install anything in /opt manually, nothing show up there, which is normal.
      Hope this helps!

Leave a Comment

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