Extracting ACDSee thumbnails

I recently lost a bunch of digital photos of mine in a tragic hard-drive accident. While I was unable to recover the actual images, I found that my image viewer ACDSee had created thumbnails for each of them. ACDSee automatically maintains a database of thumbnails for all folders that you browse through under your local app settings (Thumb1.fpt for large thumbnails, and Thumb2.fpt for smaller versions), and doesn’t remove any files unless you explicitly tell it to do so.

While there are some professional tools out there that let you browse this database, I just needed something to quick and dirty to extract the files, so I decided to take a look at the fpt files. As it turns out, these files just consist of a header (512 bytes) followed by the raw JPG images. I wrote a little C# tool to parse the files and write out all the images.

You can download the exe here, or check out the source here. To use it, execute the following from the command line:

fptsplit.exe /i [Input File] /o [Output Directory]

Here’s an example of how you would use it to extract to a directory called C:\Thumbs – change your directory paths as needed:

fptsplit.exe /i "C:\ACD Systems\Catalogs\170\Default\Thumb1.fpt" /o "C:\Thumbs"

Update 06-2025:
Well – I certainly didn’t expect to come back to this one again after all these years, but based on some of the comments, my tool was no longer working with more recent versions of ACDSee’s thumbnail database. Due to a change in how the thumbnails are stored, the tool would fail with the following error:

Object reference not set to an instance of an object.

To be honest, I haven’t really used it in many years, but it turned out to be a fairly quick change. I’ve updated both the executable linked above and the source code to the new versions. I hope this may still be of help to someone out there.

28 throughts on "Extracting ACDSee thumbnails"

  1. YOU are the MAN!! All these years later, I’ve just had exactly the same problem after an HDD crash – all that was left was some of the photos I had backed-up, and my ACDSee database backup files. So, spent 3 days teaching ACDSee support how to use their own product (!) in how to retrieve the original folder structure. Only thing left was trying to extract the thumbnails (since better than nothing right!?). I’d also found the same pro-tool (such is Google-search I guess), but then just found this page, used your tool, and PRESTO. Kudos to you!

  2. Hi,

    I have a fpt database that I want to extract the thumbnails from.
    What exact commad do i put in command prompt. My database is “c:\a.fpt”. I would like to extract the data to “c:\b” folder

    I have tried various combinations like:
    fptsplit.exe “c:\a.fpt” “c:\b”
    with or without quotation marks, with or without the folder path. I always get the same message: Invalid argument.

    Thanks

    1. You’ve got the directory right, but you need to specify the .fpt file when you run the command: fptsplit.exe /i Thumb1.fpt /o C:\somedirectory

  3. Thanx to you my pics are gone but not forgotten! A drink on me if you ever happen to be in South Africa

  4. I tried to parse not ACDSee fpt but look alike cache file with alot of Jpeg. It didn’t work.

    Error: Object reference not set to an instance of an object.

    I assume that something is wrong with framework? Could you produce more universal parser?

    1. I don’t know what a “look alike cache” file is – this tool was only ever meant to extract data from FPT files. You are welcome to look at the source code (link in post), and see if you can get any useful information out of the file you are trying to read.

  5. Thanks a LOT, man! It works. Since I am no programmer, I would not figure it out without the remark in discussion:

    My database is “c:\a.fpt”. I would like to extract the data to “c:\b” folder — fptsplit.exe /i C:\a.fpt /o C:\b

    Perhaps put it into the introduction?

    Cheers from Czech republic!
    Petr

  6. This is exactly what I need as I lost about 10,000 images but still have the database with Thumbsx.

    Unfortunately I can not get Windows 10 to execute the program.

    Help!

      1. Wow —Thanks for the very quick reply!

        from a command prompt …

        C: \Users\James>fptsplit.exe /i f:\ACD Systems\Catalogs\170\Default\Thumb1.fpt /o f:Thumbs

        reply…
        ‘fptsplit.exe’ is not recognized as an internal or external command, operable program or batch file.

        1. Make sure you copy fptsplit.exe into the directory you are trying to run the command from (C:\Users\James in your case) – I think that’s what the error is indicating.

          The command should look like this:
          fptsplit.exe /i “F:\ACD Systems\Catalogs\170\Default\Thumb1.fpt” /o “F:\Thumbs”

  7. Hey
    A really big THANKS for you and from France : i’ve lost 10 pics of my childs and it bother me a lot.
    But with you’re soft, i could extract my acdsee db and tomorrow, start seek in the 6To to find them 🙂

  8. Is there anyone else here?

    Trying to open fpt file from acdsee version 14 (2021)
    Writes an error:
    Error: Object reference not set to object instance

    Can you help me?

  9. Thanks, it works good. But the thumbnails are too small to use (5k). I would like more resolution (larger output files). I cannot see any details on the output files. I guess that is not possible.

    1. The tool can only extract the thumbnails that are stored in ACDSee’s database. These days you could probably use AI upscaling to get more resolution out of the images, but that’s beyond the scope of this tool.

  10. Alex
    says:
    August 2, 2022 at 12:38 pm
    Is there anyone else here?
    Trying to open fpt file from acdsee version 14 (2021)
    Writes an error:
    Error: Object reference not set to object instance
    Can you help me?

    Were you able to help him with this error as I have the same problem?

  11. bro.. does this still work?

    fptsplit.exe /i “C:\Other\Fsplit\Thumb1.fpt” /o “C:\Thumbs”

    I’m getting:

    Parsing: C:\Other\Fsplit\Thumb1.fpt
    Error: Object reference not set to an instance of an object.

Leave a Reply to Ben Cancel reply

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