Windows Photos: “It looks like we don’t support this file format.”
The first thing you need to check is if other photo viewers can actually open the file. For example try the ‘old’ Windows Photo Viewer or a third party photo viewer. If those fail to open the photo as well, the file may be corrupt.
If you are trying to open a RAW image (Canon CR2, Nikon NEF etc.) also try the software from the camera manufacturer. It should support the latest versions of the RAW files.
- Make sure you have installed the latest Windows Codec Pack.
- Try different software, for example this.
- Try camera manufacturer software and codecs. Sony | Canon | Nikon | Pentax | Olympus | Leica
- Make sure you are using latest version of the software that supports latest camera models.
- So many articles and blog posts addressing this issue encourage you to run chkdsk or SFC (system file checker). This is nonsense advice and I am very much against it.
If all fails to open the photo, you can try what software like JEPG-Repair Toolkit can do for you.
If the photos are the result of undelete, file recovery
A lot of people that contact me with this issue are trying to open photos that were recovered from a memory card for example, using software like Stellar Photo Recovery, Easeus or Recuva (etc.). In that case it is likely the photos have been incorrectly recovered. A photo can only be repaired if it actually contains most of it’s original data. Rather than repairing such photos it makes more sense to try to recover them again using software like ReclaiMe or R-Studio.
If recovered files are still corrupt: My specialized recovery software was created typically for this type of scenario: JpegDigger:
JpegDigger is the result of many real-world cases that came to me via my photo repair service. I use it to solve problems that other software can’t on a daily basis. So even if you tried other tools, it’s worth giving it a try.
JpegDigger detects JPEG & RAW – NEF (Nikon), CR2 (Canon), ORF (Olympus), RW2 (Panasonic-Lumix), ARW (Sony) and DNG (from a Leica Q2) support. Note: Should work with all TIFF based RAW photo formats. Detects non-TIFF Canon CR3 and Fuji RAF.
The JpegDigger output format is JPEG. This means a 6000×4000 CR2 file is recovered as a 6000×4000 JPEG. JpegDigger has the ability to skip corrupt files or include them and repair them to a degree where a photo viewer can open them. It tries to reconstruct fragmented photos and allows for manual reconstruction of your photos. Often such JPEGs can be recovered using JpegDigger even if the RAW photo itself can not be recovered.
If all photos on a memory card are corrupt
If all or virtually all photos on a memory card are corrupt (to a degree where you can not open them) there is a chance that not the individual photos are corrupt but the file system. In case it is caused by file system corruption, the issue is that the directory can still be found (so you see file names etc.) but pointers to the files are incorrect. Do not try to solve this using chkdsk!
Instead download JpegDigger and allow it to scan the memory card. Use override to have it ignore certain file system parameters. The example below shows corrupt photos on a USB drive with a corrupt file system which were all recovered intact. Slightly different file system corruption can for example result in generic thumbnails which typically result in the infamous ‘It looks like we don’t support this file format’ message when you try to view an individual photo in Windows Photos.
If individual photos are corrupt
‘It looks like we don’t support this file format’ is what I call a catch all error message. It means there is ‘some’ problem that prevents Windows Photos from opening the file. It does not tell us what is wrong with it. It is not by definition that you can repair such a file.
To aid in repair and diagnostics of corrupt photos I made a tool called JPEG-Repair. I use it on a daily basis to repair photos that customers uploaded to my photo repair service.
Experience learns that this error indicates some problem in the photo file header. This problem however may be a single byte with an erroneous value but it can also mean the entire header is corrupt. Even more severe is if corruption extends into actual image data, but even then not all is lost: As long as some image data is present, partial repair is still possible.
Worst case scenario, and I see this quite often unfortunately, is when the photo is an ’empty file’. What I mean by that is, although the file may have a valid name and size etc., it’s contents only exists of zeros or a repeating byte pattern then you open the file in a hex editor. When you attempt to repair such a file using JPEG-Repair, it will show an entropy value of 0.00 bits/byte for the file.
For more information read this blogpost: Corrupt JPEG Files and how to fix them.
There are a number of tools that claim RAW photo repair capabilities (Canon RAW – CR2, Nikon RAW- NEF, Sony RAW – ARW, etc.). Rather than repairing these however, these tools extract embedded JPEGs from the RAW photo very much like JPEG-Repair does. I know of no tools or even online services that truly repair corrupt RAW photos apart from DiskTuna. For some time this was very much a manual process using a hex editor. However this is very labor intensive and therefor expensive if a large number of RAW photos require repair.
I have invested research and time in writing a custom tool to assist me in researching and repairing RAW files, the Universal Header Repair Tool (U.H.R.T.). This often allows me to create one solution for several files and repair them in batch.
This video shows U.H.R.T. in action:
Whether a corrupt photo resulting in the error message ‘It looks like we don’t support this file format’ can be repaired or not all comes down to: Does the file still contain (part of) the original image data. JPEG-repair helps you determining that by showing you the entropy value and a byte histogram:
The first picture’s entropy shows what to expect for compressed data, which most image data is. The byte histogram shows a more or less even distribution of byte values (0 – 255, or 0x00 – 0xFF). Second example is the entropy and byte histogram of a file filled with an 0xFF (255) byte pattern. Only difference with the zero filled file (3rd example) is the byte histogram (hard to see, but peaks at value 0 where the 0xFF files file peaks at value 255).
Some repairs can be ‘batched’: JPEG header transplantation and extraction of full resolution JPEGs from corrupt RAW photos. If damage extends into actual image data human intervention is required.