Vidtools

Guides

MP4, MOV, MKV, WebM: which one should you use?

Almost every piece of confusion about video formats comes from one mixed-up idea: people treat the file extension as if it describes the video. It does not. It describes the box the video came in.

Updated 2026-07-14

The container is the box, the codec is what is inside

A video file has two layers. The container is the wrapper: it holds the streams, records how they line up in time, and carries the metadata. MP4, MOV, MKV, and WebM are all containers, and the container is what your file extension names.

The codec is how the picture and the sound are actually encoded, and it lives inside the container. H.264, HEVC, VP9, and AV1 are video codecs. AAC, MP3, and Opus are audio codecs. The crucial point is that these two layers are largely independent: the same H.264 video can sit inside an MP4, an MOV, or an MKV, unchanged, and it is the same video in all three.

Once that clicks, a lot of video behavior stops being mysterious. It is why one MP4 uploads fine and another is rejected. It is why an MOV from an iPhone can become an MP4 in about two seconds. And it is why converting a file is so often the wrong tool for the job.

The four containers, and when each is right

ContainerUse it whenWatch out for
MP4Almost always. It is the universal answer and the only safe choice for sharing, uploading, or sending to someone else.Says nothing about the codec inside, so an MP4 can still be rejected if it holds HEVC
MOVYou are working in the Apple ecosystem, or the file came straight off an iPhone.Refused by a lot of websites, even though the streams inside are usually MP4-ready. Remux, do not convert
MKVArchiving, or you need multiple audio tracks and subtitle tracks in one file.Rejected by nearly every platform and many players, despite being the most capable container of the four
WebMServing video on the open web, where its royalty-free codecs matter.Poor support outside browsers, and Apple hardware is lukewarm about it

Remuxing: the five second conversion nobody offers you

Here is where the container idea pays for itself. If your file is in the wrong box but the streams inside are already what the target wants, then nothing needs to be re-encoded. The streams can simply be lifted out and put in a new box. That operation is called remuxing, and it is close to instant.

The classic case is an iPhone MOV. It contains H.264 or HEVC video and AAC audio, all of which MP4 accepts without complaint, so turning that MOV into an MP4 is a rewrap rather than a conversion. It takes seconds, and the result is bit for bit identical to the source, because nothing was decoded in the first place.

Most converters never offer this, and instead re-encode the whole video from scratch: minutes of processing, and a generation of quality thrown away for no reason at all. If a container swap is genuinely all you need, remuxing is strictly better, and the only reason to reach for a real conversion is when the codec inside has to change too.

Which codec, if you get to choose

  • H.264 is the right default. It is not the most efficient codec available, but it plays on literally everything, and universal compatibility beats a 30 percent file size saving in nearly every real situation.
  • HEVC (H.265) produces meaningfully smaller files at the same quality, and is the reason your iPhone videos are as small as they are. Support is good on modern devices and patchy everywhere else, which is exactly the wrong combination for a file you intend to send to someone.
  • AV1 is the efficient, royalty-free future, and hardware support is finally arriving. It is a good choice for the web and a poor one for a file you need somebody to open today.
  • VP9 sits behind most of what you watch on YouTube and works well in browsers, but it is rarely the right thing to export for general sharing.

Tools mentioned here