FFmpeg Cookbook
JA

Crop Video Tool

Cut away the edges of a video: remove black bars, frame the subject more tightly, or cut out a square or vertical frame.

Your file is not uploaded
Drag & drop a video, or tap to select
MP4 / MOV / WebM, up to 500 MB
—
—
Numbers are percent of the source video's width / height. Top 10% + bottom 10% leaves 80% of the height in the output.
Processing… 0%

Equivalent FFmpeg command

CLI command for your current settings. Updates live as you change controls.

ffmpeg -i input.mp4 -vf "crop=iw*1.0000:ih*1.0000:iw*0.0000:ih*0.0000,scale=trunc(iw/2)*2:trunc(ih/2)*2" -c:v libx264 -preset fast -crf 20 -pix_fmt yuv420p -c:a copy -movflags +faststart output.mp4

Useful next tools

Popular uses
Remove black barsAdjust aspect ratioCrop for social formats

How to use

  1. Drop the videoDrag and drop an MP4, MOV, WebM or similar file, up to 500 MB.
  2. Pick a preset or enter valuesA preset fills in the four values. With Custom, type the percentages yourself. You can also edit the values a preset filled in.
  3. RunClick Apply crop. When it finishes, a preview appears and you can download the result.

Recommended settings

Cinemascope clip in a 16:9 container
Top 12.5% + bottom 12.5%
The black bars go and only the wide picture remains (1920x1080 becomes 1920x810).
Landscape → Instagram square
Square preset (1:1)
Removes the same amount from both sides and keeps the center.
Subject closer to center
Custom 15% on each side
The edges go and the subject looks bigger.

When it goes wrong

Thin black lines remain at the top and bottom

Cause: Bar thickness depends on the shape of the film. In a 16:9 frame, a 2.35:1 film leaves about 12.2% on each side, and a 2.39:1 film about 12.8%.

Fix: Raise the top and bottom values by 0.5% at a time (for example to 13%).

Cropped more than expected

Cause: Values were entered for both sides.

Fix: Top 10% + bottom 10% removes 20% of the height. Set the side you don't want to crop to 0.

Subject got cropped out

Cause: Presets keep the center, so a subject near the edge is cut.

Fix: After choosing a preset, lower the value on the side where the subject is and raise the other side.

Questions

Can I crop off-center?

Yes. Set the side you want to keep to 0% and crop only the opposite side. "Left 20%, right 0%" keeps the right-hand part.

Do I need to know the source resolution first?

No. The percentages are passed as FFmpeg expressions (such as iw*0.2, where iw is the source width), so they work at any resolution.

Does cropping affect audio?

No. The audio is copied as is. Only audio that MP4 cannot hold (such as PCM) is converted to AAC at 192 kbps.

Why 12.5% for letterbox removal?

A 2.35:1 film in a 16:9 frame has bars of about 12.2% at the top and at the bottom; a 2.39:1 film about 12.8%. 12.5% sits between the two. If thin lines remain, raise the value slightly.

How does file size change?

Fewer pixels usually means a smaller file. But the video is re-encoded at CRF 20, so a heavily compressed source can come out larger than it went in.

More detail (settings, limits, FFmpeg commands)

What each setting means

Top / Bottom / Left / Right (%)
The share of the source width or height to remove from that side. 0 removes nothing. One side can take up to 48%, and top + bottom and left + right must each stay at or below 95%.
Preset: Remove black bars
Removes 12.5% from the top and the bottom, for a widescreen (cinemascope) film placed in a 16:9 frame.
Preset: Square (1:1)
Removes 21.875% from the left and the right. A 16:9 video becomes 1:1 (1920x1080 becomes 1080x1080); other shapes do not come out square.
Preset: Vertical (9:16)
Removes 34.18% from the left and the right. A 16:9 video becomes almost exactly 9:16 (1920x1080 becomes 606x1080), for vertical video such as TikTok or Shorts.

Browsers and limits

  • Maximum file size: 500 MB. Output is MP4
  • Top + bottom and left + right can each be at most 95%; one side at most 48%
  • The area is set with numbers only (you cannot drag a box on the picture)

The same job with the FFmpeg command line

Trim 10% from top and bottom
ffmpeg -i input.mp4 -vf "crop=iw:ih*0.8:0:ih*0.1,scale=trunc(iw/2)*2:trunc(ih/2)*2" -c:v libx264 -crf 20 -pix_fmt yuv420p -c:a copy output.mp4
Square (16:9 → 1:1)
ffmpeg -i input.mp4 -vf "crop=ih:ih:(iw-ih)/2:0" -c:v libx264 -crf 20 -pix_fmt yuv420p -c:a copy output.mp4
Vertical (16:9 → 9:16)
ffmpeg -i input.mp4 -vf "crop=ih*9/16:ih:(iw-ih*9/16)/2:0,scale=trunc(iw/2)*2:trunc(ih/2)*2" -c:v libx264 -crf 20 -pix_fmt yuv420p -c:a copy output.mp4