Migrating away from Picasa 3

I’ve used Picasa for over 10 years to manage my family’s photo library. We have about 50,000 images in there with 22,000 tags, stars, album memberships, etc. Now that Picasa will no longer be supported by Google, I had to find a replacement. And it really hasn’t been easy. I thought I’d share my strategy for anybody who might be in a similar situation.

First off, I should explain my workflow:

  • save images in directories named with this convention: YYYY/MMDD - eventname; typically, I dump images from my camera into a folder after a trip, or family gathering, etc.
  • star the best photos immediately
  • do some face tagging, but I haven’t been 100% consistent about that — there are still thousands of photos with no face tagging
  • put some photos into albums — for example, I have an album of “artistic” shots where I might add a few pictures each year

I’m really happy with this process, and I refuse to give up my directory organization. If I were to lose all metadata, at least I would have the file organization to help me find photos from that trip to Jamaica in June of 2016, for example. And speaking of metadata, I really don’t want to lose all the work I’ve done in starring photos, face tagging, and filing photos in albums.

One of the problems with Picasa is that its metadata is stored in databases external to the photos. These are stored as PMP files, which presumably is a proprietary format used by the Picasa team. You may find advice online saying that you can get this information from EXIF/IPTC data in the files, but I believe that refers to previous versions of Picasa. I did find meta data in EXIF for some of my photos, but definitely not all. I believe the only place to get all the meta data is from the PMP database files.

My first thought was to try to use Amazon Photos or Google Photos because it would be so easy, and I could even get the storage for free (for Amazon, as a prime member — Google is also free, but only if you’re willing to accept reduced resolution on your images).

Amazon Photos turned out to be very feature-incomplete. Not really good for much more than a backup of our photos.

Google Photos is richer, but still isn’t a 1-for-1 replacement for Picasa. You can’t control how your photo files are organized into folders (it’s essentially one big bucket), and it doesn’t support starring or tagging images, which is unfortunate. It does have cool searchability, though — you can search for photos of “flowers”, and even if you never tagged or captioned any of your photos with the word “flower” or “flowers”, it can find a lot of flower photos. Pretty incredible. But the direct photo management isn’t good enough for my purposes.

Having given up on cloud-based solutions, I hoped to find a nice Web-based solution that I could host on our home Raspberry Pi, allowing anybody in the family to access and manage the photos, regardless of what laptop (or other platform) they happen to be using. The nicest web-based photo manager I could find was Lychee. It really is a nice piece of work. But its feature set doesn’t really make it a good Picasa replacement:

  • photos are all in one giant directory with unique hashed filenames; my photos were already in nice YYYY/MMDD directory structures, and I’m not willing to give that up
  • a photo can only be in one album
  • tagging and starring is nice, but it doesn’t have the “filter” capability of Picasa, where, for example, you could view only starred images, but have them presented within their albums; if you view starred images in Lychee, you’ll see one giant “album” of starred images, with no context as to which albums they might belong

Ultimately, I gave up on Lychee. I hope that the developer continues to expand its capabilities, and someday, it might be a viable Picasa replacement.

After looking at a variety of image management desktop applications, the one that seemed the most versatile is digikam. I haven’t found any other tools with as much power to inspect embedded metadata, and its UI is fairly similar to Picasa’s. It also doesn’t care how you organize the files on disk; it even has nice support for accessing your images over a network share. And I don’t think I’ll have problems with metadata lock-in; it can write metadata to the image files if you want, and its databases are sqlite3 databases, which means I’ll have no problems exporting data from them someday if need be.

Having settled on digikam, I needed to get the metadata out of the PMP files and into the EXIF/IPTC data. There were four key pieces of data I wanted:

  • stars
  • album membership
  • tags
  • face tagging

I figured the best way to get this information was to move all of it into tags inside of Picasa, and then find a way to read the tags and write them to embedded metadata int he images. Then digikam can read the embedded metadata when it scanned the directory tree for new images.

First step was to get all my Picasa metadata into tags. From within Picasa:

  1. Turn on the “show only starred images” filter. Select all images in your entire library, and add the tag “pstar” to them.
  2. For each of your albums, select all images, and add a tag based on the album title, e.g. “palbum-architecture” or “palbum-wildlife”
  3. Open each group of face-tagged images, select all, and add a tag like “ppeople-john-doe”

