“This file cannot be played.” “Unsupported format.” A window that opens, shows a black rectangle and closes again. Almost none of this means the video is damaged. In nearly every case the file is fine and the program in front of you cannot decode what is inside it.
That distinction is the whole of the fix, so it is worth thirty seconds of theory.
The extension tells you almost nothing
.mp4, .mov, .mkv, .avi name the container — the box. What matters for playback is the codec inside it: H.264, HEVC, VP9, MPEG-4 Part 2, and for the sound AAC, Opus, AC-3, PCM. A player that opens one .mp4 happily can refuse the next one, because the second holds a codec it has no decoder for. The container-versus-codec split is worth reading in full if this is new; everything below follows from it.
The five things that actually cause it
HEVC (H.265), which recent iPhones record by default. Apple devices play it everywhere. Windows has needed a separately installed HEVC extension for its built-in player, some Android devices decode it and some do not, and browser support is uneven. This is the single most common reason a clip that plays perfectly on the phone that shot it will not open on the laptop it was sent to.
A container Apple’s apps do not open. QuickTime Player and Photos will not open MKV or WebM at all, whatever is inside them. This is not a codec problem — the file never gets that far.
An old AVI. AVI files that have been sitting on a drive for fifteen years often hold DivX, XviD or MJPEG video. VLC still plays them; most modern players and every browser do not.
Audio, when the picture is fine and there is no sound. MKV files frequently carry AC-3 or DTS audio, and MP4s occasionally carry Opus. Players that decode the video happily can be silent on the audio track, which reads as a broken file but is only half of one.
A genuinely incomplete file. An interrupted download, a transfer that stopped early, a recording that was cut off when the battery died. This is the one case in this list that a conversion cannot rescue, and it is much rarer than the other four.
Finding out what you actually have
Guessing wastes time; every platform can tell you.
- VLC, anywhere: Tools → Codec Information. It names the video and audio codec of the file that is open. VLC also plays nearly everything, so if VLC cannot play it either, suspect the last cause on the list.
- macOS: QuickTime Player’s Window → Show Movie Inspector lists the format.
- Windows: right-click → Properties → Details gives you some of it; MediaInfo gives you all of it.
- A terminal with FFmpeg:
ffprobe yourfile.mp4prints both streams in one line each.
The conversion that fixes the first four
There is one combination that plays essentially everywhere, in hardware, on phones, TVs, browsers and both desktop operating systems: H.264 video with AAC audio in an MP4. Converting to it is what turns an unplayable file into a playable one, and it is exactly what the converter here produces.
- Open the converter — or go straight to MOV to MP4, MKV to MP4, AVI to MP4 or WebM to MP4.
- Drop the file on the page. Nothing is uploaded; FFmpeg runs inside the tab.
- Leave the output format on MP4 and press Convert video.
- Download the result and try it in the player that refused the original.
Both streams are re-encoded, video to H.264 and audio to AAC, which is why this fixes an HEVC file for a Windows machine and an AC-3 soundtrack for a phone in the same pass. Why it re-encodes rather than just repackaging explains the trade you are making: a re-encode is never free, and for a file you consider a master it is the wrong move — keep the original and treat the MP4 as the copy you send.
If the drop zone shows no preview, keep going. The preview player is the browser’s own, so a file the browser cannot decode — a typical MKV, an old AVI — appears as a blank frame. FFmpeg in the tab is doing the decoding for the conversion itself and is not limited by that, so the conversion runs and the output is correct even when there was nothing to look at.
When converting will not help
If VLC will not play it, a conversion almost certainly will not either — FFmpeg and VLC lean on much of the same decoding machinery, and neither can invent data that is not in the file.
- A truncated file. Check the size against the source if you can. A recording that ends abruptly mid-frame sometimes still converts, keeping everything up to the break; a file with a missing header usually does not.
- DRM-protected video. Purchased or streamed content is encrypted by design. This is not a format problem.
- A camera’s proprietary wrapper. Some professional cameras write formats that need the manufacturer’s own utility first.
Symptom to fix
| What you see | Usually | Do this |
|---|---|---|
| iPhone clip will not open on Windows | HEVC, no decoder installed | Convert to MP4 — the video is re-encoded to H.264 |
| MKV will not open in QuickTime or Photos | The container, not the codec | MKV to MP4 |
| WebM will not open outside a browser | Apple apps do not read WebM | WebM to MP4 |
| Old AVI plays only in VLC | DivX, XviD or MJPEG inside | AVI to MP4 |
| Picture plays, no sound | AC-3, DTS or Opus audio | Any conversion here — audio comes out as AAC |
| Plays nowhere, VLC included | Incomplete or damaged file | Re-download or re-transfer the original |
| Plays fine, just far too large | Nothing is wrong with it | Downscale it instead of converting |
Everything above happens on your own machine: the file is read into the tab, decoded and re-encoded there, and handed back as a download, so an unplayable holiday video does not have to be uploaded to a stranger’s server to be made playable. Here is how to verify that claim yourself.