Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

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 😕

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

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 👍

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]

Alternatively, if you don't have PATH set right, you can call it python3 -m google_photos_takeout_helper

If, instead of one big folder, 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):

Click for detailed instructions

This script is written in Python. You need to install Python interpreter before you use it - don't worry, it's easy :wink: Then, everything with Python will be done through terminal/cmd

  1. Download and install Python for your system: https://www.python.org/downloads/ (Google step-by-step installation instructions if you have trouble) - if the installer will ask you about some PATH and pip, make sure to check that too

Now, you need to install my script with pip - a builtin tool that can install other Python programs and scripts. You can run it either by typing pip <options> or python3 -m pip <options>:

  1. pip install -U google-photos-takeout-helper

// Or python3 -m pip install -U google-photos-takeout-helper

// Watch out for versions, described in "BIG DISCLAIMER" above

If something goes wrong, and it prints some red errors, try to add --user flag at the end

  1. Prepare your Takeout:

If your Takeout was divided into multiple .zips, you will need to extract them, and move their contents into one folder. Now, you should be able to just run it straight in cmd/terminal:

  1. google-photos-takeout-helper -i [INPUT TAKEOUT FOLDER] -o [OUTPUT FOLDER]

// Or if this doesn't work: python3 -m google_photos_takeout_helper -i [INPUT TAKEOUT FOLDER] -o [OUTPUT FOLDER]

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

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

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

Thanks 💖

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 💖
  • Some way to handle albums - THANK YOU @bitsondatadev 😘 🎉 💃

Metadata

Release files for google-photos-takeout-helper 2.1.0b1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for google-photos-takeout-helper 2.1.0b1
File Size Uploaded Provenance Actions
google-photos-takeout-helper-2.1.0b1.tar.gz 14.6 kB Without provenance Details for google-photos-takeout-helper-2.1.0b1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for google-photos-takeout-helper 2.1.0b1
File Interpreter ABI Platform Actions
google_photos_takeout_helper-2.1.0b1-py3-none-any.whl Python 3 none any Details for google_photos_takeout_helper-2.1.0b1-py3-none-any.whl

Total release size: 31.2 kB

Release files / google-photos-takeout-helper-2.1.0b1.tar.gz

Download URL google-photos-takeout-helper-2.1.0b1.tar.gz
Size 14.6 kB
Tags Source
SHA-256 checksum
How to use checksums
6ecf8c83ee0cabfe59a29cbedb29485d549533ea3576c923728201eca017eceb
BLAKE2b-256 checksum
How to use checksums
1cf59e62dc0abad7707d9f9c50c9b9a689b0e219bd4f94a6c3377ce409bd6743
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / google_photos_takeout_helper-2.1.0b1-py3-none-any.whl

Download URL google_photos_takeout_helper-2.1.0b1-py3-none-any.whl
Size 16.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
508c6227c19109c349daa05284913153f8e20ad731ad1445ce028948d5b2b783
BLAKE2b-256 checksum
How to use checksums
6920af82ad2c044755b70eab773d07051f336aee1f801e1aff3a37bf75c11f91
Upload date
Uploaded using Trusted Publishing?
What is 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

Security for google-photos-takeout-helper 2.1.0b1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page