2011
05.30
Picasa icon arrow icon Lightroom icon

For sorting and classifying my pictures, I have been using Picasa for quite some time now. While I still believe that this is the fastest images manager that I have ever seen, it has some limitations and I have been thinking about using Adobe Lightroom instead. My only issue before switching to Lightroom was that I first had to make sure that I could import the numerous albums that I had created to sort my pictures in Picasa. With 40K+ pictures and several thousands sorted in albums, I could not afford to lose this information when switching to Lightroom. A related issue was that I had many star-rated pictures in Picasa that I also wanted to transfer. Neither Picasa nor Lightroom support this kind of transfer and I could not find any solution that suited me on the Internet. So I looked at the problem myself. Dissecting the required process into simple steps made it easier to find a solution. The rest of this post will describe how I did it.

This tutorial is also available as a pdf.

What you can expect from this conversion:

  • Get the contents of your Picasa albums in Lightroom collections.
  • Convert the albums easily with just a little bit of file manipulation – don’t worry: nothing complex !
  • Transfer the list of star-rated pictures from Picasa to Lightroom.

What you should not expect from this conversion:

  • Transfer of images edits. Picasa and Lightroom have different ways of storing this information and I don’t think that this conversion would be possible.

So, what you will get is simply the transfer of the list of images from one software to the other. Compared to painstakingly looking at each album in Picasa and finding the same image again in Lightroom, this is already a huge improvement, especially if you have many albums and images.

There are two ways to do it.
The simplest one would involve selecting all the images of a Picasa album and attributing them a keyword related to the album (e.g. “album1”). You could then search for all pictures containing the keyword “album1” in Lightroom and create a collection accordingly. Easy ! There are problems with this approach however: this is only working for files where Picasa can save IPTC data: JPEG files. Picasa does not save the keywords that your have attributed to other formats such as RAW, PSD, PNG, TIFF, movies,… in the files themselves, only in the picasa.ini file in their corresponding folder. Picasa also seems to be unreliable for saving keywords to files. Sometimes it works, sometimes is does not.
So I had to find another, more general, way to do it.

Let’s look at the steps involved:

  • First of all, where are the albums stored by Picasa ? Following the loss of all my Picasa albums after an update, I had already done some research to find how to restore my Picasa albums and I knew where they could be found.
  • What is the content of these files ? Luckily, the content of the files is easy to understand, they are basically XML files where you will find the name and content (filenames complete with paths) of the albums.
  • How could I import a list of files into Lightroom ? You will see that it is easy when you know how Lightroom smart collections work. The smart collections files are simply a set of instructions that can be used to automate the search of images within your Lightroom catalog.
  • How will I convert one file into the other ? This could most probably be done by writing a script in Perl for example but I did not want to rely on my long forgotten Perl knowledge. So, I decided to use tools that almost everybody has at home: Excel and Word (I used Office 2007 for this tutorial). OpenOffice would also give you similar tools.

