Trim Video

Cut a video to a start and end time in your browser. A stream copy trims MP4, MOV, M4V and WEBM in seconds with no quality loss and no upload.

🌐 Español

Drop your file here (.mp4, .mov, .m4v, .webm)

πŸ”’ Private by design: your files are processed locally in your browser and never uploaded to any server.

Cutting without decoding

There are two ways to shorten a video and they differ enormously in cost.

The thorough way decodes every frame, discards the ones outside your range, and re-encodes the rest. It can cut at any frame you like, and it charges you an encoding pass plus a generation of compression loss for the privilege.

The fast way leaves the compressed data alone. It finds the byte range covering your clip, copies it into a fresh container, fixes up the timestamps and stops. Nothing is decoded, nothing is re-compressed, and a trim of a large file finishes in the time it takes to read and write it. The catch is that the clip has to begin at a keyframe.

This tool takes the fast route, without an option for the other one. For trimming that is almost always the right call, because you are extracting footage you intend to keep exactly as it is, and paying an encode to move the cut by half a second is a poor exchange.

Trimming a file

  1. Drop an MP4, MOV, M4V or WEBM onto the box.
  2. Enter a Start time (seconds).
  3. Enter an End time in seconds, where 0 means the end of the video. Leave it at zero to run to the end.
  4. Run it and download the trimmed clip.

Both fields are in whole seconds counted from the beginning of the file, so a cut from two minutes ten to three minutes is a start of 130 and an end of 180.

Why the start moves and the end does not

This is the one behaviour worth understanding, because it surprises people who expect frame accuracy.

Compressed video does not store every frame independently. A keyframe is complete on its own, and the frames after it are stored as differences from what came before, which is what makes video files a manageable size. A clip can only begin at a complete frame, because there is nothing preceding it to be a difference from.

So the seek jumps to the nearest keyframe at or before your requested start. If your footage has a keyframe every two seconds and you ask to start at 45, you may actually get 44. The end has no such constraint, since a clip can stop anywhere, so it lands where you asked.

The direction of the error is deliberate. Snapping backwards means you get slightly more than you asked for rather than losing the first word of a sentence.

What happens to the container

The output keeps the container it came in with. The compressed streams are being moved into a new wrapper rather than converted, so an MP4 stays an MP4.

For the MP4 family, which covers MP4, M4V and MOV, the index that tells a player how the file is laid out is moved to the front. Cameras and phones commonly write it at the end, which forces a player to download the entire file before it can show anything. Moving it forward is free and makes the clip start playing immediately when served over the web.

Timestamps get one fixup too. Because the cut can land mid stream, the first packets can carry negative timestamps that some players stumble over, so they are shifted to start the clip at zero.

The neighbouring operations

To break a file into several pieces rather than keep one range, Split Video uses the same copy strategy in both an equal parts and a fixed length mode. To join pieces, Merge Videos is the counterpart.

If you need the file smaller rather than shorter, that genuinely does require re-encoding, and Compress Video is the tool for it, though it takes MP4 only. To pull only the audio out of the range, Video to MP3 does that in one step. The rest are on the video hub.

See it in action

Screenshot of the Trim Video tool with sysfenix-sample.webm (183 KB) loaded, Start time (seconds) set to 0, End time in seconds, where 0 means the end of the video set to 0
Trim Video mid-process: sysfenix-sample.webm (183 KB) loaded, Start time (seconds) set to 0, End time in seconds, where 0 means the end of the video set to 0.
Screenshot of the Trim Video result screen showing sysfenix-sample-trimmed.webm ready to download (183 KB)
The finished result: sysfenix-sample-trimmed.webm ready to download (183 KB). The download link is a local blob URL β€” the file never leaves your device.

Frequently asked questions

Does trimming reduce the quality?

No, because nothing is decoded or re-encoded. The compressed video and audio data inside your chosen range is copied across into a new container untouched, so the trimmed clip is bit for bit the same footage as the corresponding part of the original. This is also why the operation takes seconds rather than minutes, even on a long file.

How exact are the start and end points?

The end is exact. The start snaps backwards to the nearest keyframe at or before the time you asked for, which is an unavoidable consequence of copying compressed data rather than re-encoding it. A frame that is not a keyframe is stored as a difference from earlier frames, so a clip cannot begin there. On typical footage with a keyframe every second or two the drift is small, and it always errs towards including a little extra rather than cutting something off.

What do I put in the end time to trim only the beginning?

Leave it at zero. Zero means run to the end of the video rather than stop at second zero, so setting a start of 30 and leaving the end at zero gives you everything from thirty seconds onwards. The same applies if the end you enter is not actually after the start, which is treated the same way rather than producing an empty file.

Why does the clip start playing before it has finished downloading, when the original did not?

Because for MP4, M4V and MOV outputs the index is moved to the front of the file. A player needs that index before it can start, and many cameras and phones write it at the end, which forces a player to fetch the whole file first. Moving it forward costs nothing and makes the clip stream properly from a web server. WEBM does not need this and does not get it.

My clip starts with a moment of black or a stutter. What causes that?

Usually timestamps. A stream copy can leave the first packets of the new file carrying negative timestamps inherited from where the cut landed, which some players handle poorly. The trim shifts them so the clip starts cleanly at zero, which resolves the common version of this. If it still happens, the cut has probably landed on an unusual keyframe structure and re-encoding with a different tool is the fallback.

What comes out, and under what name?

One file, in the same container you put in, named after your original with a trimmed suffix. An MP4 stays an MP4 and a WEBM stays a WEBM, because the compressed streams are being rehoused rather than converted, and changing the container would mean a format conversion that this tool deliberately does not perform.

Related tools