video

MOV to MP4: making iPhone and Mac videos play everywhere

4 min read · Convert Files guides

A MOV file and an MP4 file are almost the same thing: both are boxes of the same shape holding video and audio streams. The difference is what is inside. iPhones and Macs often put HEVC (H.265) video into a MOV, and HEVC is what Windows, Android and most web players refuse.

What the conversion does

Convert Files re-encodes the video to H.264 and the audio to AAC, then writes an MP4. That pair plays on essentially every device, TV, browser and messaging app. It is a real re-encode: every frame is decoded and encoded again inside your browser, so a two-minute clip takes a minute or two and the tab has to stay open.

Settings that matter

  • Width — leave at 0 to keep the size, or set 1280 for a much smaller file that still looks good on a phone
  • Frames per second — 30 is right for almost everything; 60 doubles the work for sports and games footage
  • Quality — 85% is the sweet spot; lower if the file must be tiny

WebM instead?

If the video is going onto a website you build, .webm (VP9 + Opus) is usually smaller than MP4 at the same quality and is supported by all modern browsers. For anything else, MP4.

Only the audio? Choose .mp3 or .m4a as the target and the video track is dropped entirely.

Container and codec are not the same thing

This is the whole confusion in one sentence: MOV and MP4 are boxes, and H.264, HEVC and AV1 are what goes in them. MP4 was standardised from Apple's QuickTime file format, so the two boxes are nearly the same shape internally. A .mov and a .mp4 from the same iPhone very often contain a byte-identical video stream, differing mainly in the label on the outside.

Which is why the failure is so infuriating. The player can decode the video perfectly well. It just does not like the box.

So why does the MOV refuse to play?

Usually one of three reasons. The program checks the extension and declines before it even opens the file — common in upload forms and older editors. Or the container holds QuickTime-specific structures, such as timecode or closed-caption tracks, that the player does not expect and gives up on. Or, most often on recent iPhones, the video inside is HEVC rather than H.264, and the player has no HEVC decoder — the same patent-licensing story that makes HEIC photos hard to open.

H.264 is the one that plays everywhere

If a video has to work on an unknown device, MP4 with H.264 video and AAC audio is the combination with the widest support of anything in existence: phones, TVs, browsers, editors, projectors, ten-year-old laptops. HEVC and AV1 are both more efficient — meaningfully smaller at the same quality — but each is a gamble on the far end having a decoder. Efficiency is worth a lot on a website you control and nothing at all in an email attachment.

What actually happens when you convert

Every frame is decoded and re-encoded, in your browser, using your machine's processor. That is why a long clip takes real time, roughly comparable to the length of the video for high-definition footage, and why the tab needs to stay open and in the foreground while it works. It also means this is a lossy step: you are re-compressing already-compressed video, so work from the highest quality source you have rather than from something already converted twice.

Making the file smaller while you are at it

Resolution is the biggest lever by a wide margin. Setting the width to 1280 takes a 4K clip to roughly a sixteenth of the pixel count, and on a phone screen the result is indistinguishable. Frame rate is the second: 60fps footage of someone talking looks exactly the same at 30. Bitrate is the fiddly one — adjust the first two before reaching for it.

A note on audio

MP4 expects AAC. If your MOV carries uncompressed PCM audio — common from screen recordings and some cameras — the sound is re-encoded to AAC as part of the conversion, which is normal and is where a surprising amount of the file size saving comes from.

Try it: convert a .mov to .mp4 — free, in your browser.Convert .mov to .mp4