Skip to main content

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

Project description

PyPI Donate

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

But when you download it, you will find yourself with hundreds of little folders with few photos and weird .json files inside. What if you want to just have one folder with all photos, in chronological order? Good luck coping all of that :confused:

This script does just that - it organizes and cleans up your Takeout for you :+1:

It will take all of your photos from those tiny folders, set their exif and last modified, and other properties correctly, and put it in one big folder (or folders divided by a month)

BIG DISCLAIMER - GOOGLE RECENTLY CHANGED FOLDER STRUCTURE

  • If you have new "year folders" (that is, few folders named like "Photos from 2012") (+albums) - use the newest version
    • pip install -U google-photos-takeout-helper
  • If you have old "date folders" (that is, ton of folders named like "2012-06-23") - use version 1.2.0
    • pip install -U google-photos-takeout-helper==1.2.0

I don't know if new version fully works, so let me know if it doesn't :+1:

How to use:

  1. Get all your photos in Google Takeout (select only Google Photos)
  2. pip install -U google-photos-takeout-helper
  3. Extract all contents from your Google Takeout to one folder
  4. Run google-photos-takeout-helper -i [INPUT TAKEOUT FOLDER] -o [OUTPUT FOLDER]

If you want your photos to be divided by a year and month, run it with --divide-to-dates flag.

How to use for dummies (non-programming people):

This script is written in Python - but if you have Windows, and don't want to bother installing it, you can download a standalone .exe :tada:

  1. Go to releases->latest release->assets and download takeout-helper.exe

  2. Prepare your Takeout:

If your Takeout was divided into multiple .zips, you will need to extract them, and move their contents into one folder

  1. Open cmd, and type:
cd C:\Folder\Where\You\Downloaded\takeout-helper
takeout-helper.exe -i [C:\INPUT\TAKEOUT\FOLDER] -o [C:\OUTPUT\FOLDER]

// Ps note: Don't use the "[ ]" in the command above.

Contact/errors

If you have issues/questions, you can hit me up either by Reddit, Twitter Email: google-photos-takeout-gh@niceyyyboyyy.anonaddy.com, or if you think your issue is common: Issues tab

If I helped you, you can consider donating me: https://www.paypal.me/TheLastGimbus

I spent a lot of time fixing bugs and making standalone .exe file for Windows users :sparkling_heart: - would be super thankful for any donations

But, be aware if you move your photos on you Android phone...

Beware, that (99% of the times), if you move some files in Android, their creation and modification time is re-seted to current.

"Simple Gallery" app usually keeps original file creation time when moving and coping (but I don't guarantee it). It's also pretty cool and you can check it out:

https://github.com/SimpleMobileTools/Simple-Gallery

What to do when you got rid of Google Photos? What are the alternatives?

  • I really recommend you using Syncthing for syncing your photos and files across devices. It does so through your local WiFi, so you're not dependend on any service or internet connection. It will also keep original file creation date and metadata, so it resolves Android issue that I mentioned before.

  • If you want something more centralized but also self-hosted, Nextcloud is a nice choice, but it's approach to photos is still not perfect. (And you need to set up your own server)

  • Guys at Photoprism are working on full Google Photos alternative, with search and AI tagging etc, but it's stil work in progress. (I will edit this when they are done, but can't promise :P )

Other Takeout projects

I used this tool to export my notes to markdown - you can then edit them with any markdown editor you like :)

https://github.com/vHanda/google-keep-exporter

This one saves them in format ready for Evernote/ClintaNotes:

https://github.com/HardFork/KeepToText

TODO (Pull Requests welcome):

  • Videos' Exif data
  • Gps data: from JSON to Exif - Thank you @DalenW :sparkling_heart:
  • Some way to handle albums - THANK YOU @bitsondatadev :kissing_heart: :tada: :woman_dancing:
  • Windoza standalone .exe file - Thank you, me :kissing_heart:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

google-photos-takeout-helper-2.1.1.tar.gz (14.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

google_photos_takeout_helper-2.1.1-py3-none-any.whl (17.3 kB view details)

Uploaded Python 3

File details

Details for the file google-photos-takeout-helper-2.1.1.tar.gz.

File metadata

  • Download URL: google-photos-takeout-helper-2.1.1.tar.gz
  • Upload date:
  • Size: 14.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for google-photos-takeout-helper-2.1.1.tar.gz
Algorithm Hash digest
SHA256 3329fb7bf3026f5a5fc156c9fbd8def1d0fd2cc8e60334e97137cb5772848412
MD5 78f714f2a953c8ab7ba40ff52aea2fa2
BLAKE2b-256 28fca5884d4181241d3009faae92b76886a3c00effcb00682f88700ec4eb646c

See more details on using hashes here.

File details

Details for the file google_photos_takeout_helper-2.1.1-py3-none-any.whl.

File metadata

  • Download URL: google_photos_takeout_helper-2.1.1-py3-none-any.whl
  • Upload date:
  • Size: 17.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for google_photos_takeout_helper-2.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ad2c32c0c79c975936d19cb80190ecde0cd03bd621777fdc4c7e6b59dc611520
MD5 bf0b5be155481f07950638c1361dba6d
BLAKE2b-256 f40faba10de7a6c8c52c7e69c7c6b51caeac27ac62fdd7b1d59ef07bac733b62

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page