Admittedly, some of these steps can be quite tedious. And there actually are other ways to get things like face tagging, but I preferred to use one technique for all my metadata.

Once I got the metadata into Picasa tags, I needed to find a way to read the metadata from the Picasa database files. Luckily for me, Wayne Vosberg has built a library to read these PMP files: picasa3meta. I was able to leverage it to build a tool to traverse my entire photo directory structure and extract tags for each file. The tool can then call exiftool to write embedded metadata to the image files. My tool is here: picasa_tags_to_exif.py. My script is very rough, and is intended to serve more as an example than a finished product. I can explain a few things about it.

My environment was pretty unique. I was running Picasa on a Windows machine, but my photos lived on a Samba share on my Raspberry Pi. So on the Windows machine, the path to the photos was P:\Photos, but on the Pi, the path is something like /mnt/usb-primary/Photos. Picasa’s databases, of course, referenced the files by their Windows paths. But I needed to substitute /mnt/usb-primary/Photos for P:\Photos in each file that is in the database. Also, I needed to convert the path delimiters from backslashes to forward slashes. This had to be handled inside of the picasa3meta code. At line 157 of thumbindex.py, I inserted two lines:

I am not submitting a pull request to make this change, because it doesn’t apply to all environments. It’s fairly unique to my environment where the files are in a Linux filesystem, but were indexed by Picasa on an SMB share.

Once the code change was made to thumbindex.py, I copied the Picasa database files from my Windows machine over to a directory, /tmp/picasa3db, on my Linux box, and I was ready to invoke the script (make sure you have exiftool installed and on your path):

This took many hours to run on 50,000 images. Be ready to let it run unattended. Use screen to continue running it in the background in case you get disconnected from your Linux machine.

At the end of the process, all the tagging is available inside of the images themselves, making it available to Digikam. I am running Digikam on an Ubuntu workstation, so I mounted the SMB share on my Raspberry Pi as a cifs volume, and then I pointed Digikam at that path, letting it scan for images, which took several hours. Once it was done, though, I had all my photos available, and I could restore the metadata that I had in Picasa.


To restore stars, use the left toolbar to select the “Tags” view. Select the tag “pstar”. You’ll see all your starred photos across all the albums you filed them in. Select all, and then star one of the images (all will get starred). It’s up to you how you want to translate a Picasa star into Digikam stars. You could give each Picasa-starred image a single star, which would give you flexibility to assign up to 4 additional stars to really good photos. Or maybe you’d prefer to give them all 3 stars, with levels above and below.


With my filing strategy, the directories I filed my photos in become Digikam “albums”. These don’t have quite the same meaning as an album in Picasa, where the photos may come from different directories on the filesystem, but belong together for some reason (subject, photo style, quality, etc.). If you opt for such a filing strategy, the Digikam albums won’t be very meaningful, but you can still create the old concept of Picasa albums via tags. It’s simple to view all the photos with a common tag by choosing the Tags view from the left toolbar and selecting the desired tag.


With this technique, the facial recognition from Picasa won’t be directly translated into the Digikam “People” concept. You’ll have tags for each person, so again, you would use the Tags view to filter your library for all the photos of your Great Aunt Matilda.

There might be a better way to get that face recognition data into Digikam. I have used exportpicasa to export all the recognition data into a nice XML file, complete with rectangles indicating where Picasa found each face. I just haven’t tried to get it into Digikam.

I hope this helps somebody who was feeling as frustrated as I was when Picasa was end-of-lifed. I think we have to be smart about our media management, and be realistic — no software tool will exist forever. But the value of a media library is in the curation, which is extremely time consuming. We absolutely need the metadata to be stored in a portable way. Storing the data inside the images themselves is a good way to make sure that any good media software can access it. Not everybody likes to do that for a variety of reasons (safety of rewriting the image files and performance issues come to mind), but even if you opt to not write the data to the images, Digikam’s data is stored in databases that use well-understood formats (sqlite3) and have public documentation of their schemas. I’m confident that this is a platform that will safely carry your media library into the next generation of media management.

