A LITTLE HELP. A LOT DONE.
Good tools.
Great flow.
Your shortcut to the everyday. Create, convert, calculate,
and get back to what you love.
✳
✳
✓ Free to use✓ No sign-up✓ 500+ possibilities
About this tool
GIF Cropper extracts a precise rectangular region from any animated GIF using ffmpeg.wasm. Specify the X/Y offset of the top-left corner of your crop, then the width and height of the region you want to keep. The tool re-renders the cropped frames with a fresh two-pass palette so colour fidelity matches the input, and preserves the original frame timing and looping. Use it to remove black borders, isolate a single subject from a wider scene, fit the GIF into a different aspect ratio (square for Instagram, wide for desktop banner), or crop a chat-app clip down to just the funny part.
Why use it
Pixel-precise crop region with X/Y/width/height inputs
Two-pass palette generation preserves colour quality
Original frame timing and loop count preserved
Live source-dimension readout makes coordinates easy to plan
100% browser — your GIF never uploads
Free, no watermark, no signup
How to use
- Upload your animated GIF — the source dimensions are shown beneath the preview.
- Enter the X and Y offset of the top-left corner of the crop region (0,0 is the top-left of the GIF).
- Enter the width and height of the region you want to keep.
- Click 'Crop GIF' and wait for the two-pass encoder.
- Preview the cropped result and click Download to save.
When it helps
- Removing letterbox bars or unwanted UI from a screen-recorded GIF
- Reframing a wide scene to focus on a single character or object
- Converting a horizontal GIF to a square crop for Instagram posts
- Cropping out timestamp or watermark overlays from a GIF
- Fitting a GIF into a specific aspect ratio for a website slot
- Isolating the funny part of a longer chat-app reaction clip
Examples
Input1280×720 wide GIF, X=280, Y=0, W=720, H=720
Expected result720×720 square GIF centred on the original frame
Input1080×720 GIF with 60 px black bars top and bottom, X=0, Y=60, W=1080, H=600
Expected result1080×600 widescreen-cropped GIF with black bars removed
Input640×480 reaction GIF, X=160, Y=120, W=320, H=240
Expected resultTightly-cropped 320×240 GIF zoomed onto the face
Tips
- Always upload first and check the displayed source dimensions — typing 1080 height into a 720-tall GIF is the most common mistake.
- For Instagram-square crops on a 16:9 source, set X = (source_width − source_height) / 2 and width = height = source_height.
- After cropping, run the GIF Compressor to shrink the file — cropping makes the palette more focused so compression usually wins more.
- If you want to remove a logo or timestamp, crop slightly larger than the logo region to remove any anti-aliased edge fringes.
- Use the GIF Frame Splitter first to confirm the exact pixel coordinates of the region you want to keep.
- The crop is applied identically to every frame — if the subject moves around, the GIF Cropper alone cannot follow them; use a video editor for moving crops.
Frequently Asked Questions
Does my GIF leave my device?⌄
No — ffmpeg.wasm runs locally in the tab. Nothing uploads to a server.
How do X and Y offsets work?⌄
(0,0) is the top-left pixel of the GIF. X grows to the right, Y grows downward. The crop rectangle starts at (X,Y) and extends `width` pixels right and `height` pixels down.
What if my crop region exceeds the source?⌄
The tool warns and refuses to encode. Reduce width/height or X/Y so the region fits inside the source.
Will the playback speed change?⌄
No — frame timing and loop count are preserved exactly. Only spatial dimensions change.
Will the file get smaller after cropping?⌄
Usually yes — fewer pixels per frame compress to smaller bytes. The actual saving depends on how much of the original was solid colour.
Can I crop to a non-rectangular shape?⌄
Not directly — GIF requires rectangular frames. For circular crops, use an image editor on individual frames after splitting them with the GIF Frame Splitter.
What if I make a typo on the offsets?⌄
Run the tool again — your source GIF stays loaded and the controls remember their values until you upload a different file.
Why does it require Chrome or Edge?⌄
ffmpeg.wasm requires SharedArrayBuffer, only available on cross-origin-isolated pages in Chromium-based browsers.
Glossary
- Crop filter
- FFmpeg's `crop=W:H:X:Y` filter cuts a rectangle of width W and height H starting at offset (X,Y).
- Coordinate system
- (0,0) is the top-left of the frame; X grows rightward, Y grows downward.
- Aspect ratio
- Width-to-height ratio. Cropping changes this; common targets are 1:1 (square) or 16:9 (widescreen).
- Letterboxing
- Black bars added to fit content into a different aspect ratio. Cropping is the inverse — removing bars to reveal content.
- Palette
- Up to 256 colours per GIF frame; regenerated here from the cropped frames for best colour.
- ffmpeg.wasm
- Browser build of FFmpeg used for the entire crop pipeline locally.