A video that will not play usually gives you nothing useful: a black rectangle, sound with no picture, a spinning wheel, or "format not supported" on a file that ends in .mp4 like every other video you have. The file is almost never broken. What has happened is that the device or app does not have a decoder for the way the picture inside was compressed.
Once you can tell the container from the codec, almost every one of these problems has a quick fix.
The box and what is inside it
A video file has two layers. The container is the file format you see in the name: MP4, MOV, MKV, WebM, AVI. It is a box that holds a picture track, one or more sound tracks, maybe subtitles, and the timing that keeps them together.
The codec is how the picture inside the box was compressed. Raw video is enormous, so every video is compressed, and decoding it needs the matching decoder. The extension does not tell you the codec. An MP4 can hold H.264, HEVC or AV1; a WebM holds VP8, VP9 or AV1; MKV can hold nearly anything.
So "it's an MP4, why won't it play?" has a simple answer: the box is fine, the device cannot read what is in it. The same applies to sound. A video can play its picture in silence because the audio track uses a codec the player lacks.
The four picture codecs you will meet
H.264 (also called AVC)
The safe default. Every current browser, phone, TV, laptop and messaging app plays H.264 in an MP4. It is older and less efficient than the others, which means bigger files for the same quality, but when a video has to play everywhere, this is the codec to send.
HEVC (also called H.265)
Roughly the same quality as H.264 at a smaller size, and the default for many phone cameras. iPhones record it when the camera format is set to High Efficiency. Apple devices play it without trouble. Elsewhere support depends on the hardware and the software around it: on Windows, for example, many computers cannot play HEVC in the browser or in the built-in apps unless the graphics hardware and the right Windows extension are both present. This is the most common reason a video recorded on one phone shows as a black screen on someone else's laptop.
VP9
Google's open codec, widely used on YouTube and usually found in a WebM file. Chrome, Edge and Firefox play it. Safari added support later and less completely than the others, and many older TVs and editing programs do not take it at all.
AV1
The newest of the four, open and royalty-free, and the most efficient: smaller files again at the same quality. Videos downloaded from YouTube are increasingly AV1. Chrome, Edge and Firefox play it on computers. Apple devices play it only where the chip has an AV1 decoder built in, which means recent models. Many editors, older phones and TVs, and most office software cannot open it.
Why the newest codec is the least compatible
Decoding efficient video is hard work, so devices do much of it in dedicated hardware. A codec only plays smoothly everywhere once that hardware is in most of the devices people own, which takes years after the codec is published. H.264 got there long ago. HEVC is held back mostly by licensing, which is why support is patchy across brands. AV1 is still arriving. Software decoding fills some gaps on fast computers, but phones and TVs rely on hardware.
How to find out what a video is
- Run it through one of the video tools on this site, such as the video converter. The first thing a job does is read the file, and from then on the file card shows a summary such as "0:42 · 1920 × 1080 · HEVC (H.265), AAC".
- On a computer, VLC shows the codec under Tools, Codec Information.
What the tools on this site do with these codecs
The video tools here run a build of FFmpeg, the standard open-source video engine, inside your browser, so your file stays on your device. That engine decodes H.264, HEVC, VP8 and VP9 itself. It is separate from the browser's own player, which matters in two ways.
A file that will not preview can still be converted. The preview uses your browser's player. If the browser cannot play the file, which is common for MKV, AVI and HEVC on many Windows PCs, the preview is simply not shown, but compressing, converting, trimming and the rest still work, because the engine does the decoding.
AV1 takes a different route. The engine's build has no AV1 decoder. So when a job needs to decode an AV1 picture, the engine copies the compressed frames out of the file untouched, and your browser's own decoder, through an interface called WebCodecs, decodes them and re-encodes them as H.264. The job then runs on that H.264 copy, with the original sound carried across. A long 4K file is handled in pieces so it never sits in memory all at once. Chrome and Edge on a computer can do all of this. Where the browser cannot, the tool says so plainly and suggests opening the page in Chrome or Edge on a computer, or saving the video as MP4 (H.264) from the app it came from. It does not send you to another tool on the site, because they all decode video the same way.
Some jobs never need to decode the picture: removing the sound from a video, or a fast trim that copies the frames as they are. Those work on AV1 too, and take seconds.
Fixes, in order of effort
- Try another player. On a computer, VLC plays almost every codec and container in software. If VLC plays it, the file is fine and the problem is the other player.
- Try another browser. Chrome or Edge on a computer currently play the widest range in a web page, including AV1.
- Change it at the source. On an iPhone, setting the camera format to Most Compatible records H.264 instead of HEVC for future videos. Many apps that export video have a similar choice.
- Convert it to MP4 with H.264. The video converter does this. If the picture is already H.264 in the standard 8-bit colour format, it is copied into the new file untouched, which is fast and loses nothing. Anything else, including HEVC, 10-bit H.264 and AV1, is re-encoded to standard H.264 that plays everywhere. WebM output is also available, for web use.
- Make it smaller while you are at it. If the reason you are converting is to send the video, compress it instead: the result is H.264 in MP4 with AAC sound, so it is both smaller and universally playable. See making a video smaller for WhatsApp or email.
When the picture plays but something else is wrong
- No sound. The sound track uses a codec the player lacks, which happens with some MKV files from cameras and recorders. Converting to MP4 re-encodes the sound to AAC when it is not AAC already.
- Sideways or upside down. Phones often store the picture one way and a rotation flag to say how to show it. Some players ignore the flag. The rotate video tool sets it right.
- Plays on a computer but not on the TV. TVs and older phones often have a maximum resolution or frame rate per codec. A 4K or 60 frames per second file may need converting to 1080p first; the resize video tool does that.
What to send so it plays first time
When you do not know what the other person has, send an MP4 with H.264 picture and AAC sound, at 1080p or below. It is not the smallest possible file, but it is the one combination that every phone, browser, TV and office app made in the last decade can play. Keep the original HEVC or AV1 for yourself: it is the better archive copy, and you can always make another H.264 version from it.