Right-click any video and you get a three-letter puzzle: .mp4, .mov, .mkv, .webm, .avi. Does the extension matter? Sometimes. Here's what each format actually is, when it matters, and which one to use.
Formats vs codecs: the one concept you need
A file format (container) is the box; the codec is what's inside. MP4 is a container that typically holds H.264 or H.265 video with AAC audio. MKV is a container that can hold literally anything — H.264, VP9, AV1, FLAC, subtitles, multiple audio tracks. When someone says "MKV is better quality," they're usually crediting the box for what the codec inside did.
Quality comes from the codec and its settings. Compatibility comes from the container. Choose accordingly.
The four formats that matter
MP4 (.mp4)
The universal default. Every device, browser, editor, and platform reads it. Holds H.264/H.265 + AAC comfortably.
**Use for:** sharing, uploading, delivery, anything that must "just work." If you don't know what to pick, pick MP4.
**Limits:** a quirky ownership history (formal feature support is narrower than its real-world support) and weaker support for many audio tracks, subtitles, and chapters.
MOV (.mov)
Apple's container, designed by the same standards body as MP4 and nearly its sibling. Full-quality native support in QuickTime, Final Cut, and everything Apple. Windows and Android handle modern .mov files fine too, but very old or ProRes-heavy MOV files are where non-Apple software chokes.
**Use for:** Apple-centric workflows, camera originals (many cameras shoot .mov natively), editing scratch files.
MKV (.mkv)
The archivist's container. Open, infinitely flexible, no licensing strings. Holds any codec, unlimited audio/subtitle tracks, chapters, attachments, and menus. Perfect for preservation and playback in VLC or a media center.
**Use for:** archiving, playback in flexible players, multi-language collections with subtitle tracks.
**Limits:** the web largely rejects it (no major browser plays MKV natively), social platforms transcode it reluctantly or reject it, and some editors won't import it. Convert to MP4 before sharing.
WebM (.webm)
Google's web-native format: VP9 or AV1 video with Opus/Vorbis audio. Streams efficiently and plays in every modern browser without plugins. YouTube serves it extensively.
**Use for:** web embedding when you control the stack, screen recordings destined for the browser, anything bandwidth-sensitive.
**Limits:** hardware support outside the web is spottier — some phones and most TVs prefer MP4, and older editors won't import it.
AVI and FLV: legacy
AVI (1992) can't handle modern codecs efficiently and caps out at 4 GB in its common form. FLV was the Flash-video era's format and died with Flash. If you meet one, convert it — the content is worth more than the container.
Converting between formats
Same codec, different box — remux without re-encoding (instant, zero quality loss):
ffmpeg -i input.mkv -c copy output.mp4
This works when the codecs inside are MP4-compatible (H.264/AAC usually are). If you must re-encode:
ffmpeg -i input.mov -c:v libx264 -crf 18 -c:a aac output.mp4
Which should you use?
- **Sharing and uploading:** MP4, always - **Apple workflow or camera originals:** MOV, convert to MP4 at delivery - **Archiving and multi-track libraries:** MKV, convert to MP4 when sharing - **Web-native streaming:** WebM, with an MP4 fallback for older devices
The universal answer remains MP4: when a single file must go everywhere and work for everyone, H.264 in MP4 is still the safest combination on the internet.
No comments yet