Trim / cut video
Cut a video down to a start-to-end range without decoding a single frame. Packets are copied straight from the source into a new MP4, so this runs in Node, the CLI and MCP as well as the browser. The cut snaps back to the nearest keyframe before the start you asked for, the same trade-off ffmpeg -c copy makes.
Runs on your device. The file is never uploaded.
Trim / cut video copies the packets between startSec and endSec into a new MP4, named with a -trimmed.mp4 ending. Nothing is decoded, so the kept range comes out byte for byte, rebased to start at zero. endSec has no default, and a startSec at or past the end is refused rather than written as an empty clip.
Questions
Does trimming re-encode my video?
No. Packets are copied straight from the source into a new MP4 without decoding a single frame, so the picture and sound come out bit for bit identical to the parts you kept. That also makes it fast and means it runs in Node, on the command line and through MCP, not only in the browser.
Why does my cut start earlier than I asked?
Because a packet level trim can only start at a keyframe. The tool asks for the nearest keyframe at or before your start time and begins there, the same trade-off ffmpeg makes with -c copy. Frames between that keyframe and your start time are included. Cutting exactly on the requested frame would require decoding and re-encoding, which this tool deliberately does not do.
What do I have to fill in?
startSec defaults to 0, and endSec has no default because there is no sensible one. Both are in seconds. startSec must be a non-negative number and endSec must be greater than startSec, otherwise you get "endSec must be a number greater than startSec". If startSec sits at or past the end of the file, the tool refuses with "is at or past the end of the video" rather than writing an empty clip.
What format is the output?
Always MP4, whatever went in. A WebM or MOV input is remuxed into MP4 with its original codecs untouched. The file is named after your input with -trimmed.mp4 on the end. Audio is copied over the same range when the source has an audio track, and the kept range is rebased so it starts at zero.
Why does it say no video track found?
Because the file it opened has no video track it can read. The tool works on MP4, WebM and MOV containers. An audio only file goes to Trim or merge audio instead, which does the same packet copy for sound. A file with an unsupported codec can also fail to open at all, since the container reader has to understand the track before it can copy it.
Does the file get uploaded?
No. Bytes are read into memory and the new MP4 is built in memory next to them, all on your device. Nothing is sent anywhere. Because both copies live in memory at once, a large source video can still run a browser tab out of room even though no re-encoding happens.