Picasa has been my favorite image organizer and viewer for more than a decade. It is a small and lightweight program - and it is really fast, especially when managing huge image collections over a network share.
Now, more than 5 years after Picasa has been abandoned by Google, I have finally found a replacements: XnView. While all the commercial programs that I evaluated had thousand of features (that I don’t need), XnView seems to be the only one that sufficiently covers my requirements:
- read and write IPTC/XMP metadata (image caption and tags)
- read image GPS locations
- manage huge image collections over a network share
- available for both Windows and Linux
JPEG Image Metadata
Many applications use their own internal database to store image metadata like (in my case) image caption and image tags. While this is ok for performance reasons, it is important for me that these data are also written to the image itself so that the information is available to other applications.
Here is an overview about the metadata fields used by Picasa, XnView, and the built-in Windows 10 viewer:
Field | Picasa 3.9 | XnView 0.97.1 | Windows 10 |
---|---|---|---|
Caption | IPTC:Caption-Abstract XMP:Description |
IPTC:Caption-Abstract XMP:Description |
XMP:Description XMP:Title EXIF:ImageDescription EXIF:XPTitle |
Tags | IPTC:Keywords XMP:Subject |
IPTC:Keywords XMP:Subject XMP:HierarchicalSubject |
XMP:Subject XMP:LastKeywordXMP EXIF:XPKeywords |
Comment | n/a | File:Comment | EXIF:XPComment |
Headline | n/a | XMP:Headline | EXIF:XPSubject |
Rating | n/a | XMP:Rating XMP:RatingPercent |
XMP:Rating |
Multiple tags are separated by “,
” (Windows uses “;
” on the “EXIF:XPKeywords” field)
Notes on Xnview v0.97.1
- Carefully check the “Browser -> Metadata” section of the settings:
- On “IPTC & XMP” settings, make sure that all “Import” and “Export” checkboxes are selected
- If “Write comment in XMP” is checked, comments are additionally written to “XMP:Description” (replacing the image caption) and “XMP:UserComment”
- On the “Encoding” page, use UTF-8 everywhere
- On Windows, the IPTC fields are not written by default. This can be enabled in the “Edit ITPC/XMP” dialog by changing the “mode” to “XMP, update or create IPTC-IIM”
- The encoding of special chars (like umlauts) in the “File:Comment” fields seems to be broken on Windows
- “Search” and “Quick search” seems to ignore most XMP fields; IPTC fields are searchable
Tools
jhead: Exif Jpeg header manipulation tool
I use Jhead on Linux and Windows to modify image files based on their EXIF data. For example, this changes the filenames and file dates of all images to the image date and time:
find my_images/ -name "IMG_*.jpg" | xargs -d '\n' jhead -ft -n%Y%m%d-%H%M%S
ExifTool
ExifTool can read and write all EXIF, IPTC, and XMP fields.
- Install:
sudo apt install libimage-exiftool-perl
- Show all fields of a single file:
exiftool -m -s -G my_picture.jpg
- List all files with their caption and tags:
exiftool -m -r -q -p '$directory/$filename - caption: $XMP:Description - tags: $XMP:Subject' my_images/
- Export tags of all files to CSV:
exiftool -m -r -q -csv -IPTC:Caption-Abstract -XMP:Description -IPTC:Keywords -XMP:Subject my_images/ > images.csv
Note for Windows users: use -charset cp437
or -charset cp850
for correct umlaut encoding.