Formats
Converting Between MP4, MOV and WebM: A Practical Guide
What a container actually is, why the file extension does not tell you the codec, and how to convert between formats without quietly ruining the quality.
4 min read · Published 15 August 2026
Almost every problem people have with video formats comes from one misunderstanding: the file extension is not the format. MP4, MOV and WebM are containers, and a container is a box. What matters for compatibility and quality is what is inside the box, and the extension barely hints at that.
Containers and codecs
A container holds one or more streams, plus an index saying where every frame sits so a player can jump to the middle without reading the whole file, plus metadata such as subtitles, chapters and creation date. The video stream inside is compressed with a codec: H.264, H.265, VP9, AV1 and so on. The audio stream has its own codec, commonly AAC or Opus.
This is why two MP4 files can behave completely differently. One with H.264 video and AAC audio will play essentially everywhere. One with H.265 video in the same MP4 container will refuse to open in plenty of places. Same extension, same container, entirely different compatibility.
| Container | Usually holds | Where it fits |
|---|---|---|
| MP4 | H.264 or H.265 video, AAC audio | The safest general choice. Plays almost everywhere. |
| MOV | The same codecs, plus professional ones | Apple's container. Common out of editing software and cameras. |
| WebM | VP9 or AV1 video, Opus or Vorbis audio | Built for the web. Royalty-free codecs, smaller files, narrower device support. |
| MKV | Almost anything | Very flexible, good for archiving, poor for handing to someone else. |
Remuxing against re-encoding
There are two entirely different operations that both get called converting, and the difference is the most valuable thing in this guide.
Remuxing moves the existing streams into a different container without touching them. The video is not decoded and not re-compressed. It takes seconds even for a large file, and the quality is bit for bit identical because nothing has been recalculated. If you need an MKV containing H.264 to become an MP4, this is all that is required.
Re-encoding decodes every frame and compresses it again. It takes real time, it needs real processing power, and it always loses something, because lossy compression applied to already-compressed video discards a little more. Re-encoding is necessary when the codec itself has to change, or when you genuinely need a smaller file.
If your only problem is that a player will not open the file, try remuxing first. People routinely re-encode an hour of footage, losing quality and an afternoon, when a thirty second remux would have solved it.
Generation loss
Each re-encode is a generation, and each generation is slightly worse. The first is usually invisible. By the third or fourth, on detailed footage, you can see it: smearing around edges, blocking in dark areas, a general softness. This is why every conversion should start from the best source you have rather than from the last file you made, and why keeping the original matters.
Doing the conversion
This site does not convert video. Doing it properly in a browser needs a WebAssembly build of an encoder, which is a large download and slow on a phone, and shipping something that technically runs but takes longer than the video itself would not be much of a tool. What the tools here do is help you decide the settings before you start, which is where most of the quality is won or lost.
- FFmpeg is the command line tool nearly everything else is built on. Free, available on every platform, and precise. Worth learning if you convert regularly.
- HandBrake is a free graphical front end with sensible presets. A good middle ground when you want control without a command line.
- Editing software you already have will export to most common formats, and if the footage is already in a project this is the least work.
- Your phone's own share or export options often handle simple size reductions without any extra software.
Deciding settings before you start
- Work out your constraint. Is it a file size limit, a device that must play it, or a quality target?
- If it is a size limit, use the bitrate calculator to find the bitrate that fits, with audio accounted for.
- Check that bitrate against the resolution with the compression estimator. If it comes out very low, reduce the resolution rather than accepting a starved picture.
- Pick the codec for the audience. H.264 in MP4 for maximum compatibility, H.265 or AV1 when you control the playback and want smaller files.
- Convert once from the original, not from a previous export.
Audio is part of the decision
Audio codecs have the same compatibility question as video. AAC in an MP4 is the safe pairing. Opus is more efficient and is the natural partner for WebM, but is not universally supported in MP4. A file that plays with no sound is almost always an audio codec mismatch rather than a broken file.
Common questions
Does changing the file extension convert the video?
No. Renaming a file changes nothing about its contents. It usually makes things worse, because players trust the extension and then fail confusingly when the contents do not match.
Which format has the best quality?
The container does not affect quality at all. Quality comes from the codec and the bitrate. The same H.264 stream is identical in an MP4 or a MOV.
Is WebM better than MP4?
WebM with VP9 or AV1 usually produces a smaller file at similar quality, which is why it is common on the web. MP4 with H.264 plays on far more devices. The right answer depends on whether you value size or reach.