Takeout JSON

WhatsApp Photos Have the Wrong Date: What You Can Fix

WhatsApp strips EXIF from every photo it sends. What date information is left, what cannot be recovered, and how to set a date for a whole folder.

You saved years of family photos from WhatsApp, or your phone backed up the WhatsApp folder to Google Photos and now they are mixed into your library. Every one shows the wrong date, none has a location, and the filenames look like IMG-20190714-WA0012.jpg.

What WhatsApp does to a photo

WhatsApp re-encodes every photo it sends. It shrinks the image, recompresses it, and throws away the metadata block. The EXIF date, the camera model, the GPS coordinates: all gone. This is deliberate. It saves bandwidth and it stops people leaking their location by sending a picture.

The file that arrives on the recipient's phone is a new JPEG with no DateTimeOriginal. The only date it has is the file's own modified date, which is the moment it was received, and the date in the filename, which WhatsApp sets to the day the file was received as well.

So a photo taken in 2015 and forwarded to you in 2019 has a 2019 date in its filename and no other date anywhere. The 2015 is not in the file. It cannot be recovered from the file, because it was never written into it.

What you can recover

The received date. IMG-20190714-WA0012.jpg says 14 July 2019. That is not when the photo was taken, but for a photo someone sent you the day they took it, which is most of them, it is close enough. exiftool can read that date out of the filename and write it into EXIF:

exiftool "-DateTimeOriginal<${filename;s/IMG-(\d{4})(\d{2})(\d{2}).*/$1:$2:$3 12:00:00/}" -ext jpg .

This sets the EXIF date to noon on the day in the name. After that, every photo app will sort the photo into the right day.

If the photos went through Google Photos and came back out through Takeout, the .json sidecar has a photoTakenTime that Google set to the upload time, which for WhatsApp auto-backup is again the received day. Not perfect, but consistent. See /blog/what-are-json-files-in-google-takeout.

What you cannot recover

The original capture date, if the sender took the photo long before sending it. The location, always. The camera, always. If a photo was forwarded through several people, the filename date is the date of the last hop.

The only source for the true date is the sender's original file. If it matters, ask for the original, sent as a document rather than as a photo. WhatsApp does not strip metadata from files sent as documents.

Setting one date for a whole folder

Often the photos are a set: a wedding someone sent you, a holiday your parents shared, scans of old prints forwarded from a relative. You know roughly when the event was and you want all of them to land in the right month. Exact time does not matter.

With exiftool, for one folder:

exiftool -DateTimeOriginal="2015:06:20 14:00:00" -overwrite_original .

Every JPEG in the folder gets that date. Add -GPSLatitude and -GPSLongitude if you also know where it was.

A caution: WhatsApp folders are usually mixed. Photos you took and sent sit beside photos you received. Setting one date across the whole folder is right only when the folder is one event. Sort into event folders first.

Keeping WhatsApp photos out of the main library

Many people do not want these in the library at all. Their phone auto-saved every meme and every forwarded picture, and Google Photos backed it all up. In a Takeout export, they are recognisable: names starting IMG- with -WA in them, and no camera in the EXIF.

A folder template that keeps your existing folders, as opposed to sorting everything by date, leaves the WhatsApp folder as its own thing, where you can decide later. Moving them to a separate folder before organizing is the simplest way to keep them apart.

Doing it with the app

Takeout JSON Metadata Fixer cannot invent a date WhatsApp destroyed, and does not pretend to. What it does is make the two honest options easy: use the date that is there, or set a date yourself.

For a folder of WhatsApp photos, it reads the Takeout sidecar if there is one, then EXIF, then the file's own date. WhatsApp photos have neither of the first two, so they get the file date, which on most phones is the received date. If that is wrong, or the files have been copied around and reset to today, use the folder date setting: pick one date and one place for every photo in the folder, typed as a city name or as coordinates. The app writes them into EXIF, so the date and place travel with the photos into Apple Photos, Immich or anything else.

It also fixes the filenames, so IMG-20190714-WA0012.jpg becomes 2019-07-14-1200.jpg or whatever template you pick, and it can sort them into Year/Month folders alongside the rest of your library, or keep them separate if you prefer.

Offline, on macOS, Windows and Linux. Free for 500 photos, $9.99 one-time for unlimited.

Frequently asked questions

Can any tool get the original date back from a WhatsApp photo?

No. The metadata was removed before the file reached you. There is nothing in the file to read. Tools that claim otherwise are reading the filename or the file date, which is the received date.

Is the date in the filename reliable?

It is the date the photo arrived on the phone that saved it. For photos sent the same day they were taken, it is correct to the day. For forwarded photos or old pictures someone dug out, it is wrong.

Does sending as a document keep the metadata?

Yes. WhatsApp only strips metadata when sending as a photo. A JPEG sent as a document arrives byte for byte, EXIF and GPS included. Ask for originals that way when it matters.

Should I set a date on photos where I am guessing?

If the alternative is today's date, yes. A guessed date in the right year sorts the photo near its neighbours. Today's date buries it under everything else. Pick the first of the month if you only know the month.