How to create your Ward Photo Directory in two minutes

All wards publish their membership directory in some form or another for their members.  Some wards (including student wards) very often publish a photo directory to help members get to know each other better, and to help a member recall the name with a face.  Creating ward photo directories has been a laborious task, but it doesn’t need to be any more.  I’ve written a program that can generate your directory for you!

Oh, and as a bonus feature, with just a click you can upload all your membership photos to your ward web site on  Your photos are automatically resized as necessary.  What used to be a painful, tedious and slow process is now completely automated!  Yay!

All it takes is an MLS membership export and a directory full of member photos (sorry, you still have to round up each member family and get their photo).  It produces a nicely-formatted PDF with every family, listing phone numbers and address, and children’s names. 

This program is free.  Follow these steps to download, install, and use it:

  1. Download and install the prerequisites: Microsoft .NET Framework 2.0, Microsoft Visual J# redistributable, Microsoft Windows Installer.  These total 28MB, and I’ve never seen an MLS computer connected to the Internet, so I suggest you download it all to a thumb drive at once.
  2. Download the program: Ward Photo Directory installer
  3. Install the program and start it.  You should see a screen like this:
  4. On this first "MLS Import" tab, you can either open a file exported from MLS or you can paste the data directly from the clipboard that was prepared by MLS.  Follow the directions at the bottom of this step in the wizard to prepare the data.
  5. Under the "Photos" tab, choose the directory to import photos from.  The photos must be named by family name or head of household.  The program has some limited intelligence to figure out which photo goes with which membership record. 
  6. Under the "Hide Details" tab, include the geographic information that is common to most/all ward members.  You can reduce clutter in the directory by leaving out obvious parts of addresses like the state and area code your ward lives in.
  7. When you get to the "Output" tab, you’re done.  Just generate your directory:
  8. Choose a PDF quality and after a few moments a PDF pops up.  Don’t be too discouraged by the progress bar during generation.  It does all its movement at the end (poor progress bar).  Here is a sample of what it looks like (blurred deliberately to protect the innocent):
  9. If you want to upload your photos to your ward web site on, you can!  Just click the appropriate button on the last screen of the program.  It will prompt you for your username and password (as it needs it to go and upload photos).  It will likely take several minutes to do it’s work, but I guarantee the time ratio had you done it manually is at about 15:1. 

Where do I get "two minutes" from?  Well, once you have the pictures and are familiar with the program, you can regenerate your PDF in about two minutes from start to finish.  Once you see how easy PDF generation is, you’ll probably want to update your photo directory more frequently than you used to.  My last student ward likes to print out an updated copy each week for 2-3 weeks allowing members to pass it around and mark corrections on it.  Then the final prints out and they make copies for everyone.  It helps keep MLS updated too!

I hope you find this program helpful.  If you do, please comment on this post and tell me what your old process was like.  And hey, I take feature requests. :)  If you’re a programmer too and want the source, comment on that, too.  If I get enough interest in collaborative development I’ll consider open-sourcing the program. 

Copyright and license info: this software includes NFOP, an open-source product licensed under the Apache Software License

