Trim MOV — Free Online Tool
Trim a MOV file to a precise segment, keeping the original QuickTime container intact with stream copying — no re-encoding means instant processing and zero quality loss. Ideal for cutting down ProRes, H.264, or HEVC footage without touching the codec data.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your MOV file here
or click to browse
Free — no uploads, no signups. Your files never leave your browser.
Settings
Note: Browser-based encoding uses approximate quality targets. For precise CRF compression, copy the FFmpeg command above and run it on your desktop.
Estimated output:
Conversion Complete!
DownloadHow It Works
This tool uses FFmpeg's stream copy mode (-c copy) to extract the specified time range from your MOV file without re-encoding any video or audio streams. The container remains QuickTime MOV, and the original codec data — whether H.264, H.265, AAC, or any other codec stored in the file — is passed through unchanged. Because no decode-encode cycle occurs, the operation is nearly instantaneous and introduces absolutely no additional compression artifacts. The -ss flag sets the start point and -to sets the end point in HH:MM:SS format. One important caveat: with stream copy, FFmpeg must cut on keyframes, so the actual trim point may land slightly before your requested start time to align with the nearest preceding keyframe in the video stream.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg binary. On this page, the command runs inside your browser via FFmpeg.wasm (WebAssembly), so no installation or server upload is required. |
-i input.mov
|
Specifies the input QuickTime MOV file. FFmpeg reads the container's moov atom to identify all streams (video codec, audio codec, chapters, etc.) before processing begins. |
-ss 00:00:00
|
Sets the trim start point at 0 seconds (the beginning of the file). Change this timestamp to any HH:MM:SS value to begin the output clip at a different point in the MOV timeline. |
-to 00:00:10
|
Sets the trim end point at 10 seconds from the start of the file (not from -ss). The output MOV will contain only the content between the -ss and -to timestamps. |
-c copy
|
Instructs FFmpeg to copy all streams — video, audio, and any others — directly from the input MOV to the output MOV without decoding or re-encoding. This preserves the original codec data exactly (H.264, H.265, AAC, etc.) and makes the trim nearly instantaneous regardless of file size. |
output.mov
|
Defines the output file as a QuickTime MOV container, matching the input format. The trimmed clip retains all MOV-specific features of the original including codec compatibility with Final Cut Pro, QuickTime Player, and Apple devices. |
Common Use Cases
- Extract a specific take or scene from a QuickTime recording captured in Final Cut Pro or a DSLR camera to send to a client for review
- Remove dead air, countdowns, or clapper slate footage from the beginning or end of a MOV file before handing off to an editor
- Cut a short highlight clip from a longer MOV interview or event recording to share on social media without re-encoding the original H.264 or HEVC stream
- Isolate a specific musical performance or dialogue section from a multi-hour MOV recording for transcription or audio review
- Trim a screen recording saved as MOV to remove setup or teardown time before embedding the clip in a presentation or tutorial
- Quickly split a long MOV capture from an iPhone or GoPro into shorter segments for easier storage or upload to video platforms
Frequently Asked Questions
No — using -c copy means FFmpeg reads the raw compressed data from the MOV container and writes it directly into the new file without decoding or re-encoding anything. Whether your MOV contains H.264, H.265, AAC, or any other codec, the bitstream is byte-for-byte identical to the source. Quality loss only happens during encoding cycles, and this workflow skips that entirely.
When using -c copy, FFmpeg cannot start mid-GOP (Group of Pictures) because it cannot create a new keyframe without re-encoding. Instead, it snaps the cut to the nearest keyframe before your requested start time. For most footage this is within a fraction of a second, but for material with sparse keyframes (like screen recordings or long-GOP camera footage) it could be a second or more off. If frame-accurate trimming is critical, remove -c copy to allow re-encoding at the cost of speed and a small quality reduction.
Yes — the MOV container fully supports chapters, multiple audio tracks, and subtitles, and FFmpeg's -c copy mode will carry all mapped streams through to the output. However, FFmpeg by default maps only the first video and first audio stream. If your original MOV has multiple audio tracks or subtitle tracks you want to keep, add -map 0 to the command before the output filename to copy all streams from the input.
The command displayed — ffmpeg -i input.mov -ss 00:00:00 -to 00:00:10 -c copy output.mov — runs identically on your local machine if you have FFmpeg installed. Just replace input.mov with your file path and adjust the -ss and -to timestamps. Since the operation uses stream copy, even very large MOV files (tens of gigabytes of ProRes or RAW footage) process in seconds regardless of file size.
The -c copy flag applies to all streams, so both video and audio will be cut to the same time range. The resulting MOV will have synchronized video and audio starting and ending at the same points. If you want only the audio portion from a trimmed segment, you would need to add -vn to drop the video stream and specify an audio-only output, though that would no longer be a standard video MOV file.
Adjust the values after -ss (start time) and -to (end time) using HH:MM:SS or decimal seconds format. For example, -ss 00:01:30 -to 00:02:45 trims from 1 minute 30 seconds to 2 minutes 45 seconds. Alternatively, replace -to with -t followed by a duration (e.g., -t 30 for a 30-second clip starting at -ss). Using -ss before -i is the fastest approach for large files because FFmpeg seeks in the container before reading stream data.
Technical Notes
MOV-to-MOV trimming with stream copy is one of the most lossless and efficient operations possible in FFmpeg because both input and output share the same QuickTime container structure — no remuxing incompatibilities or codec translation is needed. The QuickTime container's atom-based structure is fully preserved, including the moov atom, track metadata, and timing tables, which are simply rewritten to reflect the new duration. The -movflags +faststart flag (used when re-encoding) is not necessary here since -c copy writes the moov atom layout based on the original file's structure. One known limitation is that the cut precision is keyframe-dependent for the start point; the end point is generally accurate because FFmpeg can discard trailing packets after the -to timestamp. For professional workflows involving Apple ProRes or lossless codecs inside MOV, this stream copy approach is the correct method — re-encoding ProRes would introduce unnecessary quality loss. If your MOV uses the PNG or MJPEG video codec (intra-frame codecs with every frame as a keyframe), start-time precision will be exact to the frame because every frame is independently decodable.