Skip to content
nah

Trim Video

Cut a video to exactly the clip you need — set start and end times with a live preview.

100% in your browser — files never leave your device

Fast, lossless video trimming in your browser

Video trimming tools usually work in one of two ways: upload your file to a server, or re-encode every frame locally to get frame-accurate cuts. Both approaches have costs — the first risks your privacy and is slow on large files; the second takes significant CPU time and degrades quality slightly with each encode.

This tool takes a third path. It uses FFmpeg.wasm in stream-copy mode, which cuts the video at keyframe boundaries without touching the encoded data. The result is near-instant trimming that preserves exactly the original codec, resolution, and quality. For most clips, the trim completes in a few seconds regardless of file size, because no video decoding occurs.

Load your video, use the built-in player to identify your start and end points, then set the trim range with the controls below. The clip duration is shown in real time so you know exactly what you'll get before clicking Trim.

Frequently asked questions

Does trimming re-encode the video?

No. The trimmer uses FFmpeg's stream-copy mode (-c copy), which cuts the video at the requested timestamps without decoding or re-encoding the frames. This makes trimming very fast and preserves the original quality exactly. The tradeoff is that cut points snap to the nearest keyframe, so the actual start or end may be off by a fraction of a second.

Is my video uploaded anywhere?

No. Trimming runs entirely in your browser using FFmpeg.wasm — WebAssembly compiled from the same FFmpeg codebase used in professional video production. The WASM binary (about 25 MB) downloads once from a CDN on first use, then is cached by your browser. Your video files never leave your device.

What video formats can I trim?

FFmpeg.wasm supports most common containers: MP4, MOV, AVI, MKV, and WebM. The output is always an MP4 file. If your source container is not compatible with stream copy, FFmpeg will return an error and you may need to compress rather than trim.

How do I set precise start and end times?

After selecting a video, the HTML5 player appears above the trim controls. Scrub to find your cut points, then type exact values into the start and end time fields. The controls show the selected clip duration so you can confirm the range before trimming.

Why is the trimmed file slightly larger than expected?

Stream-copy includes any audio or video data between the last keyframe before your start point and the first keyframe after your end point. The extra frames are present in the file but are not displayed during playback. This is normal behavior for keyframe-aligned trimming.

Related tools