Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/TheLastGimbus/GooglePhotosTakeoutHelper

Script that organizes the Google Takeout archive into one big chronological folder
https://github.com/TheLastGimbus/GooglePhotosTakeoutHelper

exif exif-data google-photos google-takeout json python-scripts

Last synced: 2 months ago
JSON representation

Script that organizes the Google Takeout archive into one big chronological folder

Awesome Lists containing this project

README

        

[![AUR](https://img.shields.io/aur/version/gpth-bin?logo=arch-linux)](https://aur.archlinux.org/packages/gpth-bin)
[![total Github Releases downloads](https://img.shields.io/github/downloads/TheLastGimbus/GooglePhotosTakeoutHelper/total?label=total%20downloads)](https://github.com/TheLastGimbus/GooglePhotosTakeoutHelper/releases/)
[![latest version downloads](https://img.shields.io/github/downloads/TheLastGimbus/GooglePhotosTakeoutHelper/latest/total?label=latest%20version%20downloads)](https://github.com/TheLastGimbus/GooglePhotosTakeoutHelper/releases/latest)
[![resolved Github issues](https://img.shields.io/github/issues-closed/TheLastGimbus/GooglePhotosTakeoutHelper?label=resolved%20issues)](https://github.com/TheLastGimbus/GooglePhotosTakeoutHelper/issues)
[![commit activity](https://img.shields.io/github/commit-activity/y/TheLastGimbus/GooglePhotosTakeoutHelper)](https://github.com/TheLastGimbus/GooglePhotosTakeoutHelper/graphs/contributors)

# Google Photos Takeout Helper πŸ“ΈπŸ†˜
## What is this for 🧐
If you ever want to move from Google Photos to other platform/solution, your fastest choice to export all photos is [Google Takeout πŸ₯‘](https://takeout.google.com/)

But when you download it, you will find yourself with zips with hundreds of little folders with weird `.json` files inside 🍝.
What if you want to just have one folder with all photos, in chronological order? Good luck copying all of that πŸ™ƒ

This script does just that - it organizes and cleans up your Takeout for you 🧹😌

It will take all of those folders, find all photos in them, set their and `file last modified` correctly, and put it in one big folder (or folders divided by a month) πŸ—„

## How to use:
Since `v3.2.0`, `gpth` is interactive πŸŽ‰ - you don't need to type any complicated arguments - just get your takeout, run gpth, and follow prompted instructions πŸ’ƒ

If you want to run it on Synology, have problems with interactive, or just love cmd, look at ["Running manually with cmd"](#running-manually-with-cmd). Otherwise, just:

### 1. Get all your photos from [Google Takeout](https://takeout.google.com/) πŸ“₯
"deselect all" and then select only Google Photos

gpth usage image tutorial

### 2. Unzip them all and merge into one, so that all "Takeout" folders become one

**NOTE:** Keep those original zips, you may need them if anything goes wrong

Unzip image tutorial

### 3. Download the executable for your system from [releases tab](https://github.com/TheLastGimbus/GooglePhotosTakeoutHelper/releases) πŸ›’ ([also available on AUR 😏](https://aur.archlinux.org/packages/gpth-bin))

### 4. Run `gpth`
- On Windoza: just double-click the downloaded `.exe` πŸŽ‰ - tell windoza defender that it's safe, and follow prompted instructions 🧾
- On Mac/Linux: open terminal, `cd` to the folder with downloaded executable and run it:
```bash
# if you have Mac with M1/M2 chip, you need to enable x86 emulation
# otherwise, just skip it
softwareupdate --install-rosetta

cd Downloads # probably
# add execute permission for file
chmod +x gpth-macos # or gpth-linux
# tell MacOS Gatekeeper to not worry
xattr -r -d com.apple.quarantine gpth-macos
# run it πŸƒ
./gpth-macos # or ./gpth-linux
# follow prompted instructions πŸ₯°
```

**Fun fact:** `gpth` *moves* files around by default - so if anything goes wrong mid-way, re-export the zips again :pray:

### 5. Most of your photos should have correct original EXIFs (metadata), but if you want, you can insert them everywhere with `exiftool`, so you won't lose their creation time
- Download Phil Harvey's exiftool: https://exiftool.sourceforge.net/
- Open the cmd/terminal, and run
```bash
# cd to folder where you downloaded exiftool
cd Downloads
# run it on your output folder:
# (the '-r' means "run on all files/in sub-folders" aka recursively)
# (Make sure you didn't change file modify dates aka didn't do anything with the files after running gpth
exiftool -overwrite_original -r -if 'not defined DateTimeOriginal' -P "-AllDates