The four extensions people choose between when exporting a video — .mp4, .mov, .mkv, .webm — are not four kinds of video. They are four kinds of box. What determines whether a file plays, how big it is, and how good it looks is mostly what is inside the box, and the extension tells you surprisingly little about that. Once the distinction is clear, choosing between them is short.
Containers versus codecs
A codec is the compression scheme applied to the pictures or the sound: H.264, HEVC, VP8, VP9, AV1 for video; AAC, MP3, Opus, Vorbis, PCM for audio. The codec decides quality per byte, how much CPU decoding takes, and which hardware can decode it.
A container is the file format that wraps one or more compressed streams together with the index that says where each frame is, the timestamps that say when to show it, and metadata. The container decides which codecs are allowed inside, what extra tracks it can hold (subtitles, chapters, several audio languages), and which players are willing to open the file at all.
The same H.264 video stream can sit in an MP4, a MOV or an MKV without a single byte of the video changing. Moving it between them is a remux, which is fast and lossless. Changing the codec is a transcode, which decodes and re-encodes every frame and is neither.
So “convert MOV to MP4” might be a two-second remux or a twenty-minute re-encode, depending on what was in the MOV. That question has its own guide.
The four containers
MP4
MP4 is the ISO base media file format, standardised as MPEG-4 Part 14. It carries H.264, HEVC, AV1 and the older MPEG-4 Part 2 video; AAC, MP3 and, with less consistent player support, Opus audio; and a limited subtitle format. It is the closest thing video has to a universal format: every phone, browser, TV, editor and social platform reads it. Its only real weaknesses are narrow subtitle support and the fact that it is not the natural home for VP8, VP9 or Vorbis.
MOV
MOV is Apple’s QuickTime file format, and it is the ancestor of MP4: the ISO standard was derived from it, so the two share the same atom-based structure. In practice a MOV can hold everything an MP4 can, plus formats Apple cares about that MP4 does not define, notably ProRes video and uncompressed PCM audio, and a richer set of Apple metadata. It is native on macOS and iOS. Elsewhere it plays only if the codec inside is one the platform supports: a MOV with H.264 and AAC opens on Windows and Android without fuss, while a MOV with ProRes generally does not.
MKV
Matroska is an open container that will carry almost anything: any video codec, any audio codec, multiple audio and subtitle tracks in any format, chapters, attachments. It is the format of choice for archiving and for anything with several languages. The cost is that the built-in players on Apple platforms will not open it, Windows support in the bundled apps has been partial and version-dependent, and while some browsers will play an MKV if the codecs inside happen to be supported, none promise to. It is a file for people who have installed a real player.
WebM
WebM is a restricted subset of Matroska designed for the <video> element. It permits only VP8, VP9 or AV1 video and Vorbis or Opus audio. Every browser plays it natively, which is the whole point. Outside a browser the picture is reversed: Apple’s QuickTime and Photos do not open it, and Windows support depends on the app. If the destination is a web page, WebM is a good answer; if the destination is a person, it is usually the wrong one.
Compatibility at a glance
| Apple built-ins | Windows built-ins | Android | Browsers | Social and messaging | |
|---|---|---|---|---|---|
| MP4 (H.264/AAC) | Yes | Yes | Yes | Yes | Yes |
| MOV (H.264/AAC) | Yes | Yes | Usually | Mostly | Usually accepted |
| MOV (ProRes/PCM) | Yes | Rarely | Rarely | No | Re-encoded or rejected |
| MKV | No | Partial | Depends on app | Not guaranteed | Often rejected |
| WebM | No | Partial | Yes | Yes | Often re-encoded |
“Yes” here means the file opens with what the system ships. Anything can be made to play with the right app installed; the table is about what happens when you send the file to someone who has not installed anything.
What this editor exports, and why MP4 is the default
The editor offers four output formats, and it is worth knowing they are really two.
MP4, MOV and MKV all get the same streams: H.264 video from libx264 at the ultrafast preset and CRF 28, plus AAC audio. The only difference between the three exports is the box the streams are written into. Pick MOV if a Mac workflow specifically asks for it, MKV if you know your destination wants Matroska, and MP4 otherwise. MP4 is the default because it is the one that plays everywhere without a conversation, and because the H.264-plus-AAC combination inside it is the most widely hardware-decoded pair there is, which matters on phones and battery.
WebM gets different streams, because it has to: VP8 video from libvpx and Opus audio. Choose it when the file is going onto a web page you control, or when a destination explicitly requires WebM.
Why WebM export is slower
The H.264 path uses libx264 at ultrafast, an encoder that has had years of work put into being fast and that still runs quickly when compiled to WebAssembly. The WebM path uses libvpx’s VP8 encoder, which is markedly slower in this environment even at its fastest settings. VP9 would compress better but is not offered: at the speed settings a browser tab needs, the WebAssembly build of libvpx’s VP9 encoder crashes, so VP8 is the stable choice. The result is that a WebM export of the same clip takes noticeably longer than the MP4 export, and the file is generally not smaller for it.
If you need a WebM and time matters, cap the resolution. The encoder’s cost scales with pixel count, and 720p is a bit under half the work of 1080p. The resize page covers what that cap does.
Choosing
- Sending to a person, uploading anywhere, or unsure: MP4.
- Handing to an Apple editing workflow that asks for it: MOV. It is the same streams; it will not look better.
- Archiving with several audio tracks or subtitles: MKV, on the understanding that recipients need a player.
- Embedding on your own web page: WebM, or MP4, or both with the browser choosing.
If the file you already have is in the wrong box, the converters handle the common pairs: MOV to MP4, MKV to MP4, WebM to MP4 and MP4 to WebM. All of them re-encode a format change to the streams described above, for the reasons given on each page (muting on its own is the one case tried as a stream copy first), so if you want a lossless remux and the codecs allow it, FFmpeg’s -c copy is the tool. And for the full list of what the editor reads and writes, see the supported formats page.
One last reminder that applies whatever you pick: the container never changes the picture. If an export looks worse than the source, the cause is the encode, not the extension, and the guide to trimming without losing quality explains what that encode costs and when you can avoid it.