What if the .json File Name Does Not Match the Photo?
Google's sidecar naming is inconsistent and often truncated. Here is why, and how matching still works.
Google truncates long filenames, appends counters like (1) in odd places, and has changed the sidecar suffix over the years. So IMG_1234.HEIC may sit next to IMG_1234.HEIC.supplemental-metadata.json, or something shorter that does not obviously match.
Tools that simply append .json to the photo name miss all of these, then report that thousands of photos have no metadata when in fact the files are right there.
Takeout JSON Metadata Fixer tries every naming convention Google has used, including truncated and numbered variants, before giving up on a photo. It then tells you how many it genuinely could not match.