Cut a video down to the part you actually want. Nothing is re-encoded, so it takes seconds and costs no quality — and the part you removed is really gone.
Drag & drop a video or click to browse
MP4, MOV, AVI, MKV, WEBM and anything else ffmpeg reads — up to 500 MB
Upload a video, choose the part you want to keep, and get that part back as an MP4. By default nothing is re-encoded, so the trim finishes in seconds and the picture is untouched — the work is done with ffmpeg on our server rather than in your browser, so the file can be any size your connection can carry.
A video is not a row of independent pictures. Most frames describe only what changed since the last complete frame, so a clip can only begin on a complete one — a keyframe. Ask an ordinary tool for a cut between two keyframes and it starts from the earlier keyframe anyway, keeps those extra seconds in the file with negative timestamps, and adds an instruction telling players to skip them. The clip looks correct, and the footage you cut is still inside it. We measured exactly that on our own server: a cut made the usual way kept 122 packets of removed video. This page finds the keyframe first and starts there, so the same cut keeps none — and it tells you how far the start had to move instead of hiding it.
Both measured here on 2026-09-13, taking a five-minute clip out of a 1080p30 recording on four pinned cores:
| Mode | Time taken | Picture | Start accuracy |
|---|---|---|---|
| Lossless | 2.4 seconds | Identical — nothing re-encoded | Nearest earlier keyframe |
| Precise | 163.8 seconds | Re-encoded | Exact |
That is the whole trade, and it is why lossless is the default: it is about 68 times faster and it cannot damage the picture. The same run showed the trap in the other direction too — the precise cut of a 217 MB source came back at 219 MB, larger than the original, because re-encoding video that is already encoded does not reliably shrink it.
Free use is five minutes of finished clip a day, from files up to 100 MB. A credit pack raises that to 500 MB per file and two hours of source. The 500 MB is the largest body the server accepts; the limit on the source exists to bound the upload and the search for keyframes, not the cut itself — pulling a short clip out of a long recording costs almost nothing however long the recording is. Your upload is deleted the moment the trim finishes, and the clip six hours later.
Not in the default mode, because nothing is re-encoded. A lossless trim copies the existing video and audio straight into a new file, so every frame you keep is bit-for-bit the frame you started with. That is also why it is so fast: measured on our server, taking a five-minute clip out of a 1080p recording finished in 2.4 seconds. Precise mode does re-encode, and that is the trade it makes — the exact frame you asked for, a little quality lost, and roughly sixty-eight times longer to do it.
Because video is not stored as a row of independent pictures. Most frames describe only what changed since the last complete frame, so a clip can only begin on a complete one — a keyframe. Depending on what made your file, keyframes sit anywhere from half a second to ten seconds apart. A lossless cut moves the start back to the nearest one, and this page shows you exactly how far it moved rather than quietly rounding. If you need the exact frame, switch to precise mode.
Lossless, unless you have a reason not to. It is effectively instant, it does not touch the picture, and for the usual job — cutting the dead air off the front of a recording, pulling one section out of a long video — a start that lands a second early does not matter. Choose precise when the cut has to be on an exact frame: a beat in music, the moment before someone speaks, or a clip you are going to join to another one.
Yes, and it is worth explaining, because this is where most online cutters quietly fail. Ask ffmpeg for a lossless cut at a point that is not a keyframe and it starts from the keyframe before it anyway, keeps those extra seconds in the file with negative timestamps, and hides them behind an instruction telling players to skip them. The clip looks right. The footage is still in there, and a player that ignores the instruction shows it. We measured a cut done that way: 122 packets of removed video still present. This page picks the keyframe itself and starts there, so the count is zero. If you are trimming something out of a video because it should not be seen, that difference is the entire point.
Anything ffmpeg reads — MP4, MOV, AVI, MKV, WEBM, FLV and most of what a camera, a phone or a screen recorder produces. You get an MP4 back. In lossless mode the video and audio inside it are untouched copies of yours, simply placed in a new container with the header at the front so it starts playing before it has finished downloading. Your browser may not be able to preview every one of those formats; that is a limit of the browser, not of the trim, and the page falls back to typed timestamps when it happens.
A lossless trim is effectively instant: 2.4 seconds for a five-minute clip in our measurement, nearly all of it spent reading and writing the file. Precise mode is a real encode and runs at roughly twice real time on four pinned cores — the same five-minute clip took 163.8 seconds. Either way the upload is usually the slow part, and nothing is uploaded until you press the button, so choosing the range costs no waiting at all.
Only in precise mode, and it is the same trap our compressor page describes. Re-encoding video that is already encoded does not reliably make it smaller; in our measurement a precise cut of a 217 MB source produced 219 MB, because the encoder was asked for high quality and spent the bits to deliver it. Lossless mode cannot do this, since it copies rather than encodes: its output is always in proportion to how much of the video you kept.
Your upload is deleted as soon as the trim finishes, and the clip six hours later. That window exists only so the download link still works if you close the tab and come back. Nothing is kept after that, nothing is looked at, and nothing is passed to anyone else. Choosing the range happens entirely in your browser, so nothing is sent anywhere until you press the button.