How to Convert iPhone MOV Videos to Universal MP4 Format
Turn a QuickTime MOV into an H.264 MP4 in your browser, and understand why the file was refused in the first place.
MOV and MP4 are closer than they look
The two containers share an ancestor. Apple's QuickTime file format was the basis for the ISO base media file format, and MP4 is built on that. Open a .mov and a .mp4 side by side in a hex viewer and you find the same box structure: an ftyp box declaring what the file claims to be, a moov box holding the index, an mdat box holding the media itself.
In a great many cases a .mov straight off an iPhone already contains H.264 video and AAC audio, which is exactly what a .mp4 contains. The extension is doing most of the work of making them look different.
So why does anything refuse to play it
Two reasons, mostly. The first is the codec inside. If your iPhone camera is set to High Efficiency rather than Most Compatible, it records HEVC, also called H.265. That is still wrapped in a .mov, but HEVC support is patchy in a way H.264 is not: it depends on the operating system, the graphics hardware and the licensing, which is why the same file plays happily on a Mac and is rejected by a Windows editor. Cameras above phone level add more exotic options, ProRes among them, that almost nothing outside professional software will touch.
The second reason is software that decides by extension. Plenty of upload forms, older editors and embedded players read the last four characters of the filename and stop thinking. The file could be byte for byte acceptable and still bounce.
What this converter does
It reads the container, pulls the video track out, decodes it with the browser's own decoder, and re-encodes it to H.264 inside a fresh MP4. The audio track is copied across untouched when it is AAC, so the sound is bit identical to the source and costs nothing in time or quality.
The frame size is kept. Converting is not compressing here, so a 4K MOV comes back as a 4K MP4 rather than being quietly shrunk behind your back. The bit budget is set a little below what the source video track was spending, which usually makes the file slightly smaller.
The video is re-encoded rather than copied, and that distinction matters. You are spending one generation of lossy encoding. For a clip headed to a client, a phone, a projector or a social platform that will re-encode it again anyway, that is invisible. For footage you are about to grade and cut in an edit suite, it is not what you want.
Compatibility, chosen on purpose
The output is H.264 Baseline profile. Baseline leaves out some of the tools the higher profiles use, B-frames among them, so at a given bitrate it compresses a little less efficiently than High profile would. What you get in return is a file that plays on essentially everything: old Android phones, set top boxes, car head units, the ancient laptop wired to the projector in the meeting room. If the reason you are converting is that something refused your MOV, that trade runs the right way round.
What can go wrong
- The browser needs a decoder for whatever is inside your MOV. H.264 is universal. HEVC depends on the machine you are sitting at. ProRes will not decode.
- If the fast path cannot run, or measures itself as slower than real time, it falls back to recording the video off a canvas. That takes at least as long as the clip plays, and on browsers without MP4 recording it produces a WebM instead.
- The whole file is held in memory while it is worked on. Short clips are fine. A long 4K file will exhaust the tab.
- Audio that is not AAC cannot be copied through, and the fast path carries on without it, so the MP4 comes back silent. Play the result before you delete the original.
When ffmpeg is the better answer
If your MOV already contains H.264 and AAC, which it does whenever the phone was set to Most Compatible, then it does not need converting at all. It needs rewrapping, and ffmpeg does that with a stream copy: ffmpeg -i clip.mov -c copy clip.mp4 moves the media into a new container without decoding a single frame. It finishes in seconds on a file of any size, and because nothing is re-encoded there is no quality cost whatsoever.
That is strictly better than anything a browser can do, so if you handle footage regularly the install is worth it. The browser is the right tool for the other case: one file, no certainty about what is inside it, and no appetite for installing software to find out.
Your footage stays on your device
Nothing is uploaded. The demux, the decode, the encode and the remux all happen inside the page, which is worth knowing when the footage is a wedding, an interview under embargo or an unreleased cut. Open your browser's developer tools, watch the Network tab, and convert something. No request carries your video, because none is made.
MOV to MP4 takes your files in this tab and converts them without uploading anything.
Open MOV to MP4