UtilityKit

500+ fast, free tools. Most run in your browser only; Image & PDF tools upload files to the backend when you run them.

GIF Cropper

Crop a rectangular region from any animated GIF. Set X/Y offset and crop dimensions in pixels. Palette-aware via ffmpeg.wasm. Browser-only.

About GIF Cropper

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 GIF Cropper

  • 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 GIF Cropper

  1. Upload your animated GIF — the source dimensions are shown beneath the preview.
  2. Enter the X and Y offset of the top-left corner of the crop region (0,0 is the top-left of the GIF).
  3. Enter the width and height of the region you want to keep.
  4. Click 'Crop GIF' and wait for the two-pass encoder.
  5. Preview the cropped result and click Download to save.

When to use GIF Cropper

  • 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

Square Instagram crop

Input: 1280×720 wide GIF, X=280, Y=0, W=720, H=720

Output: 720×720 square GIF centred on the original frame

Remove letterbox

Input: 1080×720 GIF with 60 px black bars top and bottom, X=0, Y=60, W=1080, H=600

Output: 1080×600 widescreen-cropped GIF with black bars removed

Isolate punchline

Input: 640×480 reaction GIF, X=160, Y=120, W=320, H=240

Output: Tightly-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.

Explore the category

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.