MP4, MOV or WebM: Which Video Format to Use and When to Convert
A container is not a codec, and that one confusion explains most video compatibility failures. What MP4, MOV and WebM actually hold, which one each destination wants, and when converting costs nothing.
Updated August 18, 20268 min read
Almost every 'this video will not play' problem comes from the same misunderstanding: people talk about MP4, MOV and WebM as though they were video formats in the way JPG and PNG are image formats. They are not. They are containers — boxes — and what matters is which codec sits inside the box. Two files can both end in .mp4 and only one of them will open, because the container was never the thing your player was objecting to.
The container is the box, the codec is the contents
A video file holds at least three separate things: a video stream, an audio stream, and the index that says which frame belongs at which moment. The container defines how those are packed together and how metadata like rotation and chapter marks is stored. The codec defines how the pictures themselves are compressed.
So .mp4 tells you the packing. It does not tell you whether the video inside is H.264, which every device made this decade can decode, or H.265/HEVC, which most browsers play only when the device has a hardware HEVC decoder — and Edge and Firefox on Windows also need Microsoft's HEVC Video Extensions. That is why an MP4 exported from a phone can play perfectly on that phone and show a black rectangle on a colleague's laptop. The extension matched; the codec did not. If you are not sure what you have, the metadata reader reports the codec, resolution, frame rate and duration of the actual file rather than what the filename claims.
| MP4 | MOV | WebM | |
|---|---|---|---|
| Designed for | Universal delivery | Editing on Apple systems | Web playback |
| Usual video codec | H.264, sometimes H.265 | H.264, HEVC, ProRes | VP9 or AV1 |
| Usual audio codec | AAC | AAC or uncompressed PCM | Opus or Vorbis |
| Plays in every browser | Yes, with H.264 | Unreliable outside Safari | Chrome, Firefox, Edge; Safari for VP9 |
| Plays on Android | Yes | Often not | Yes |
| Size at equal quality | Baseline | Similar, or enormous with ProRes | 20–40% smaller |
| Good for archiving edits | Adequate | Yes | No — a lossy web format |
MP4: the one to pick when you are not sure
MP4 carrying H.264 video and AAC audio is the closest thing digital video has to a universal format. It plays on phones running any operating system, on smart TVs, in every browser, in every editor, and it uploads to every platform without transcoding surprises. If somebody asks for 'a video file' and gives no further detail, this is what they mean.
The one place MP4 disappoints is size. H.264 is a 2003 codec, and it is beaten comfortably by everything designed since. You pay for that compatibility with roughly a third more bytes than a modern codec would need for the same picture. For a file you are emailing once, that is irrelevant. For a video embedded on a page thousands of people will load, it is the whole story.
MOV: excellent at home, awkward everywhere else
MOV is Apple's QuickTime container, and MP4 was in fact derived from it — which is why the two are so similar internally that converting between them is often a matter of repackaging rather than re-encoding. MOV is what an iPhone produces, and it is the natural format inside Final Cut and other Apple-centric workflows, where it can also carry ProRes: a very high quality, very large intermediate codec built for editing rather than for delivery.
The friction starts when the file leaves that world. Windows Media Player, plenty of Android devices, most browsers and a fair number of upload forms either refuse MOV outright or accept it and then fail quietly during processing. If you are sending footage to somebody whose setup you do not know, converting MOV to MP4 removes an entire class of problem before it happens.
WebM: smaller files for pages you control
WebM is an open container built for the web, holding VP9 or AV1 video with Opus audio. At the same visual quality it is typically 20–40% smaller than H.264 in MP4, which on a self-hosted background video or product clip translates directly into a faster page and less bandwidth. It plays natively in Chrome, Firefox and Edge, and in current Safari for VP9.
Its weakness is everywhere that is not a browser. Sending a WebM to a client, importing one into an older editor, or uploading it to a platform that expects broadcast-style input can all go badly. Treat WebM as a delivery format for pages you control, not as something you hand to another person. Converting MP4 to WebM at publish time, while keeping the MP4 as the file you actually share, gets you both.
MP4, MOV and WebM in any direction — processed on your device, not our servers.
Convert a videoChoosing by destination
| Where it is going | Use | Why |
|---|---|---|
| Someone else, by email or chat | MP4 with H.264 | Opens on whatever they happen to own |
| YouTube, Instagram, TikTok | MP4 with H.264 | Everything is re-encoded on upload anyway — give it a clean source |
| A video element on your own site | WebM, with an MP4 fallback | Smallest bytes for most visitors, universal cover for the rest |
| Back into an editor for more work | MOV/ProRes or the original camera file | Editing a delivery format compounds compression damage |
| Long-term storage of finished work | MP4 at a generous bitrate | Still readable in ten years, with no proprietary decoder |
| A colleague on Windows | Not MOV | The single most likely place a MOV fails silently |
The row worth internalising is the third one. A video element accepts several source tags and the browser plays the first it understands, so listing WebM before MP4 gives most visitors the smaller file and everyone else the compatible one, at no cost to either group.
What conversion costs, and when it costs nothing
Every video codec except the archival ones is lossy, so decoding a video and re-encoding it discards a little more detail — most visibly in gradients, motion blur and dark areas. Converting once is usually invisible. Converting the same clip four times as it passes between people is how footage ends up looking as though it were filmed through a screen door.
- Repackage rather than re-encode where you can. MOV to MP4 with H.264 already inside is a container swap, and no quality is lost at all. Our converter re-encodes even then, at a bitrate taken from your source, so there the change is slight rather than zero.
- Convert from the best source you still have. Going back to the original file always beats converting the compressed copy somebody sent you.
- Do all your edits, then export once. Trimming, arranging and colour work each cost a generation if exported separately. The video editor does them in a single export.
- Do not convert in the hope of shrinking a file. If it is too big, compress it deliberately with a target size in mind; changing container alone achieves very little.
- Check the frame rate survived. A 60 fps clip converted to 30 fps loses half its motion smoothness permanently, and some presets do this without announcing it.
One practical note about where the work happens. Video files are large and often personal — family footage, unreleased work, client material under an agreement. Every conversion here runs on your own device, not our servers, so the file does not have to be uploaded, queued on a server or left in somebody else's storage waiting to be deleted. It also means a 2 GB file is not a 2 GB upload. The free converter takes files up to 100 MB and 5 minutes and exports up to 720p; on Pro, the only real limit is your own machine.
AVI, MKV and the rest
AVI is a 1992 Microsoft container that predates modern codecs and modern metadata, so it cannot store things a current player expects, such as reliable variable frame rate. Files that arrive as AVI are usually old, and the right move is to convert once to MP4 and keep that. MKV is technically the most capable container of the lot — unlimited subtitle and audio tracks, almost any codec — which makes it popular for archived films and unpopular with browsers and upload forms, which mostly refuse it.
GIF deserves a mention because people reach for it as a video format and it is not one. It has no audio, is capped at 256 colours, and is enormous for anything longer than a couple of seconds. For a short silent loop, a muted MP4 or WebM looks better and weighs a fraction as much — although if a platform genuinely demands a GIF, converting video to GIF has its own set of trade-offs worth knowing before you start.
Frequently asked questions
Is MP4 or MOV better quality?
Neither, by itself. Both are containers, and the quality comes from the codec and bitrate inside them. A MOV holding ProRes is far higher quality than a typical MP4; a MOV holding the same H.264 stream as an MP4 is identical to it. MOV's real advantage is that it can carry editing codecs that MP4 usually does not.
Does converting MOV to MP4 lose quality?
Very little. Most MOV files from phones already contain H.264 video and AAC audio, which MP4 supports directly, so in principle the streams could simply be repackaged into a new container. Our converter re-encodes the video anyway, at a bitrate taken from your source, so the change is slight but not zero; free exports go up to 720p, and Pro keeps the full resolution. More is lost when the source uses a codec MP4 cannot carry, such as ProRes, and the video genuinely has to be recompressed.
Should I use WebM instead of MP4 on my website?
Use both. Serve WebM first for the 20–40% size saving most visitors will get, and list an MP4 source as a fallback in the same video element for anything that cannot decode VP9 or AV1. Browsers play the first source they support, so the fallback costs nothing to the visitors who never need it.
Why will my video not play on Windows?
Two likely causes. Either it is a MOV file, which Windows handles inconsistently, or it is an MP4 containing H.265/HEVC, which Windows may not decode without an additional codec (Microsoft's HEVC Video Extensions). Converting to MP4 with H.264 fixes both, and reading the file's metadata first tells you which one you are dealing with.