ExifTool ist ein quelloffenes Kommandozeilen-Werkzeug von Phil Harvey, geschrieben in Perl. Es liest und schreibt Metadaten in über 200 Dateiformaten — Bildformate (JPEG, TIFF, PNG, RAW), Video (MP4, MOV, MKV), Audio (MP3, FLAC), PDF, Office-Dokumente und viele Spezialformate. Unterstützt werden gängige Standards: EXIF, IPTC, XMP, ICC-Profile, ID3, GPS-Daten u. a.
Praktisch alle Archiv- und Digitalisierungs-Workflows enthalten an irgendeiner Stelle einen ExifTool-Aufruf — sei es zur Inspektion, zur Migration oder zur Bereinigung von Metadaten.
Installation
# macOS
brew install exiftool
# Debian/Ubuntu
apt install libimage-exiftool-perl
# Windows: ZIP-Distribution von exiftool.org
Metadaten lesen
exiftool foto.jpg # alle bekannten Tags
exiftool -a -G1 foto.jpg # mit Gruppen-Präfix (EXIF, IPTC, XMP, …)
exiftool -EXIF:All foto.jpg # nur EXIF-Tags
exiftool -DateTimeOriginal -ImageWidth -ImageHeight foto.jpg
exiftool -filename -mimetype -filesize -s -G1 foto.jpg
-s unterdrückt die Beschriftung (kürzere Ausgabe), -G1 zeigt die Gruppe.
Output-Formate
exiftool -j foto.jpg # JSON
exiftool -X foto.jpg # XML
exiftool -csv foto.jpg # CSV
exiftool -j -G1 -struct ordner/ # rekursiv, JSON, mit Strukturen (XMP)
exiftool -j foto.jpg | jq '.[].Composite.ImageSize'
Verzeichnisse und Filter
exiftool -r ordner/ # rekursiv
exiftool -ext jpg -ext tif -r ordner/ # nur bestimmte Endungen
exiftool -if '$DateTimeOriginal lt "2000:01:01"' -r ordner/ # nur ältere
exiftool -fast foto.jpg # schneller, aber weniger gründlich
Metadaten schreiben
exiftool -Artist="Kränzle & Ritter" foto.jpg
exiftool -Copyright="© 2026 …" -CopyrightNotice="© 2026 …" -overwrite_original foto.jpg
exiftool -keywords+="archiv" -keywords+="koeniz" foto.jpg
exiftool -all= -tagsfromfile @ -ColorSpace -ICC_Profile foto.jpg # alles entfernen ausser Farbe
-overwrite_original schreibt direkt in die Datei (sonst wird foto.jpg_original als Backup angelegt).
Stapel-Umbenennung
# nach Aufnahmedatum umbenennen
exiftool '-FileName<DateTimeOriginal' -d "%Y-%m-%d_%H-%M-%S.%%le" -r ordner/
# nach Aufnahmedatum in Unterordner verschieben (Jahr/Monat)
exiftool '-Directory<DateTimeOriginal' -d "archiv/%Y/%m" -r quellordner/
%%le = lowercase Extension. < ist die Tag-Wert-Übernahme; > schreibt umgekehrt.
Vergleich zweier Dateien
exiftool -G1 -a -s -diff datei1.jpg datei2.jpg
Praktisch, um nach einer Konvertierung zu prüfen, welche Metadaten erhalten geblieben sind.
Eigene Tag-Definitionen
ExifTool kann mit einer User-Konfig erweitert werden (~/.ExifTool_config):
%Image::ExifTool::UserDefined::Composite = (
Coordinates => {
Require => { 0 => 'GPSLatitude', 1 => 'GPSLongitude' },
ValueConv => '"$val[0], $val[1]"',
},
);
Anschliessend ist -Coordinates ein normaler Tag.
Aus unserer Praxis
Für die wiederkehrenden Aufgaben in Archiv-Workflows haben wir das PHP-Paket exif-extract veröffentlicht — es nutzt ExifTool unter der Haube und liefert die EXIF-Metadaten von Bilddateien als strukturierte Arrays. Siehe exif-extract in unseren Open-Source-Paketen.