https://github.com/feloex/googletakeoutfixer
A tool that will soon allow you to easily merge Google's weird JSON metadata with your images.
https://github.com/feloex/googletakeoutfixer
exif exiftool golang google google-photos metadata utility
Last synced: 4 months ago
JSON representation
A tool that will soon allow you to easily merge Google's weird JSON metadata with your images.
- Host: GitHub
- URL: https://github.com/feloex/googletakeoutfixer
- Owner: feloex
- License: mit
- Created: 2026-01-10T22:13:27.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-02-02T20:49:46.000Z (5 months ago)
- Last Synced: 2026-02-03T10:43:45.172Z (5 months ago)
- Topics: exif, exiftool, golang, google, google-photos, metadata, utility
- Language: Go
- Homepage:
- Size: 99.6 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# GoogleTakeoutFixer
A tool to easily clean and organize Google Photos Takeout exports.
## The Issue
When you download your files from Google's "Google Photos" service through "Google Takeout", the exported data is **inconsistently organized and often fragmented.**
This can lead to problems:
- Files cannot be reliably sorted or grouped by date or location
- The export contains unnecessary files and a cluttered folder structure
- Your takeout having a big file size due to duplicated media and unnecessary JSON files
## Solution
GoogleTakeoutFixer solves these issues by:
- **Writing EXIF metadata** directly into your media.
- **Organizing your files** into a clear and structured folder structure for easier navigation.
- **Automatically removing unnecessary JSON files**.
## Preview
## Tutorial
### 1. Preparation
To use GoogleTakeoutFixer, you must have downloaded your photos from Google Takeout and extracted them. Follow these steps:
1. Go to [takeout.google.com](https://takeout.google.com/) and click "Deselect all".
2. Scroll down and select "Google Photos".
3. Scroll down to the bottom and click "Next Step".
4. In the "Transfer to" section, choose how you'd like to receive your download link. I recommend choosing email. For "File size", select 50 GB for easier handling.
5. Click "Create export" and follow the instructions.
> [!NOTE]
> - If your Google Takeout exceeds the 50 GB limit and is split into multiple archives, extract all the archives and move the extracted files into a single folder. This ensures that GoogleTakeoutFixer can process all your files correctly.
> - Select the folder named "Google Photos" as your input folder. This folder should contain subfolders like "Photos from (year)" and folders with the names of your albums. Do not select a parent folder of "Google Photos".
### 2. Installation
1. Download the latest release of GoogleTakeoutFixer from the [release page](https://github.com/feloex/GoogleTakeoutFixer/releases). Choose the version that matches your operating system.
2. Extract the downloaded archive.
3. Run the executable file.
### 3. Using GoogleTakeoutFixer
1. Click **"Select Google Takeout folder"** and choose the folder where you extracted your Google Takeout photos. This folder is named something like "Google Photos".
2. Click **"Select output folder"** and choose the folder where you want the fixed photos to be saved.
3. Choose the options that you want to apply:
- **"Write metadata"**: Writes metadata from JSON files into the media files. May not be necessary.
- **"Use symlinks for albums"**: Creates file links instead of duplicating files for albums.
5. Click **"Start processing"** and wait for the process to finish. The time it takes depends on the number of photos and videos you have.
Once the process is complete, you can find your fixed files in the output folder you selected.
You will be able to find a full log file inside of the GoogleTakeoutFixer folder inside of the `logs` folder.
---
### CLI usage
You can also use GoogleTakeoutFixer through the CLI. Use the following flags:
- `--input "PATH"`: Path to Google takeout directory
- `--output "PATH"`: Path to output directory
- `--symlink`: Use symlinks inside of albums instead of duplicating images
- `--skip-metadata`: Skip writing metadata to files
- `--help`: Show help message
Example usage:
```sh
./GoogleTakeoutFixer --input "/path/to/takeout/Google Photos/" --output "/path/to/output/folder/" --symlink
```
You might have to give the executable permissions to run on Linux and macOS using `chmod +x GoogleTakeoutFixer` before you can run it through the terminal.
## Planned Features
- Better looking and more user-friendly GUI
- More options for how to organize / structure the output folder
- A simple website for users who are not familiar with Github
- Pull request and issue template
## Credits
This project modifies metadata using the [ExifTool](https://exiftool.org/) library by **Phil Harvey**. ExifTool is licensed under the Perl Artistic license, or the GNU General Public License (see [here](https://exiftool.org/#license) for more details).
## Disclaimer
This project is an **independent open-source project** and is **not affiliated with, endorsed, or sponsored by Google LLC or any of its subsidiaries**. The use of the name "Google" in this repository is solely for descriptive purposes.