Is There an Easier Way Than exiftool to Fix Takeout Dates?
exiftool can do it, but the command is long and Google's sidecar names make it fragile. Here is the same result without the terminal.
exiftool is genuinely excellent and it is free. If you are happy in a terminal, use it. This page is for everyone else.
The difficulty is not exiftool, it is Google. The tidy one-line command you find on forums assumes each photo has a sidecar named exactly after it. In real exports that assumption breaks constantly. Google cuts long sidecar names off at 46 characters, so PXL_20230721_092530123.jpg pairs with a file ending supplemental-m.json. Older exports use one naming style and newer ones another. Duplicates put the counter in a different place on the sidecar than on the photo. Each of those cases needs another flag or another pass, and when the pattern misses, exiftool does not complain. It just leaves the photo untouched, and you find out months later.
The app knows all of those cases because they are the entire problem it was built for. You pick a folder, it matches every sidecar to its photo, writes the date and GPS, sets the file timestamps, and prints a list of anything it could not match. No flags, no -d format strings, no guessing whether it worked. The first 500 photos are free, so you can check it against an exiftool run on the same folder.