Fixing Date and Time for Photos and Videos Saved from WhatsApp

When saving media from WhatsApp, it lacks an Exif timestamp which will make your media appear out of order in your photo library. This post explains how ExifTool can be used to create the Exif DateTimeOriginal field from the filename.

Fixing Date and Time for Photos and Videos Saved from WhatsApp

This article applies to macOS and iOS only. I haven’t investigated the situation on Android/Windows.

When you save photos or videos from WhatsApp as a file (i.e. on iOS to iCloud Drive, or on macOS using WhatsApp Desktop to your local disk), you might notice that the Exif timestamp will be missing on those files. This can be very annoying when you want to import the photos into your photo library. Not having an Exif timestamp will make Apple Photos (and probably other photo managers, too) use the file’s creation timestamp, which is of course wrong—it’s just the current timestamp. As as result, your imported photos will be out of order.

Luckily, there is an easy fix if you haven’t renamed your WhatsApp photos yet. ExifTool is a versatile command-line utility for dealing with (probably) any Exif-related problem. Among other things, it can parse the timestamp from the filename.

This is still not perfect, though. The timestamp in the filename indicates when the photo or video was received in WhatsApp, not when it was shot. However, this is as good as it gets.

Steps

First, open Terminal.

If you don’t ExifTool have it installed, you can install it via Homebrew:

$ brew install exiftool

Then enter the folder in which you have stored your saved WhatsApp photos/videos. The filenames should look like this when saved from WhatsApp Desktop …

WhatsApp Image 2022-07-14 at 18.48.47.jpeg
WhatsApp Image 2022-07-14 at 18.48.48 (1).jpeg
WhatsApp Image 2022-07-14 at 18.48.48.jpeg

… or like this when saved or shared on iOS via the iOS Share Sheet:

PHOTO-2022-07-14-18-48-47.jpg
PHOTO-2022-07-14-18-48-48 2.jpg
PHOTO-2022-07-14-18-48-48.jpg

To have ExifTool create the Exif DateTimeOriginal field based on the filename, run the following command:

$ exiftool "-datetimeoriginal<filename" *

Done!

Alternatively, if you do not want ExifTool to preserve the original files (with _original suffix), use this command:

$ exiftool -overwrite_original "-datetimeoriginal<filename" *

Verify the Result

On macOS, open one of the images in Preview and hit ⌘ I to bring up the “More Info” window.

Before the conversion, there was no Exif tab at all (just “General” and “JFIF”):

After the conversion, the image should now have “Exif” tab including the “Date Time Original” field set the correct date based on the image’s filename:

Success!

For videos, this works in a similar fashion. Open the video in QuickTime and also press ⌘ I. The date and time will be shown below the filename:

Sources