Convert MOV, MKV or WebM to MP4 without losing quality
Usually the wrong box, not the wrong video
Drop a video anywhere on this page. Each stream is checked against MP4 first, and you are told whether it can be copied across untouched or has to be re-encoded — before anything is written.
- MOV
- MKV
- WebM
- MP4
- MPEG-TS
Containers, codecs, and when a conversion is really a copy
MP4 is a box, not a codec
A video file is two things at once. The container — MP4, MOV, MKV, WebM — is the box: it holds the streams, their timestamps, an index of where each frame sits, and metadata such as rotation and language. The codecs — H.264, HEVC, VP9 and AV1 for pictures; AAC, Opus and MP3 for sound — are how the content inside the box was compressed. "Convert MOV to MP4" names two boxes and says nothing about what is inside them, and what is inside decides everything that follows: how long the job takes, and whether any quality is lost.
Most players care about both. A television that "plays MP4" is really saying it can open the MP4 box and decode H.264 and AAC inside it. Hand it an MP4 containing VP9 and it opens the box, finds a codec it has no decoder for, and shows a black screen or an error. That is why the file extension alone never tells you whether a file will play.
Remux versus transcode
There are two fundamentally different ways to get from one container to another.
- Remuxing (a stream copy) takes the compressed packets out of the source and writes them into the new container unchanged. Nothing is decoded, so nothing can be lost: the picture and sound in the output are bit-identical to the source. The work is reading and writing bytes, so its duration scales with the file’s size, not its length — a 2 GB file costs about what copying 2 GB costs.
- Transcoding (re-encoding) decodes every frame to raw pixels and compresses it again. That is the only way to change a codec, and it has two costs. Time: the work scales with the number of frames. And quality: lossy compression applied a second time throws away a second round of detail, even at generous settings.
The frame arithmetic is worth doing once. A ten-minute clip at 30 frames per second is 10 × 60 × 30 = 18,000 frames. An encoder managing 30 frames a second needs 600 seconds — exactly real time. One managing 120 frames a second needs 150. The same clip remuxed never touches a frame at all.
So the useful question is never "how do I convert this to MP4" but "can this be remuxed into MP4". This page asks it first, per stream, and tells you the answer before it writes anything.
Why MOV to MP4 is usually lossless
MP4 was built on Apple’s QuickTime file format: ISO standardised QuickTime’s structure as the base media file format, and MP4 is a profile of it. The two boxes are close relatives, and every mainstream codec found in a MOV is also legal in an MP4. An iPhone set to Most Compatible records H.264 video with AAC audio in a MOV — precisely the pair every MP4 player expects — so moving it into an MP4 is a pure remux: seconds, and no change at all to what you see or hear.
The same holds for most MKV files downloaded or recorded with H.264 and AAC, and for screen recorders such as OBS that can write H.264 into MKV so a crash does not corrupt the whole recording. The container changes; the content does not.
When it isn’t lossless
A remux is only possible when each stream is in a codec the output is allowed, and expected, to hold. The common exceptions:
- iPhone "High Efficiency" video is HEVC. MP4 can legally contain HEVC, but many Windows machines, older TVs and some web players cannot decode it. For a file that must play everywhere, it is re-encoded to H.264 — which also requires a browser able to decode HEVC in the first place.
- WebM holds VP8, VP9 or AV1 video with Vorbis or Opus audio. Vorbis has no standard place in MP4 and VP8 is almost unplayable there, so both are re-encoded; VP9, AV1 and Opus are MP4-legal but far from universally playable.
- Professional MOV from cameras and editors often carries ProRes video or uncompressed PCM audio. Neither belongs in a consumer MP4, so both are re-encoded — and a ProRes file shrinks dramatically as a result, because ProRes is built for editing, not delivery.
- Film rips in MKV frequently carry AC-3, DTS or FLAC audio. The picture may remux while only the sound is re-encoded to AAC, which is quick because audio is a tiny fraction of the work.
That last case is common enough that this page treats it as its own path: the picture is copied, and only the audio is re-encoded. You keep the speed and the untouched video.
Universal or Modern
The Compatibility setting decides which codecs count as MP4-ready. Universal, the default, copies only H.264 with AAC or MP3 audio, because that combination opens on every phone, TV, browser and Windows install without a codec pack — and "it must play everywhere" is why most people want an MP4. Modern also copies HEVC, AV1 and VP9 video and Opus or FLAC audio. It is faster and lossless for more files, and the right choice when you know the destination — a recent Mac, a phone, a browser — can decode them. When both settings produce the same plan for your file, the inspector says so.
What a conversion keeps, and what it doesn’t
The output carries the primary video track and the primary audio track. Subtitles, alternative language tracks, chapters and attachments in an MKV are not carried over: MP4 cannot hold MKV’s common subtitle formats, such as ASS and PGS, as they are, and quietly converting some of them would be a guess. A portrait phone clip stays portrait.
The MP4 is written with its index at the front (fast start), so it begins playing on the web before it has fully downloaded. If a track has to be dropped — audio in a codec this browser cannot decode, for example — the result says so in plain words. It is never removed silently.
On a remux, a section cut starts at the keyframe at or before the in point you type, because a copied stream cannot begin between keyframes. If the cut has to be exact to the frame, use the trimmer, which measures that drift before it writes.
The same jobs in FFmpeg
Everything here has a command-line equivalent, and the workbench prints the one that matches your file and settings. The shapes are:
| Situation | Command |
|---|---|
| Everything MP4-ready | ffmpeg -i input.mov -c copy -movflags +faststart output.mp4 |
| Picture ready, audio not | ffmpeg -i input.mkv -c:v copy -c:a aac -movflags +faststart output.mp4 |
| Picture must change | ffmpeg -i input.webm -c:v libx264 -crf 18 -pix_fmt yuv420p -c:a aac -movflags +faststart output.mp4 |
| HEVC kept as is | ffmpeg -i input.mov -c copy -tag:v hvc1 -movflags +faststart output.mp4 |
Two details matter. -c copy checks legality, not playability: ffmpeg will happily copy HEVC, VP9 or Opus into an MP4 that many players then refuse, which is the mistake the per-stream check above exists to prevent. And -tag:v hvc1 is what makes a copied HEVC stream open in QuickTime and on Apple devices, which will not play the hev1 tag ffmpeg writes by default.
Questions
What is the difference between remuxing and converting?
Why was my file re-encoded instead of copied?
Is this the same as ffmpeg -c copy?
What happens to the audio?
Will an iPhone MOV convert?
Is there a file size limit?
Other local video tools
All toolsStart processing
Drop a MOV, MKV or WebM in. You will know whether it is a copy or a re-encode before anything is written.