How to Crop and Resize a Video With FFmpeg
Cropping cuts away part of the frame; resizing changes the overall dimensions. They're separate operations, often combined — commonly to convert landscape footage into a vertical format.
Cropping cuts away part of the frame; resizing changes the overall dimensions. They're separate operations, often combined — commonly to convert landscape footage into a vertical format.
The command
ffmpeg -i input.mp4 -vf "crop=608:1080:656:0,scale=1080:1920" -c:a copy output.mp4What each flag does
| crop=608:1080:656:0 | Crops a 608×1080 region starting at x=656, y=0 — effectively taking a vertical slice from the center of a 1920×1080 frame. |
| scale=1080:1920 | Resizes that cropped region up to a standard 1080×1920 vertical resolution. |
| -c:a copy | Leaves audio untouched since none of this affects it. |
Where this goes wrong
The crop filter's width and height must be even numbers for most codecs to accept them — an odd crop dimension is one of the most common causes of a cryptic encoding failure.
Cropping without resizing
ffmpeg -i input.mp4 -vf "crop=800:600:100:50" -c:a copy output.mp4The four numbers are width, height, x-offset, y-offset — x and y count from the top-left corner of the original frame.
Reframing a landscape clip is exactly the setup step before a template adds the zoom, captions and motion that make it work as a vertical short.
See the templatesCommon questions
How do I crop to the center automatically?+
crop=608:1080:(in_w-608)/2:(in_h-1080)/2 calculates the offset for you regardless of the source resolution.