Skip to main content

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

Metadata

Release files for exif-time-shift 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for exif-time-shift 0.1.0
File Size Uploaded Provenance Actions
exif_time_shift-0.1.0.tar.gz 3.1 kB Without provenance Details for exif_time_shift-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for exif-time-shift 0.1.0
File Interpreter ABI Platform Actions
exif_time_shift-0.1.0-py3-none-any.whl Python 3 none any Details for exif_time_shift-0.1.0-py3-none-any.whl

Total release size: 6.4 kB

Release files / exif_time_shift-0.1.0.tar.gz

Download URL exif_time_shift-0.1.0.tar.gz
Size 3.1 kB
Tags Source
SHA-256 checksum
How to use checksums
501e991f4701bda972e7ac4ac3a57b3c06a9b029db57d95dabda77e05766acff
BLAKE2b-256 checksum
How to use checksums
cd8c566bc7251753fd6cee03ecdcb60824d35fb8acd1235f2f66b80c0bd72149
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / exif_time_shift-0.1.0-py3-none-any.whl

Download URL exif_time_shift-0.1.0-py3-none-any.whl
Size 3.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
88aa53dd196befdb26da72925d57b1330fad272480bc091eecefe026f6460b63
BLAKE2b-256 checksum
How to use checksums
6ad1ef1c2e1141073f63479f4a9d912ac74d93a4a01a79cbed72e6c1084a9e02
Upload date
Uploaded using Trusted Publishing?
What is 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}

Security for exif-time-shift 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page