Skip to main content

A CLI tool to adjust time and date data in EXIF extensions of photos

Project description

exif-time-shift

CLI tool to shift the EXIF date/time of all photos in a directory. Useful when a camera's clock was wrong (e.g. wrong timezone or drifted time) and you want to correct timestamps in bulk.

Supports JPEG (.jpg/.jpeg) and Sony RAW (.arw) files.

Installation

pip install exif-time-shift

Or with uv:

uv tool install exif-time-shift

Usage

exif-time-shift <directory> <minutes>
  • <directory> — folder containing photos to update (non-recursively)
  • <minutes> — integer offset in minutes (positive = forward, negative = backward)

Examples

# Photos were taken 90 minutes ahead — subtract 90 minutes
exif-time-shift /photos/vacation -90

# Camera was set to UTC but should be UTC+2 — add 120 minutes
exif-time-shift ./raw_files 120

Output per file:

/photos/vacation/IMG_001.jpg: 2024:07:15 14:30:00 -> 2024:07:15 13:00:00
/photos/vacation/IMG_002.arw: 2024:07:15 14:31:10 -> 2024:07:15 13:01:10

What gets updated

The following EXIF fields are shifted in each file:

Field Description
DateTime Main image date/time
DateTimeOriginal When the shutter was pressed
DateTimeDigitized When the image was digitized

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

exif_time_shift-0.1.0.tar.gz (3.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

exif_time_shift-0.1.0-py3-none-any.whl (3.3 kB view details)

Uploaded Python 3

File details

Details for the file exif_time_shift-0.1.0.tar.gz.

File metadata

  • Download URL: exif_time_shift-0.1.0.tar.gz
  • Upload date:
  • Size: 3.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.22 {"installer":{"name":"uv","version":"0.11.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for exif_time_shift-0.1.0.tar.gz
Algorithm Hash digest
SHA256 501e991f4701bda972e7ac4ac3a57b3c06a9b029db57d95dabda77e05766acff
MD5 fa1e993d53a1c65a081c37f4e7aa42b3
BLAKE2b-256 cd8c566bc7251753fd6cee03ecdcb60824d35fb8acd1235f2f66b80c0bd72149

See more details on using hashes here.

File details

Details for the file exif_time_shift-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: exif_time_shift-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 3.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.22 {"installer":{"name":"uv","version":"0.11.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for exif_time_shift-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 88aa53dd196befdb26da72925d57b1330fad272480bc091eecefe026f6460b63
MD5 378532f11332fe0d0badddcf124e71e2
BLAKE2b-256 6ad1ef1c2e1141073f63479f4a9d912ac74d93a4a01a79cbed72e6c1084a9e02

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page