A desktop application that fixes metadata for Google Photos Takeout files by reading the accompanying JSON files and embedding the metadata directly into photos and videos.
- Drag & drop interface for easy folder selection
- Processes Google Takeout folders recursively
- Extracts metadata from JSON files (photoTakenTime, creationTime, etc.)
- Writes EXIF metadata directly to image and video files
- Handles various edge cases:
- Truncated filenames (>51 characters)
- Bracket position issues
- Edited file suffixes (-edited, -effects, etc.)
- Files without extensions
- Progress tracking with real-time updates
- Error reporting for failed files
- Clone the repository
- Install dependencies:
npm install
-
Start the application:
npm start
-
Either:
- Drag and drop your Google Takeout folder onto the upload area
- Click "Select Folder" to browse and choose your folder
-
The app will:
- Scan all files in the folder recursively
- Match each photo/video with its corresponding JSON file
- Extract the date/time metadata
- Write the metadata to the file's EXIF data
-
View the results showing:
- Total files processed
- Successfully updated files
- Failed files (with error details)
The app uses multiple strategies to match media files with their JSON metadata:
- Direct match:
photo.jpg→photo.jpg.json - Shortened names: For files >51 characters (Google's truncation)
- Bracket swap:
image(11).jpg→image.jpg(11).json - Remove suffixes: Strip
-edited,-effects, etc. - No extension:
20030616.jpg→20030616.json - Pattern matching: Various other edge cases
To build the application for distribution:
npm run buildThis will create platform-specific builds in the dist folder.
- Electron: Cross-platform desktop application framework
- exiftool-vendored: For reading and writing EXIF metadata
MIT