Skip to content

Import from Google Photos

Import Google Photos brings a Google Takeout export into your Frameleaf library. It keeps your original files and the details Google stores alongside them:

  • the dates photos were taken
  • descriptions and locations
  • favourites and archived photos
  • photos from Google’s Locked Folder
  • album memberships

Photos you already have in Frameleaf join their albums instead of being copied twice.

Export your Google Photos library with Google Takeout, choosing ZIP files. Keep every ZIP file from the export together; you’ll choose them all at once, and the import can match a photo with a metadata file that ended up in a different archive of the same export.

Open Settings, then Import & protection, then Google Photos & server imports, and select Preview import workflow. You can also search for Import Google Photos.

The import opens on your previous imports, under Your imports, and Start an import. The wizard has three stages: Stage, Scan and Reconcile. You can give each import a Name; it’s called “Google Photos import” otherwise.

Under Source, choose where the export comes from.

Select Choose archives and pick every ZIP file from one Takeout export. Each archive uploads in parts. Keep the page open while archives upload. If an upload stops because the browser closed or the network dropped, choose the same files again and it carries on where it stopped. You can also Pause upload.

Before adding anything, Frameleaf checks the parts already on the server against the file you chose, so a different file with the same name is refused rather than mixed in. If the server reports an upload position that doesn’t fit, choose the original archive again, with the same name and size.

An archive is refused if your storage quota or the server’s free space can’t hold it.

Administrators can import an export that’s already on the server, instead of uploading it:

  1. Under Source, choose Server folder.
  2. Choose a Permitted import location.
  3. Optionally enter a Folder inside it. Leave it empty to read the whole location.

Only folders inside a location the server operator allowed with FRAMELEAF_IMPORT_ROOTS can be read. It’s a comma-separated list of absolute paths, for example FRAMELEAF_IMPORT_ROOTS=/imports,/mnt/takeout, set on the server and worker containers (see Environment variables). The folder must be mounted into the containers at that path. Administrators can see the allowed locations under Permitted import locations in the same settings section; if there are none, the import says so.

Folders are read without following links, and never from Frameleaf’s own library storage.

The server reads each archive, copies its files into a private staging area under generated names, and matches every photo and video with Google’s metadata file for it (its sidecar). That includes translated folder names, Google’s shortened sidecar names and sidecars that ended up in a different archive of the same export. It also finds the albums and possible Live Photos.

The scan runs on the server, so you can close the page. Follow it in the wizard, in Activity or in the running-jobs panel, where you can pause, resume or stop it. The total grows as the archives are read.

Files with unsafe names or links, encrypted files and damaged data are refused and counted, never staged.

Review what the scan found before anything is imported. The summary shows New photos and videos, Matched originals (photos already in your library, which only get their album memberships back) and what Needs review.

Lists every photo and video, with a Show filter. Items can carry a warning:

Warning What happens
Several metadata sidecars disagree Choose one under Metadata sidecar, or Import without a sidecar, then Use this choice.
No metadata sidecar The file’s own dates and details are used.
A metadata sidecar could not be read Check the item, and choose another sidecar or import without one.
In the Google Photos trash Left out unless you include it.
In the Google Photos Locked Folder It goes into Locked.

You can Skip any item and bring it back later with Include again. If anything is still flagged, the wizard asks you to resolve it before importing.

Lists photos and videos that share a name in the same folder, marked Possible Live Photo. Choose These belong together to link a pair, or Keep separate. Link only the ones that belong together; both files are kept either way.

Choose which export folders become albums. Google’s automatic year folders, marked Year folder, are off by default. Photos already in your library join these albums too, without a second copy.

Choose what to bring over:

Option What it does
Dates taken Uses the date the photo was taken from Google’s metadata.
Descriptions Brings over descriptions.
Locations Brings over locations.
Favorites Marks favourites.
Archived photos stay archived Keeps archived photos in the archive.
Recreate album memberships Adds photos to their albums, including photos already in your library.
Fill in missing details on photos already in your library Adds only what a matched photo is missing. Nothing already in your library is replaced.
Review ambiguous sidecars Holds disputed items until you decide. With it off, they import with only the file’s own details.

Photos from Google’s Locked Folder always go into Locked, whatever you choose.

Summarises what was imported, matched, skipped, unresolved and failed. Select Download report (JSON) or Download report (CSV) for the full list.

Select Import to start. Like the scan, it runs on the server.

  • Each file is copied into your library and checked against what the scan recorded. Your export files are never changed.
  • A photo that’s already in your library (the same file, by checksum) is matched, not copied again. It keeps its own date and details unless you turned on Fill in missing details on photos already in your library.
  • Running the import again, or retrying it, never creates a second copy. Import remaining carries on with what’s left, and Import again reruns a finished import safely.
  • Photos from Google’s Locked Folder go into Locked, and are locked before anything else is written to them. While your session is locked, the wizard only shows how many items go into Locked. Unlock Locked to review them.
  • Each step that fails is retried once automatically, and failed items get one more attempt before they’re reported. You can retry again from the wizard or from Activity.

When it finishes, the wizard says Import complete, and your originals and album memberships are in your library.

Delete import removes the import and its staged copies once nothing is running. Everything it brought into your library stays.