26 Responses to “How to create your Ward Photo Directory in two minutes”

  • Unknown says:

    Your program for creating ward photo directories looks great but i had a little trouble with it, i may just be doing something wrong. The exported file from MLS was on my flash drive as a .csv file. The software browses for a .txt file and when i input it anyway it didn’t work. I saved the file in excell in a few different text formats but it still didn’t work real well. Any suggestions?

  • Hi Brent,
    Try exporting the data as a text file rather than a comma-delimited (CSV) file. MLS should be willing to export that way.

  • Geoff Draper says:

    This is a great program. Thank you for writing it! We used to do our ward picture directories as a spreadsheet, and it was extremely time-consuming. Now it is quick and easy. Excellent work!

  • sz says:

    If I want to do a directory of only Relief Society members, and then only the members that I have a picture of, will this program work for me? Also, all my pictures currently have the first and last name as the file name. Will the program be able to match that? Do the first names have to be exactly as in MLS (instead of nicknames)? Thanks for all your help and putting this out there for others to use!

  • sz,
    Yes, if you do an MLS export of just the RS sisters it should be able to create a directory of just them. As far as nicknames go, you’ll have to try it and see how far you get. You might have to rename some files to get it to pick them up. But in general files named after the first and last names of the sisters ought to work.

  • daltonboy says:

    Hi Andrew,
    I’ve been using your Ward Photo Directory program for about a month now and I LOVE it! But today, when I went to do an update, I got an error message when I launched the program. It said, “CLR error:80004005 The program will now terminate” I realize that I am not entitled to software support on your free handout program, but if you have a quick idea on how to fix this I would really apprecitate it. Thanks very much.

  • daltonboy says:

    Hi Andrew,
    I’ve been using your Ward Photo Directory program for about a month now and I LOVE it! But today, when I went to do an update, I got an error message when I launched the program. It said, “CLR error:80004005 The program will now terminate” I realize that I am not entitled to software support on your free handout program, but if you have a quick idea on how to fix this I would really apprecitate it. Thanks very much.

  • Hi daltonboy,

    I’d like to help, but I’m afraid I’ve never seen that error and have no idea how to solve it. I wonder if reinstalling might help.

  • Unknown says:

    Great site. Within 30 minute had it going. Quick question is how do I get more per page? I would like 12, 15 or 18 per page, but yet leave the font the same size. Just shrink the pictures.

    Thanks, Mike

  • Boris says:

    hey, I am getting an error no matter what I do. I try and point it to the txt file for the mls stuff. Or point it to the folder of images.

    It says: Unhandled exception has occured in your application. IF you continue, the application will ignore this error and attempt to continue. If you click quit, the application will close immediately.

    Index out of range. Must be non-negative and less than the size of the collection.
    Parameter name: index.

  • Hi Boris,

    I suspect what’s going on is your MLS export has something the program wasn’t expecting… two phone numbers and one person, for example (although that particular example is supposed to work).
    Can you trim down the data file by cutting it in half and trying each half in the program to find which one fails, and keep doing that until you find out exactly which family is causing the failure, then change that family’s personal information and send it to me so I can fix the program? (without my having to receive private data)

  • This program looks really good and I am thinking of using it. I was hoping you could tell me if there is a way to adjust how many families are listed per page. Also, can you edit information for particular families or are you stuck with whatever MLS gives you? I would appreciate any details you can give. Thanks!


  • Michael,

    Your opportunity to modify the family data is between when you export from MLS and import into the program. So yes, you can, but the program doesn’t offer an interface to make it easy.
    There currently is no feature to adjust the size of the photos, and thus how many families fit on a page.
    I hope to add that someday.

  • I don’t know why, but my ward’s MLS will only export in .csv. There are no other options. Is there anyway to easily change the program so I can use .csv files? I’ll bet others are having the same problem and just writing off the program as useless but not telling you. It looks like a great program that will do a lot of good for the church. If only we can get it to work for us.

  • Dixon,

    I don't think "Export" is the option you need to use on MLS. It's Edit -> Copy to Clipboard, if I recall correctly. And I believe the latest MLS does support this format.

    But yes, supporting CSV and the export format used by the ward web site exporter (if that’s any different) so MLS isn’t even necessary is definitely on the radar.

  • Bishop Wynn says:

    I’m not very good on the computer but I tried copying the MLS Directory of Members to a file or to the clipboard. However, I think the only option is as .CSV file. Does the file have to be as a .TXT file in order to work with your program or can it be a .CSV file? If it does have to be a .TXT file, how does one go from MLS to a .TXT file?

  • Pam says:

    Is this program for Ward Photo Directory still available and work the same way as of January 2009?

  • Pam says:

    Is this program such that it is saved digitally that I can send as a pdf file in an email to ward members and they can copy their own? Or with 120 family pictures would the file be too large?

  • Kim says:

    Andrew, Thanks for all your effort on this program. It seems very promising, but unfortunately I got the same error that Boris did:

    Unhandled exception . . .
    Index out of range. Must be non-negative and less than the size of the collection.
    Parameter name: index.

    I trimmed the data file all the way down to just last names and got this error:

    Unhandled exception . . .
    Unrecongnized data format.

    Any suggestions?

    And one other question, will I need to format the pictures in any special way? I currently have them saved as jpegs cropped at 4×6 (which will be too big, of course).

  • Tim Harper says:

    I got this all set up at my ward here in Saratoga Springs, it worked awesome! I had best results cropping all of the photos to 6×4 – that may be worthy of mentioning.

    Sadly, I was unable to get the upload feature to work. The button is simply grayed out. Did I miss a pre-requisite step? The PDF generation worked superbly, so I know it’s at least MOSTLY set up correctly 🙂


  • Hi Tim,

    The upload feature is disabled because I discovered it only worked for my own ward. It had some hard-coded URLs in there that didn't apply generally. I've never had a chance since then to work on the program to make it work for everyone.


  • Pam says:

    When you are able to make it work I think would be a great benefit to so many wards to be the size that can be emailed to the ward members so that they can print their own copy in color. I had to just do my own in iphoto file and type in the information as I couldn't get your program to work on a Mac. But hopefully someone out there can design a program that will work that will put maybe 9-12 families per page instead of the church site that does only 5 per page. My Provo ward is 130 families and nobody wants to print out a 26 page directory.

  • Gabe says:

    I stumbled across your blog after creating a ward directory program of my own to solve the same purpose. I had searched and searched for an existing solution but hadn't found one; so I created my own. Anyway, my program is open-source (and free of course) and I wonder if there could be some collaboration to merge the projects in to a better program (and it would help with support burden).

    Anyway, my program is available at

    There are screen shots and an installer for windows. The source is on github. Anyway, let me know if you think it might be worth it to merge the projects. I noticed you said that it had crossed your mind to open source your program…

  • Brady says:


    Thanks for this program. I have had the same issue as a lot of other people as far as the unhandled exception. I noticed that in the past few exports from MLS I am getting a line that has a child and refers you to the parent. For example:
    Doe, Jane, see Doe, John
    When I take all of those lines out the error goes away. I don't know if you are still developing this program, but that is an issue that you could resolve. If you are not still developing this, is there any way to get the code?
    As far as the csv issue goes, you can save the file as a CSV and then change the extension to TXT
    Thanks again for are your hard work. This really is the only viable option out there for ward directories.

  • Unknown says:

    I was going to email to see if you still had this. A quick google search brought me right to your blog. It seems like you've got a pretty useful bit of software here. I'll have to dig in.

    Matt Williams

  • Hi, I am working on a RS directory and am wondering if this program will work on a mac. Please send me an email at Also, can this program print the address, numbers, and email addresses of the sisters? Please let me know if you have a chance, I'd love the help! Thanks!