Cut a rectangle out of every frame, with the selection drawn over the picture itself and held in source pixels. Numeric entry, shape and platform presets, and the even-number rounding H.264 forces printed before it is applied rather than after.
Initializing in your browser…
Convert a video between MP4, WebM, OGG, MOV, AVI and MKV, each naming the codecs it really writes and each producing a file that actually plays. One quality dial normalised into four different encoder scales.
Cut a clip out of a video, choosing whether the cut lands on the exact frame (re-encodes to MP4) or leaves the streams untouched (instant and lossless, but only at a keyframe). The result says which ran and reads the real length back off the file.
Join clips end to end, saying in advance whether they can be stitched together untouched and, when they cannot, exactly which differences stop it. Clips of different sizes are letterboxed into one frame rather than squashed.
You type a 201 by 151 rectangle at (11, 7) into a 640 by 480 clip.
Input
bands.mp4 640x480 · x 11 · y 7 · width 201 · height 151
Output
200 x 150 at (10, 6), stated before the run, and an MP4 that really is that
H.264 with 4:2:0 chroma cannot store an odd frame side or an odd crop offset, and ffmpeg does not refuse one: it quietly uses the even value below and says nothing. The page works the same rounding out first and prints the rectangle it will really cut. A 1:1 preset on the same 4:3 clip gives a genuine 480 by 480 square starting at x 80, and the box drawn on screen is square in that same place, which it was not when the preview was locked to 16:9.
Cropping cuts a rectangle out of every frame, and there are two things a cropper has to get right that are easy to get wrong. The first is that the rectangle you drag has to be the rectangle you get. That means drawing the selection over the picture itself: a preview box locked to 16:9 with a 4:3 video letterboxed inside it has black bars on either side, and a selection drawn on the box lands somewhere else on the picture. This tool sizes the preview to the source's own shape, so a percentage across the box is a percentage across the picture and nothing has to be corrected for. The second is that H.264 with 4:2:0 chroma stores the colour planes at half resolution in each direction, so both sides of a frame have to be even numbers, and so do the crop offsets. ffmpeg does not refuse an odd one: asking it for crop=201:151:11:7 produces a 200 by 150 file cut from (10, 6), and says nothing. That move is unavoidable, so this tool makes it before the encoder does and prints it: type 201 by 151 at (11, 7) and the page tells you it will cut 200 by 150 at (10, 6) before you press anything. Cropping cannot be done without re-encoding: the crop filter changes the pixel data, so the video goes through libx264 again. The output is always MP4, which is the other thing that used to go wrong here. Writing H.264 into whatever extension the input happened to have meant that cropping a WebM produced a 264 byte file: a WebM header with no picture data in it at all, named .webm and unplayable by anything.
Crop landscape footage to 9:16 for Reels, Shorts or TikTok. The preset gives the largest 9:16 rectangle that fits, centred, and you can then drag it onto the subject.
Type the exact rectangle into the numeric boxes. Letterbox bars are usually a known number of rows, and typing 1920 by 800 at (0, 140) is quicker and more precise than dragging.
Crop into part of the frame. Remember that the result is genuinely lower resolution: a 480 by 480 crop of a 1080p video is a 480 by 480 video.
Remove a taskbar or browser chrome. The numeric boxes and the even-number readout make it easy to land on an exact window edge.
The selection is held in the source's own pixels, not as a percentage of the preview. That is what makes the numeric X, Y, Width and Height boxes possible, and they are the fastest way to crop precisely: type the rectangle and read back the one that will really be cut. Dragging works the same way, converting the pointer movement into source pixels through the preview's measured box, with eight handles (four corners and four edges) and a move handle over the whole selection.
Shape presets (16:9, 9:16, 1:1, 4:3, 21:9) and the platform presets built on them compute the largest rectangle of that shape that fits inside the source, centred, in source pixels. That matters on a source that is not 16:9: a 1:1 preset on a 640 by 480 video gives a genuine 480 by 480 square starting an eighth of the way across, and the box on screen is drawn square in the same place. Rounding to even numbers can move the achieved shape very slightly off the named one, and the line under the numbers prints the shape you actually get rather than the one you asked for.
Audio is copied through untouched when MP4 can hold it, which covers AAC, MP3, AC-3 and ALAC, so a normal MP4 keeps its exact original audio bytes. A source whose audio is Opus or Vorbis cannot be copied into MP4, so that track is re-encoded to AAC and the page says so by name. You can also drop the audio entirely. The video encoding uses a speed preset and a CRF you choose; at the same CRF the fastest preset produces roughly twice the bytes, which is worth knowing when a crop is the only reason the file is being re-encoded at all.
Nothing downloads automatically. When the crop finishes the page shows the frame size and offset it really used, the file size, how long it took, the reason audio was handled the way it was, a player for the result, and the exact ffmpeg command line. The whole thing runs in your browser through ffmpeg compiled to WebAssembly; no file is uploaded anywhere.
Because H.264 stores its colour planes at half resolution in each direction, so a frame side has to be an even number of pixels, and so does a crop offset. ffmpeg silently uses the even value below; this tool works out the same number first and prints it, so you see 200 by 150 at (10, 6) before you press Crop rather than finding it in the file afterwards.
Yes, apart from the even-number rounding above, which is printed. The preview is sized to your video's own shape so the picture fills it with no bars, and the selection is held in source pixels rather than as a fraction of the preview.
Cropping changes the pixels, so the video is re-encoded and there is one generation of loss. Separately, the result is genuinely smaller: a 480 by 480 crop of a 1080p video is a 480 by 480 video, and enlarging it afterwards will not bring the detail back. Use a lower CRF if the single re-encode matters.
Because the video inside it is always H.264. The previous version kept the input's extension, so cropping a WebM produced a file named .webm containing H.264, which in practice came out as a 264 byte header with no picture data. A container has to match its contents.
It is copied through byte for byte when MP4 can hold it: AAC, MP3, AC-3 and ALAC all can. Opus and Vorbis cannot live in an MP4, so those are re-encoded to AAC and the page tells you that is what it did. You can also remove the audio.
Not here. The output is exactly the rectangle you cut. If you want to cut a region and then scale it to a particular size, crop here first and then use the Video Compressor, which caps the frame size while keeping the shape.
Video is decoded and re-encoded on your own device. Large files never leave your machine.