Join the Conversation


    1. Hi, many thanks for this blog. It’s September 2020 now, and I’m still using Picasa 3.9 under win 10. So far, everything runs well. I know at some point I have to migrate. So I’ve bookmarked this page and hopeful I’ll find it again 😉
      Regards, Klaus

  1. Thank you for this very helpful article – I am sure I am just one among many who are wrestling with the same problem. One question following on your strategy: how are you going to do face recognition and marking?
    Stephen Lea, Exeter UK

  2. Thanks for the info. One question, though: did you manage to transfer the edits/corrections made on the photos, too? Picasa correctly stores them separately from the original photos, and I would like to preserve both the original and the edited version. Is this possible without having to “export” each photo in Picasa and withouth ending with two physical jpeg files for each photo (edited and original)?

    (I have something like fourteen years and 120.000 images on my Picasa DB: migrating seems a nightmare to me: I tried to put off the moment, but I gave in when georeferencing stopped working)

  3. Thanks for posting. I too share your pain and agree that digiKam is a good match to Picasa feature set. If you are still looking for a web based solution, perhaps http://piwigo.org/ may be for you.


  4. Great article, I’m sharing almost the same situation and challenges. Thanks for documenting it so clearly!

  5. I am also looking for a Picasa replacement. The main feature I want is the ability to select a subset of images from one or more folders – move them into an album, and within the album, rearrange them. I add captions to the photos to help tell a story. So it is important that the photos are displayed in this new sequence. Sequencing does not appear to be possible with Digikam from I can tell.
    In Picasa I also liked the ability to then take my album and export it with the prepended sequence number – that way I can send the files into facebook, etc and these application have ability to display alphabetically by filename. Not even close to being possible in Digicam.
    These are my top requirements for a photo management system. So far ACDSee Professional can do this but does this in a somewhat clunky manner and is not free – although I am willing to pay if that is my only choice.
    I’ll keep search though.

  6. Thank you for this post. I’m in a similar situation and your experience will help me migrate away from the huge investment I put into Picasa.

  7. I must be missing something? I’ve used Picasa since day one, and have tagged freely all that time. All of my tags are embedded in the images themselves and are read by all of the image viewers I’ve tried, including digiKam which I am also now migrating to.

    I’d previously ticked the ‘store name tags in photos’ box in Picasa options, so all photos are already tagged with names.

    Geotags are also embedded.

    So not sure why you need the ‘picasa3meta’ stage? I’m only commenting on this just in case I have missed something and will lose data once I uninstall picasa, but I can’t see anything missing so far.

    It is annoying that digiKam has no real equivalent to the albums feature as used in Picasa, it only has basic colour and flag labels, which are the closest equivalent, but this is a poor substitute.

    The star feature in picasa is more of a ‘flagging’ rather than a rating, so the flags used in digiKam are a direct replacement for this.

  8. Sorry, I meant that is how I always used the star feature, i.e. as a quick way to temporarily mark photos to bring them together in one place before eg giving them all the same tag, or adding them to a themed album. Obviously you used the star more as a favourites/like function.

  9. I’m still using Picasa! I’m almost tempted to get the tags embedded in jpg now, before links on this page break (or I forget about this page!)

  10. Hello Jason,

    First of all, thank you for this post. I faced the same issue, I spent the long days on creating a huge collection of photos with over 2000 of people tagged. I really didn’t want to lose the hours of work I’ve put into that and when I was seeking for some solution, I’ve found your blog. So thanks to you, I’ve discovered the exportpicasa tool, which helped me to export the Picasa database into XML file.

    Then my job was only to inspect the Digikam’s SQLite database, which was pretty straightforward, and then I’ve just written a simple Python script to load data from XML into SQLite.

    If you still haven’t found any solution to the problem, you’re welcome to use my script:

    I hope it will be helpful.

    Best regards,

    1. Hi all
      Does anybody have a solution for migrating from Picasa to Adobe Bridge and taking facetags with you?
      The photos have the facetags written to xmp from within Picasa. When I right click on a picture in Bridge there is a load of metadata available under different headings. Under heading “miscellaneous” or “unprocessed info” some code is visible containing facetag info as Regions or mwg-rs.
      Is there a tool to move this info to other metadata fields that are visible and usable in Bridge?

Leave a comment

Your email address will not be published. Required fields are marked *