Set the "date taken" on photos with ExifTool

Scanned or undated photos often have no EXIF date, so photo libraries (Immich, PhotoPrism, Synology Photos) sort them by file date. ExifTool can set it.

Install

sudo dnf install perl-Image-ExifTool      # RHEL/Rocky (EPEL)
sudo apt install libimage-exiftool-perl   # Debian/Ubuntu

Set one fixed date on every JPG in a folder (recursively)

exiftool -r -ext jpg -ext jpeg -AllDates="2005:11:06 03:20:00" /path/to/photos

-AllDates sets DateTimeOriginal, CreateDate and ModifyDate together.

Copy DateTimeOriginal into the other date tags

Quote the argument. Unquoted, bash reads < as "read input from a file".

exiftool -r -ext jpg '-AllDates<DateTimeOriginal' /path/to/photos

Backups

ExifTool keeps a name.jpg_original copy of every file it changes. Once you have checked the result:

exiftool -r -delete_original! /path/to/photos

Or use -overwrite_original up front if you have your own backup.

As a tiny script

#!/bin/bash
dir=${1:-.}; when=${2:?usage: setdate <dir> "YYYY:MM:DD HH:MM:SS"}
exiftool -r -ext jpg -ext jpeg -AllDates="$when" "$dir"

Revision #1
Created 24 October 2026 13:29:32 by Admin
Updated 24 October 2026 13:29:32 by Admin