Filery

Trim Video

Cut a clip precisely. Keyframe cuts finish in milliseconds without re-encoding.

Choose video file or drop it anywhere on this page MP4 · MOV · WEBM · MKV · AVI · WMV · FLV · M4V · 3GP · MPEG · +3 Processed on your device — never uploaded

How to trim video

  1. Drop a video onto the timeline. The scrubber loads from the local file — nothing is uploaded.
  2. Drag the in-point and out-point handles to mark your clip, or type timestamps directly.
  3. Click Trim. If the cut lands on a keyframe boundary, stream copy finishes in under a second. Otherwise a re-encode begins — you can watch the progress.

About this tool

Most "video trimmer" tools online either re-encode your whole video through their servers — which is slow, lossy, and means your footage travels to a stranger's infrastructure — or they trim imprecisely and produce corrupted start frames. Stream copy does neither. When the WebCodecs API locates the keyframe at or before your cut point and copies from there, the resulting file is byte-for-byte identical to the original in that region. On a long recording you are genuinely done in under a second.

The catch is honest and clearly stated: keyframe intervals in H.264 files shot on a phone are typically every half-second to two seconds, so stream copy might start your clip up to two seconds early. For most editing that is acceptable — trim in a little, get the exact cut. When it is not, disabling stream copy tells the engine to decode and re-encode from the precise frame you selected. That is slower but frame-accurate.

WebCodecs is supported in Chrome and Edge from version 94, Firefox from 130, and Safari from version 26. Where it is available the encode uses hardware acceleration and the performance is close to native desktop tools. Where it is not, ffmpeg.wasm is the fallback — capable, but noticeably slower. A status badge in the UI shows which path is running so you know what to expect.

Questions

What is "stream copy" and why does it matter?
H.264 and VP9 video is stored as a series of keyframes — fully self-contained pictures — interspersed with smaller delta frames. Stream copy reads the relevant section of the file and writes it out without touching the compressed data: no decode, no re-encode, no quality change. On a ten-gigabyte recording it is done in the time it takes to copy those bytes, not in the time it takes to re-compress them. The limitation is that cuts must land on keyframe boundaries, otherwise the start of the clip would begin mid-stream and the decoder would have nothing to sync to.
What happens when my cut does not land on a keyframe?
You will see the timeline snap the handles to the nearest keyframe when stream copy is enabled. Turn stream copy off to cut at any precise frame — the tool then re-encodes the affected segment using WebCodecs (hardware-accelerated in Chrome and Edge) or ffmpeg.wasm as a fallback. The fallback is functional but five to twenty times slower than a native desktop encoder, so keep the clip short if you need frame-accuracy on a long video.
Is the video uploaded to a server?
No. The timeline preview is generated by reading the local file directly through the File API, and trimming runs inside the browser using the WebCodecs API or ffmpeg.wasm. You can disconnect from the internet after the page loads and the tool continues to work.
Does it handle large files?
Stream copy works on files of any size because it reads and writes streaming chunks rather than loading the whole file into memory. Re-encode mode processes in segments too, but very long clips need more RAM for the decoded frames. Multi-gigabyte files work fine for stream copy; for re-encode, keep clips under a few minutes on machines with under 8 GB of available memory.