>FFmpegLab Start free
FFmpeg Guide

Trim, cut & split video with FFmpeg

Clip a section, split a long file into parts, and stitch clips back together — losslessly and in seconds. Learn the difference between fast stream-copy cuts and frame-accurate re-encoded cuts.

Cutting video is where FFmpeg shines — and where people accidentally re-encode (slow, lossy) when a stream copy (instant, lossless) would do. The trick is understanding -ss (start) and -to/-t (end/duration), and when keyframes force a small compromise.

Key takeaways

The fast, lossless trim

Put -ss before -i for a fast seek, and copy streams to avoid re-encoding. This extracts 30 seconds starting at 1:05:

ShareRenders{ } CodeConfig
Generated CodeLogsCustomize
ffmpeg -ss 00:01:05 -i input.mp4 -t 30 -c copy clip.mp4

Or use an explicit end time with -to:

ShareRenders{ } CodeConfig
Generated CodeLogsCustomize
ffmpeg -ss 00:01:05 -to 00:01:35 -i input.mp4 -c copy clip.mp4

When the cut starts late or freezes

Stream copy can only cut on keyframes, so a copied clip may begin a moment early/late or show a brief freeze. For a frame-accurate cut, re-encode by removing -c copy:

ShareRenders{ } CodeConfig
Generated CodeLogsCustomize
ffmpeg -ss 00:01:05 -to 00:01:35 -i input.mp4 \
  -c:v libx264 -crf 18 -c:a aac clip.mp4

Split a long file into segments

The segment muxer slices a file into equal chunks in one pass:

ShareRenders{ } CodeConfig
Generated CodeLogsCustomize
ffmpeg -i input.mp4 -c copy -map 0 \
  -f segment -segment_time 600 -reset_timestamps 1 \
  part_%03d.mp4

Join clips back together (concat)

To stitch clips with the same codec/resolution, use the concat demuxer — no re-encode:

ShareRenders{ } CodeConfig
Generated CodeLogsCustomize
printf "file 'a.mp4'\nfile 'b.mp4'\nfile 'c.mp4'\n" > list.txt
ffmpeg -f concat -safe 0 -i list.txt -c copy joined.mp4

Want a smooth blend between joined clips instead of a hard cut? Use an xfade transition.

Cut on a real timeline

FFmpegLab gives you a draggable timeline for trimming and splitting, generating the exact -ss/-to command underneath — and it runs entirely offline, so even rough cuts of sensitive footage never upload. Pair it with the compression and format conversion guides for a full export workflow.

✦  Fresh from the render queue

Better FFmpeg workflows, delivered.

Get practical commands, new templates, and deep-dive guides for the edits that are usually hardest to get right.

✓  Copy-pasteable commands    ✓  Editor templates    ✓  No noise
One useful email at a time.

Trim and split on a real timeline — offline.

Free in your browser — nothing to install, nothing uploaded.