|Note: After having repaired a number of CR2 (Canon RAW photos) I’ll now accept those too. An intact CR2 file, shot with the same camera + settings is required.|
Pricing info can be found here. Diagnostics are free, you will need to register to the website though for the file upload form to be visible.
- Some types of damage I can only fix if I have a sample of an intact file, specially when the file does not open at all. Please include a sample file, shot with the same camera using the same settings (resolution, quality, white balance, etc.). Name the file sample.jpg so I can recognize it. Usually the pictures taken right before or after the corrupt photo are shot with the same settings.
- Provide an explanation of the problem. Provide context. So for example explain if the files became corrupt after recovery, or after copying, or if they became corrupt without apparent reason. ‘Can not open’ is NOT an explanation of a problem.
And with all that out of the way, I’d love to give it a try!
Note: Upload supports drag and drop.
Following restrictions apply: Max file size 64 MB. Accepted file extensions: ZIP (preferred), JPG and JPEG. For added privacy and security you may want to use password protected ZIP files. To submit RAW photos (NEF, CR2 etc.), please ZIP them first as they tend to be quite large.
Include a sample file, shot with same camera and settings (resolution, quality, white balance, etc.) please!
With regards to the sample / reference file:
- The image file must be undamaged.
- The image file must be created by the same device (camera or mobile phone).
- The picture must have the same resolution and should have been taken with the same settings.
- The picture should NOT be edited using a photo editing software as it will re-encode the photo and make corruption permanent.
Other options for sending me files:
- Using a File Sharing Service like Dropbox or Google Drive. This is the preferred method as it is the most robust when working with larger files. Also it does not put stress on my web-server. If you have a large number of files to repair, ZIP them and upload them to your file sharing service. Send me the URL so I can download the file. If you password protect the ZIP file, include the password. If you want me to diagnose the photos include an order number for 1 x JPEG repair UNIT (click to buy).
- Sent the files by email. If you have only a few files you can email them. If you want me to diagnose the photos include an order number for 1 x JPEG repair UNIT (click to buy).
Types of JPEG file corruption
JPEG is a standard, a specification. A standard that describes how data inside JPEGs is stored. A JPEG is typically a chain of ‘markers’. One marker points to the next, then the next, etc.. Each marker serves a different purpose. For example, a marker can contain a comment. Another contains EXIF data which can contain all kinds of information on the image file: data taken, geo info, camera model etc.
The most important marker I guess, contains the actual image data. Roughly 5% of a JPEG file is meta data, the rest, 95% is the actual image. The 5% meta data is found at the start of the file and is also called the header.
A typical symptom of a damaged header is that the file is not recognized as a JPEG file and that it can’t be opened at all. To fix this kind of damage I also need an intact JPEG file, shot with the same camera using the same settings. If only some data inside the header is corrupt, depending on the image viewer you may get a more relevant error message, like “invalid huffman table” (which is required to decompress image data).
Corrupt image data
When the image data itself is corrupt, the JPG will probably load, however the image will be distorted. If a portion of the image data is missing (truncated file), part of the image will show. The latter is quite common after using photo recovery or file recovery software.
Another type of damage is bit corruption: Data inside the image ‘stream’ is corrupt. This can result in the image shifting and color errors.
How do I do it?
I am using a number of tools that are constantly under development. I call my tools the JPEG Repair Toolkit. It consists of 3 utilities. Apart from that I use a 3rd party hex editor and several photo editors for post processing.
JPEG Repair Toolkit consists of:
- A utility that checks JPEG structures. It follows and checks the chain markers I described earlier.
- A tool that allows me to modify the image stream at the byte level, just like a hex editor. It has a built-in JPEG image decoder that allows me to directly view the effects of the modifications that I make. Thus I do not have to switch from a hex editor to an image viewer all the time. I can also step through the decoding process so I can see at what byte address corruption is introduced. This is a very labor intense process that requires the human eye.
- As I change the image stream by adding, subtracting and modifying bytes I introduce new anomalies. To camouflage those I created an inpaint tool.
An example of what my “inpainter” can do: In this case it removed the runner. When doing JPEG Repair I remove the grey boxes with it.