Here is the procedure to convert Picasa Albums into Lightroom Collections:

  1. You will first need the Picasa albums definitions (.pal files). If you are using Windows Vista, they are stored in C:\Users\your_user_name\AppData\Local\Google\Picasa2Albums. In Windows XP, there are located in C:\Documents and Settings\your_user_name\Local Settings\application data\google. These .pal files have names that will not help you much so you will need to either copy them all (which is what you want if you need to convert all your albums) or open them one by one in a text editor and check the name of the album to find the one you are looking for.
    Copy all the .pal files to another folder where you will edit them.
  2. In this new folder containing a copy of your Picasa albums definitions, change the .pal suffix to .xml. This will make them easily editable with Excel.
  3. For each file, open it in Excel as an XML file. Except for the field “name” that is giving you the name of the album, the other fields are of no interest for the conversion. The most important part is the list of filenames.
    First, save the file as an Excel file, under the name of the corresponding album. Then, delete the 5 first columns, leaving only the list of filenames (containing also the path). You should now have a single column with all the filenames. If it is not present, insert a line at the top and type a title there (“filename” would be a good choice).
    You now need to get rid of the file path. You can easily do that with a bit of Excel magic and the help of the following formula:
    =MID(A2,FIND(CHAR(1),SUBSTITUTE(A2,"\",CHAR(1),LEN(A2)-LEN(SUBSTITUTE(A2,"\",""))))+1,LEN(A2))
    Copy it from the pdf version of this post and paste it in the second column (from the second line to the bottom of the file). Now, your second column will contain the filenames only. Copy the content (not the title) of this new column and paste it in the first column, overwriting the original file paths list (make sure to Paste Values). Delete the now obsolete second column. Finally, save your Excel file that is now ready for converting into a Lightroom smart collection.
  4. In Lightroom, go to Smart Collections » Create new Smart Collection and choose filename as the condition that you want to check. Fill in the filename of one of your images (e.g. IMG_0001.JPG, any will do) and click OK.
    A new Smart Collection should appear with just that image.
    Now, go to Smart Collections » Export Settings and save your new Smart Collection (e.g. temp.lrsmcol).
  5. If you now open this file in a text editor, you will see that it is simply a set of instructions for Lightroom to find the image that you have asked for.
    So your file should contain the following search criteria:

    {
    criteria = "filename",
    operation = "all",
    value = "IMG_0001.JPG",
    value2 = "",
    },

    We will take advantage of this simple structure to import the list of filenames.
    For this, we will need to copy the whole filename list as a separate criteria in this file. Not something that you would want to do by hand if you have hundreds of pictures in each album… So,the next step is the integration of the Excel list of filenames in a Lightroom Smart Collection file in an automatic manner. This is where Word becomes useful as we will use its mail merge function to do that.

  6. In Word, open the temp.lrsmcol file that you have created in the previous step. Select the part shown above from the file and paste it in a new Word document.
    Delete the current filename (IMG_0001.JPG) and leave the cursor between the quotes.
    Go to the menu Word » Mailings » Start Mail Merge… » Step by Step Mail Merge Wizard…
    And follow the instructions of the wizard, selecting the following options:

    • Select Document Type » Directory
    • Select Starting Document » Use the current document
    • Select recipients » Use an existing list » Select recipient list file… and select the Excel file that you have created and that contains the list of filenames of your album. Click OK. Select table should be fine as it is (First row of data contains column headers must be ON), just click OK. Mail merge recipients shows the full list of filenames, just click OK.
    • Arrange you directory » Address block… Do not change anything, only click on Match fields and select “filename” as the First Name (You should see the first record of the list appearing in the preview). Click OK. Address Block should now have appeared where your cursor was placed.
    • Preview your directory shows the result for each record (you don’t need to check them all, just go to the next step)
    • Complete the merge » To new document… » Merge records: All. Click OK and a new window opens with the full list of records merged with the Lightroom Smart Collection conditions.

    Select All and Copy.

  7. Back in temp.lrsmcol, select the criteria and paste the whole list.
    Everything between value = { and combine = "union", should be replaced.
    Change the name field in the file to “album1” for example. This is the name that will appear in Lightroom. Save as a text file under the name of your album (e.g. album1.lrsmcol).
  8. If you have several albums to import, simply go back through the Mail Merge steps (Previous) and, in Select recipients, choose Select a different list… and select the next Excel file to import. The rest does not need to be changed, simply click through the different steps until you have created your next file.
  9. Now, time to import the collections into Lightroom.
    Start Lightroom and go to Smart Collections » Import Collections Settings and select your file album1.lrsmcol
    A new smart collection appears with the contents of your Picasa album !

    One issue: if you, like me, have been several times round the counter of your camera and you have not renamed your files (lazy bad habit…), you will find several images with the same filename (e.g. several IMG_0001.JPG with different images). It means that you have to check the collection and deselect the images that do not belong there and leave only the right ones selected. But I am sure that you were better organized than I was and this should not be a problem for you 😉

  10. Finally, when you are satisfied with the correct transfer of the content of the album, create a new collection from the selected images in the temporary Smart Collection and give it the name of the corresponding album. Your Picasa Album has now been converted to a Lightroom Collection !

I have also used the same procedure to transfer my star-rated pictures from Picasa to Lightroom. Simply select all your star-rated pictures in Picasa and create an album containing them. Follow the procedure shown above to convert the album to a smart collection, import it in Lightroom and give a rating of your choice to all the pictures from this smart collection. Done !

I hope that you found this tutorial useful !
If you want to share improvements to this, please do not hesitate to comment 🙂

29 comments so far

Add Your Comment
  1. Great tutorial, it works very well.
    I had to adjust the magic formula in Excel 2007, exchanging the “,” with “;”, so the result would be:
    =MID(A3;FIND(CHAR(1);SUBSTITUTE(A3;”\”;CHAR(1);LEN(A3)-LEN(SUBSTITUTE(A3;”\”;””))))+1;LEN(A3))

    • Christian,
      It is possible that the formulas must be modified according to the language of the Excel installation.
      As an example, the french version of this post shows a completely different formula, adapted to the french installation of Excel.

  2. I’m having trouble locating the Picasa database in Picasa 3–in the listed folder I do not see any *.pal files. Any ideas on where they might be, or has the database changed structure?

    • Where the files are located is depending on which OS you are using.
      Try searching for *.pal files in your C: drive. If the location is really different from the one shown in point 1 of my procedure, please post it here (stating the OS you are using) so that others with a similar issue can find them.

  3. In excel 2010, I had to change the magic formula to;

    =MID(A2,FIND(“*”,SUBSTITUTE(A2,”\”,”*”,LEN(A2)-LEN(SUBSTITUTE(A2,”\”,””))))+1,LEN(A2))

    No ‘CHAR’

  4. The above solution has the limitation as noted that any filenames that are the same but in different folders will also end up in your collection. This can be gotten around by not only isolating the filename from the picasa file but also the immediately preceding folder and then doing a slightly modified merge for the lightroom file.

    Make a filename field as described above but then also grab the preceding folder in another column labeled something like “folder” with the formula:
    =MID(A2,FIND(CHAR(1),SUBSTITUTE(A2,”\”,CHAR(1),LEN(A2)-
    LEN(SUBSTITUTE(A2,”\”,””))-1))+1,FIND(CHAR(1),SUBSTITUTE(A2,”\”,CHAR(1),LEN(A2)-
    LEN(SUBSTITUTE(A2,”\”,””))))-FIND(CHAR(1),SUBSTITUTE(A2,”\”,CHAR(1),LEN(A2)-
    LEN(SUBSTITUTE(A2,”\”,””))-1))-1)

    Copy values for both of these columns and save for a new Excel DB for the merge. Then for the merge use this format:

    {
    {
    criteria = “filename”,
    operation = “all”,
    value = “IMGP1025.JPG”,
    value2 = “”,
    },
    {
    criteria = “folder”,
    operation = “all”,
    value = “2009-08-24 Maine Trip”,
    value2 = “”,
    },
    combine = “intersect”,
    },

    where you would change IMGP1025.JPG to your ‘filename’ merge field and 2009-08-24 Main Trip to your ‘folder’ merge field. After merging just paste the result as described in the original method above and you should only get files that have that name IN that folder for your collection

    • Ben,
      Good idea!
      Thanks for sharing it.

  5. Hi, thank you for the extensive tutorial on how to do this.

    I have found an easier way to import picasa star ratings into lightroom though.
    It is only possible since Picasa 3.9.

    1. this step is only needed if you have previously worked with metadata in lightroom on pictures that are starred in picasa. in lightroom select all, right-click -> metadata -> save metadata to file. lightroom will alert that metadata in the file will be overwritten. do so. so if you have already used tags in these same files in picasa as well you need to join them manually. this is the limitation of this method. anyways i think most who want to move the star ratings will have the more up-to-date and thus relevant tags in lightroom or even has assigned the same as in picasa. when opening picasa next it will update the newly saved metadata in the file and eventually overwrite its own previous tagging.

    2. in picasa options go to name tags and check “store name tags in photo” (since picasa 3.9). this way picasa will physically store a tag into the photo file.

    3. now filter only starred photos (or anything else as you please), select all and tag them with the word “star” for example.

    4. now go into lightroom open the folder with the files you tagged in picasa, select all, right-click -> metadata -> read metadata from file. it will alert you that previous metadata are overwritten. confirm this.

    5. now filter by metadata in lightroom for the tag “star”. you can add them to a collection, flag them, give them a color label or do whatever.
    I personally see the flag to be the counterpart of the star in picasa so i flag them all.
    if you want, you can then even delete the tag “star” from the file again.

    I hope this helped
    greetings
    fabian

    • Fabian,
      Thanks for this.
      The method that I describe in my post is indeed not valid anymore since Picasa 3.9 has changed the way Albums are saved.
      I need to test your method but it certainly looks interesting (and simple).
      Thanks again!

    • Hi, this approach only seems to work with .jpg but not RAW and Tiff. So we are back to the method that Fabian has described. I use LR4.1 and see that the collection database is no longer a simple set of instructions but now a SQL dB… So I am still on the search for a method to move all Tags from Picasa 3.9 into LR4.1. I can’t believe that nobody so far has found a way to do this or made a LR plug-in. Any help is appreciated!

      Best, Matthias

      • Matthias,
        You are right, since version 3.9 of Picasa, the method described here is not working anymore (I will update the post to reflect this).
        Picasa now stores albums descriptions in its database.
        I am currently trying to understand the details of the database structure to try and find another way to convert the albums to LR collections.

    • Hi Fabian,

      I have tried your approach but ran into a problem in step 3. First I filtered only starred photos – all good. But then I want to select all the starred photos so I can add the tag “star”. But how do you select all? I can only select all photos in an album or a folder and not for multiple albums or folders. Is there something I have missed?

      Thank you,
      Jesper

    • Hi Fabian / all.
      glad ai read to the bottom of this page to see your comment and indeed a much easier way now that picasa is finally making use of the metadata in a file. Agreed this doesnt help RAW files etc… but fortunately thats OK for me (for now) as my previous library is entirely JPEG (in fact the reason for me now switching to lightroom is that i have purchased a badboy canon EOS 5D mark iii, so time to switch to RAW shooting me thinks)…. anyhow, i digress…

      wanted to share a few small refinements to your method:
      1/ im using lightroom 5, and couldnt find the “right click – metadata” option. Instead it seems to now be: “right click – synchronise folder”. FYI for v5 peeps!
      2/ picasa seems to take a good long time writing the tag metadata to lots of picture files (and zero progress bar telling you how far it has got). This can quickly land you into trouble, as if you are like me, you assumed it completed much quicker than it did, and open lightroom, build the filter selecting images with that tag text, flag/star rate them….. but then compare picasa star rated files to lightroom flagged files and you will see the lightroom count is far less….. so my advice here? open up process manager (windows and OSX have a version) and watch your CPU going crazy…. when it stops, picasa will have finished the metadata file update.

      Hope this helps some of you.
      Keiran

      PS – And oh, Jesper, if no one else helped you out, you can “select all” by pressing control+A (or command+A on a mac) on your keyboard. This action will select all items within whatever container you have currently clicked. This works operating system wide (ie not just in this app).

  6. this of course means you could also tag every album in picasa in a certain way and import this to lightroom to make a new collection filtering for this tag as well.

  7. i see that no one has solved this thorny problem! and now that goog keeps changing it’s approach, it gets more complicated. i have a question that i hope someone could shed some light on.

    my use of picasa ended in 2010, so my picasa files and my LR files are no longer in sync. my current v 4.2 LR cat and image files do not take advantage of Picasa’s album structure, a huge problem. And, my image folders contain endless .ini files and folders with album names (created in picasa) but empty of images; just .ini.

    at this stage, is there any way to merge my current image files with the older picasa album structure? i have 25,000+ files and doing it manually is, well, an awful thought. thank you all, tom

  8. Why not just batch export the photos from your Picasa albums, which gives you JPEGs with all of the editing done in Picasa. Then import them. If you need to go back to work on thecamera original, do that in Picasa and then export it again. Also, you can make an album of just starred photos in Picasa and then export that.

  9. FYI for anyone interested, heres a script (and instructions) on how to do this.
    Much cleaner / faster.
    http://atotic.wordpress.com/2011/01/14/importing-picasa-folders-into-lightroom-on-os-x/

  10. Thanks,
    I was messing around to do some “migration” between Picasa (linux) and Lightroom (mac) and I’ve tried alter directly the database but a got stuck … your solutions is really much more simple(!). Clever move. Well done.

  11. How do you do you move images (.jpg) from latest Picasa to Lightroom 5 on a mac ?
    Thanks,
    Larry

    • Larry,
      I have now written a Lightroom plugin that converts the albums, tags,… of Picasa to Lightroom collections. It is not yet available publicly as I do not have any means of testing it on a Mac. Would you be interested in testing it ?

      • Ben – I’m going to be making the conversion from picasa as primary to lightroom…if you are still working on the plugin I would be interesting in testing it out. Thanks!

      • Hi Ben. I know this is an old post, but I have the same requirement to move all my picasa images with tags to LR. Were you able to write the LR plugin ?

  12. Ben, please, let’s collaborate! I was just thinking about rolling my own, because I couldn’t find anything appropriate. I’m on OS X and happy to test and develop. Just drop me a line.

  13. Hi Ben, this is really great work and I would like to particiapate. Can you share your lightroom plugin to convert the albums into collections?

  14. Hello, I have the same issue. I would like to convert my picasa albums to lightroom collections. I’d be willing to test the plugin if it is available. I’m using the latest version of both software titles with Windows 8.1

    Thank you!

  15. I could do this if I were a computer whiz, but I need a much simpler way to do this. So I will keep my 20,000 pics in Picasa and begin using Lightroom for only my new pics.

  16. Now that it has been announced that Google will cease to support Picasa, I expect a lot of attention will be placed on alternatives like lightroom and how to migrate to them. For me, migrating photo edits is very important as we have thousands of edited files over the years. Has anyone investigated what it would take to migrate edits? I understand that are stored in vastly different forms (picasa.ini files vs the LR catalog) and that migration would not be trivial. However I expect there may be renewed interest in the creation of a plugin that accomplishes this.

  17. Hi Ben

    I want to switch from Picasa to Lightroom.
    For me important is the face recognition

    can you help me

  18. Hi Neeraj
    I got never an answer from Ben. In the end I was using the JF plugin:
    http://regex.info/blog/lightroom-goodies/picasaweb

    I also love the folder export plugin from Jeffey Friedl!