Leaving Google Photos
Google Photos can be left, but what it hands you is a mess. This is the whole path from export to a library you can actually search, written for someone who has not used a terminal tool for this before.
There is no shortcut through an API: since March 2025 Google no longer lets other applications read your library, so Takeout is the only route out. That is fine. Takeout gives you the actual files, and files are what videre works on.
1. Ask Google for your photos
Section titled “1. Ask Google for your photos”Go to takeout.google.com, deselect everything, then select Google Photos only.
Choose .zip, and set the file size to the largest offered. Fewer, bigger
archives are much less tedious than dozens of small ones.
Google emails you when it is ready. For a large library this takes hours, and sometimes more than a day.
2. Extract it
Section titled “2. Extract it”Download every archive and extract them all into one folder. If Google split your library across several files, they are meant to be merged back together.
mkdir ~/Takeoutcd ~/Downloadsfor z in takeout-*.zip; do unzip -q "$z" -d ~/Takeout; doneYou should end up with ~/Takeout/Google Photos/ containing folders like
Photos from 2019 and any albums you made.
3. What Takeout got wrong
Section titled “3. What Takeout got wrong”Look at the extracted folder and you will see two problems.
Every photo has today’s date. Your capture dates are not in the files. They
are in the .json files sitting beside them, and nothing else reads those.
Photos appear several times. A photo in three albums is exported three times, so a 40 GB library can extract to considerably more.
Edited photos appear twice. Every photo you edited in Google Photos comes
as the original, IMG_1.jpg, and Google’s render of the edit,
IMG_1-edited.jpg, side by side.
videre fixes both.
4. Restore the real dates
Section titled “4. Restore the real dates”videre import ~/Takeout --dry-runThis changes nothing. It reports what it found:
Google Takeout at ~/Takeout 12,431 media file(s) in 84 folder(s) 11,902 matched a sidecar (95.7%) 529 unmatched, left untouched 8,113 would have their date correctedThe percentage is the number to watch. Above about 95% is normal. Far below that suggests something unusual about the export, and is worth asking about before continuing.
When it looks right, run it for real:
videre import ~/TakeoutIt asks for confirmation before changing anything, because this does modify your files: it sets each file’s date from its sidecar. Nothing else about the file changes.
5. Build the library
Section titled “5. Build the library”videre --library ~/Takeout scanThis records what you have in a database at .videre/hashes.db inside the library. It reads
every file, so on a large library it takes a while. Your photos are not
modified.
6. Remove the album duplicates
Section titled “6. Remove the album duplicates”videre dedupe --html # look at what would govidere dedupe --remove # move the copies to the trash, once you agreevidere prune # tidy the database afterwardsvidere dedupe --html opens a page in your browser showing every duplicate group, with
KEEP and REMOVE badges. Look before you delete.
This is where the album duplication disappears. Those copies are byte-identical, so removing them loses nothing at all.
Then the edited copies
Section titled “Then the edited copies”The -edited renders are not byte-identical to their originals, so the step
above leaves them. videre import counts them and says so; remove them with:
videre dedupe --edited --html # each original beside its editvidere dedupe --edited --remove # keep the originals, trash the editsThe original is kept because it is the file the camera wrote; the edit is
Google’s re-encoded copy. Faces you named on an edit are not moved to its
original. See dedupe --edited.
7. Make it searchable
Section titled “7. Make it searchable”Optional, and the reason to bother with any of this:
videre embed # one-time, downloads about 1.5 GBvidere search "sunset over water"
videre faces # one-time, downloads about 180 MBvidere gallery # name the peoplevidere search --person "Alice"Both steps take hours on a large library and can be interrupted with Ctrl-C at any point; rerunning continues where it stopped.
Where you end up
Section titled “Where you end up”A folder you own, on a disk you control, with no account and nothing syncing. The photos are ordinary files: if you stop using videre tomorrow, they are exactly as they are now.
videre statsAfterwards
Section titled “Afterwards”Keep the Takeout archives until you have checked the result. Once you are satisfied, they are just a duplicate copy of what you already have.
If you add photos later, the same three commands bring them in:
videre --library ~/Takeout scanvidere embedvidere facesSee workflows for what needs what.