Convert MOV to MP4 — Free Online Tool

Convert MOV files to MP4 using H.264 video and AAC audio — the same codecs used in both formats, meaning your video quality is preserved with minimal re-encoding overhead. MP4's universal browser and device support makes it the practical choice when sharing QuickTime footage outside of Apple's ecosystem.

FFmpeg Command

Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg

Free — no uploads, no signups. Your files never leave your browser.

Estimated output:

Conversion Complete!

Download

How It Works

MOV and MP4 are both container formats that frequently store H.264 video and AAC audio, so this conversion is often more of a re-wrap than a full transcode. However, because FFmpeg needs to ensure strict MP4 compliance and apply the +faststart optimization (which moves the moov atom to the file's beginning for web streaming), the file is processed rather than simply renamed. The video stream is re-encoded with libx264 at CRF 23 and the audio with AAC at 128k — producing an MP4 that plays natively in every major browser, Android device, Windows PC, and smart TV without requiring QuickTime. One key limitation: if your MOV file contains transparency (via Apple ProRes 4444 or PNG codec), that alpha channel will be lost, as the MP4 container does not support transparency.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg program — the open-source multimedia processing engine that handles all demuxing, decoding, encoding, and muxing operations in this conversion pipeline.
-i input.mov Specifies the input QuickTime MOV file. FFmpeg reads the container structure to identify the video and audio streams, their codecs (e.g., H.264, ProRes, AAC), and any metadata before processing begins.
-c:v libx264 Encodes the output video stream using the libx264 encoder, which produces H.264 video — the most universally compatible video codec for MP4 files across browsers, devices, and platforms.
-c:a aac Encodes the audio stream using FFmpeg's native AAC encoder. AAC is the standard audio codec for MP4 and is required for reliable playback on iOS, Android, and in web browsers — it replaces any audio codec present in the source MOV, including PCM or Apple Lossless.
-crf 23 Sets the Constant Rate Factor for libx264 to 23, which is the default quality level. This controls the video quality-to-file-size tradeoff: lower values (e.g., 18) produce higher quality larger files, while higher values (e.g., 28) produce smaller files with more compression artifacts.
-b:a 128k Sets the AAC audio bitrate to 128 kilobits per second, which is the standard quality level for stereo audio in web and mobile delivery — transparent to most listeners for speech and music from typical MOV source material.
-movflags +faststart Rewrites the output MP4 to place the moov atom (file metadata) at the beginning of the file rather than the end, enabling the video to begin playing in a browser or streaming player before the entire file has downloaded.
output.mp4 Specifies the output filename with the .mp4 extension, which tells FFmpeg to use the MP4 container format (MPEG-4 Part 14) for muxing the encoded H.264 video and AAC audio streams.

Common Use Cases

  • Sharing iPhone or Mac screen recordings with Windows or Android users who don't have QuickTime installed
  • Uploading footage from Final Cut Pro or DaVinci Resolve exports to YouTube, Vimeo, or social media platforms that prefer MP4
  • Embedding video on a website — browsers can natively play MP4/H.264 but often struggle with MOV files served directly
  • Sending QuickTime recordings to clients or colleagues who need a format that plays in VLC, Windows Media Player, or any generic media player
  • Preparing Apple device screen captures or Continuity Camera footage for use in video editors on non-Apple platforms
  • Reducing compatibility friction when submitting video files to digital signage systems, e-learning platforms, or broadcast workflows that require MP4

Frequently Asked Questions

There will be a small quality impact because the video is re-encoded from scratch using H.264 at CRF 23, even if the source MOV already contained H.264. CRF 23 is FFmpeg's default and represents a good balance between quality and file size — most viewers won't notice a difference. If your source MOV uses a high-quality intermediate codec like Apple ProRes, the quality reduction will be more noticeable compared to a MOV that already uses H.264. To preserve more quality, you can lower the CRF value (e.g., CRF 18) in the FFmpeg command at the cost of a larger output file.
Yes — both MOV and MP4 support chapter markers and multiple audio tracks, and FFmpeg will carry these through during conversion. The output MP4 retains the same chapter structure and all audio track streams from the source MOV. However, subtitle tracks stored in MOV's proprietary Apple text format may need transcoding to a compatible MP4 subtitle format (such as mov_text) to remain functional.
No. The MP4 container format does not support alpha channel transparency, regardless of the codec used. If your MOV file was exported with transparency (common with motion graphics from After Effects or Final Cut Pro using ProRes 4444), that alpha channel will be permanently lost and replaced with a black or default background in the MP4. For workflows requiring transparency, consider converting to WebM with VP9 instead, which does support alpha.
MOV files from Apple devices or professional editing software often use codecs like Apple ProRes, which is lossless or near-lossless and produces very large files. Converting to H.264 in MP4 typically results in a dramatically smaller file because H.264 is a highly efficient delivery codec. Conversely, if your MOV was already in H.264, the MP4 output will be similar in size but may vary slightly due to the re-encoding and the +faststart flag reorganizing the file structure.
The +faststart flag moves the MP4's metadata block (called the 'moov atom') from the end of the file to the beginning. By default, FFmpeg writes this metadata at the end after processing completes — which means a browser or streaming player must download the entire file before it can start playing. With +faststart, the metadata is repositioned to the front so playback can begin immediately while the rest of the file loads. This is essential for web-hosted video and makes no difference to local playback.
To adjust video quality, change the -crf value: lower numbers mean higher quality and larger files (e.g., -crf 18 for near-lossless), while higher numbers reduce quality and file size (e.g., -crf 28 for smaller files). The scale runs from 0 (lossless) to 51 (worst). To change audio quality, modify the -b:a value — for example, replacing 128k with 192k or 256k increases audio bitrate and fidelity. A full high-quality command would look like: ffmpeg -i input.mov -c:v libx264 -c:a aac -crf 18 -b:a 192k -movflags +faststart output.mp4

Technical Notes

MOV is Apple's QuickTime container format and shares significant structural DNA with MP4 — both are derived from the MPEG-4 Part 12 base specification, which is why codec re-wrapping between them is technically straightforward. The default conversion uses libx264 for video and AAC for audio, both of which are natively supported in MP4 and widely hardware-accelerated for playback. The CRF (Constant Rate Factor) encoding mode used here is single-pass and produces variable bitrate output, meaning complex scenes get more bits and static scenes get fewer — this is more efficient than a fixed bitrate. Metadata such as creation date, GPS coordinates (from iPhone footage), and rotation flags are generally preserved, though rotation metadata handling can differ between QuickTime and MP4 standards — if your video appears rotated after conversion, adding -metadata:s:v:0 rotate=0 to the command may help. MOV files containing Apple ProRes video (common from Final Cut Pro and professional cameras like the Blackmagic Pocket Cinema Camera) will be fully transcoded to H.264, which is a lossy compression step; for archival purposes, ProRes-to-H.264 conversion should always be treated as a quality-reducing export rather than a lossless format change.

Related Tools