[Windows] Fix corrupt or damaged JPEG photos and images with Bad Peggy

Bad Peggy1Many of us have a large library of images, whether they are family photos, art, desktop wallpapers and the type of pictures we don’t want to be caught with, these images can be very important to us. Human beings are sentimental creatures. The majority of pictures we keep signify a time or phase in our lives that we feel we need to document and store. The problem with technology, although it may now be a diminishing factor is that its fickle and unsafe. We constantly have to worry about viruses, file integrity, hackers, crashes and loss of information. Our important memories stored in JPEG could one day vanish like those of an amnesia victim so to keep this from happening, we create back ups, we move them around and in these sometimes unsafe processes, files lose integrity and become damaged. If you have a large photo library made up primarily of JPEGs, Bad Peggy could help you control and fix these issues.

What Is It and What Does It Do

Main Functionality

Bad Peggy is an open source piece of software that scans through a folder or directory of images to check for any damaged JPEGs. If it should find any loss in integrity or corruption in a file, it will display information on why the file is corrupt and it will allow the user to fix it using a set of tools that the application provides.


  • Portable
  • Lightweight
  • Open source
  • Easy to use


  • Requires Java
  • Not always reliable, you might have to scan a folder twice or three times before it picks up any damaged images


Java is one of the most widely used and popular programming languages today. It’s quite surprising that most freeware developers don’t use it. The problem with it is that you can get really tacky user interfaces that don’t really look nice, especially with Windows and you need the JRE (Java Runtime Environment) to run a Java application on your PC. Other than that, its a great tool and in the fingers of a talented programmer, amazing things can be done with it. My first impression of Bad Peggy was that it was a great example of Java under talented fingers. Though the way you set it up and install it is less than intuitive and could have been handled better the results are still good.

You get the application in a compressed folder  – a zip. You have to extract it in order for the application to run smoothly. You may say ‘Duh!’ but this is not obvious to all of us. Once extracted, you’ll be confronted with a folder containing ten items. A Command File that can be used to run Bad Peggy portably, an icon file, a properties file that’s also used to store persistence data, three text files, two setup files and two jar files. What matters most to us is the setup files and the command file(badpeggy.cmd). in order to run BadPeggy, we can either open the command file or run one of the setup files which will then create a desktop shortcut that virtually points to the command file. This means that if you move the folder, the shortcut wont work any more. You get two types of setups – for 32 bit systems and 64 bit systems.

The application can be divided into two major sections plus a menu and a status bar. Basically a picture screen on the left and an file information grid on the right. What’s interesting is that whatever you do to the general user interface and close it, it will open the same way the next time you run it. This persistence data is stored in the properties file. I have also noticed that the user interface window can act a little erratic when you restore and minimize it.

Bad PeggyTo scan through a folder or directory, you have to access the scan option under the file menu item. This will open a mini file browser screen where you have to select the folder you want to scan. It also gives you the option to create a new folder. After you’ve scanned through a folder, it will display the results of any corruption it may find on the file information grid. Along with this it will give you a few minor details of the scan on the status bar at the bottom such as the number of jpeg files it found in the folder. What I have noticed is that the scan is inconsistent and unreliable. I purposefully changed the extension of a PDF file into a jpeg file. With every scan, it picks up that its not a jpeg file at all. This was an easy test but to my surprise there was another damaged file in the folder. On my first Scan, it picked it up so I closed it and scanned the folder again but this time it just picked up the PDF file in disguise. It took at least three other scans to pick up the corruption again. If you look at the screenshot on the left, you may find it very ironic too.

Another issue I had was that it doesn’t refresh the list on the file information grid after it’s done scanning. So you see prior results that may not be even corrupt any more mixed in with new results. The right click context menu on the file information grid allows you to delete a file or move it to another folder. It also allows you to select all the files in the list or clear the entire list yourself. you can also export the list into a text file and in effect, do your own archiving.

Bad Peggy2Under the options menu, you get six options – ‘low priority’,’Use all CPU Cores’, ‘Include Subfolders’ and ‘Colorize’. These are all checkable. You also get ‘File Extensions’ which allows you to set what file extensions the application can scan through. I added PNG and scanned a folder. This brought back all the png files in the folder and marked them as non jpeg. This could be useful in the long run. You can also change the language from English to Dutch. Help gives you Documentation and an About screen. In the Documentation, it explains some of the libraries the application uses and some of the licenses. Great reading for any programmer but unfortunately it does not have any real help resources.

Conclusion and Download Link

This is not a bad application per se but I could not get much use out of it and I don’t frankly trust that it’s actually working. I tried corrupting a few files using paint but to no avail. The only way I could get it to pick up in-file corruption is by using notepad to alter the jpeg code. I also noticed that each type of error is colour coded. You can also drag and drop specific files that you want to scan. It doesn’t have a great range of fixing tools either. Most problems have to be fixed manually by the user.

Overall, I can’t say that I was impressed by Bad Peggy. However, this is not one of those tools that you download and use every day. It is one of those “doomsday” type of tools so, in that regard, I don’t see the harm in everyone keeping this program in mind if you ever have corrupt JPEGs. After all, you never know which program works in a bad situation.

Do not hesitate to comment about how you feel about the application, this review or any suggestions on what alternatives are worth mentioning. Heck, let’s make it a little interesting. Comment on what other good Java applications you may have come across as well that you feel deserve mentioning.

Price: Free

Version reviewed:  1.5.1

Supported OS: XP/Vista/7/8/8.1 (requires Java)

Download size: 1.92

VirusTotal malware scan results: 0/45

Is it portable? Yes 

Bad Peggy homepage

Related Posts