On-device AI — professional-grade, fully private.

Crop GIF

Crop GIF edges by drag or exact pixels — timing intact.

  • No upload
  • Auto-trim borders
  • Action area shown
  • Crop and scale in one

Drop a GIF here

GIF, animated WebP or APNG

Aspect ratio
Aspect ratio

Locking a ratio fills in the other side as you type.

Crop box

In source pixels. The boxes will not accept a size this frame cannot honour.

Automatic
12

Both read the whole animation, not just the first frame.

Shape
Shape

An oval clears the corners. GIF transparency is one palette slot, so the edge is hard rather than feathered.

The overhang becomes padding instead of a stretched picture.

Output
100%
Resample

Cropping and scaling happen in one pass, so the palette is rebuilt once.

Advanced
256
Dithering

How to crop a GIF

Cut an animated GIF down to the part you want, without turning it into a still image or changing how fast it plays.

  1. 1

    Add your GIF

    Drag an animated GIF onto the drop area, or click to browse. Animated WebP and APNG work too. The file is read on your device and never uploaded.

  2. 2

    Set the crop box

    Drag a rectangle across the picture, pull any of the eight handles, or type exact left, top, width and height values. Pick an aspect ratio first if the result has to fit a fixed slot.

  3. 3

    Check what moves

    Press Show action area. A dashed outline appears around everything that changes across the whole animation, so you can see whether your box would cut the subject on a frame you are not looking at.

  4. 4

    Crop and download

    Press Crop, then Download. Each frame's delay, the loop count and any transparency come through unchanged, so the animation plays exactly as it did — just smaller.

Why crop a GIF

Almost every GIF arrives with something in it you did not want. A screen recording captures the whole window when the interesting part is one panel. A clip pulled from a video carries black bars top and bottom because the source was widescreen and the export was not. A reaction GIF has a watermark in the corner, or thirty pixels of desktop wallpaper down one side. Cropping is how the file stops being a recording and starts being the thing you meant to show — and unlike scaling, it costs nothing in quality, because the pixels that survive are the pixels that went in.

Drag a rectangle or type exact coordinates, trim solid and transparent borders in one press, and see where the animation moves before you cut.

Reads GIF, animated WebP and APNG. Writes a standard GIF89a with per-frame delays, loop count and transparency preserved.

What cutting the edges off actually buys

  • Attention. A 1200-pixel screen recording displayed in a 700-pixel column shows the reader everything at half size. Cropping to the panel that matters shows them one thing at full size.
  • Bytes, in proportion. File size tracks pixel count closely for GIF. Keeping half the frame removes roughly half the data, and unlike lowering the palette it removes nothing you can see.
  • A slot that fits. Emoji slots, avatar frames and social feeds are fixed shapes. Cropping to the shape is the difference between filling the slot and being letterboxed inside it by somebody else's rules.
  • Whatever is in the corner. A cursor, a taskbar, a notification, a watermark, a strip of another application. Cropping is the only edit that removes them completely rather than covering them up.

Why cropping an animation is harder than cropping a picture

Cropping a still image is four numbers and one copy. An animated GIF is a stack of frames, and the format makes almost every assumption you would like to make about them false. A frame is not necessarily the size of the animation: it is legally a smaller rectangle at an offset, storing only the region that changed since the last one. Each frame carries a disposal method saying what to do with the previous frame before drawing it — leave it, restore the background, or restore what was there before. Each may declare its own transparent colour, and each may carry its own palette. A cropper that treats the stored frames as pictures and cuts them where the user pointed produces output that flickers, ghosts, or drops frames entirely.

What happens to each frame here

  • Composite. Every frame is drawn onto a canvas of the animation's logical size, honouring its offset, its disposal method and its transparency, so what gets cut is the picture a viewer would actually see rather than the fragment the file happened to store.
  • Cut, once. The crop rectangle, the oval clip if you chose one, and the output size are applied in a single draw on your graphics hardware. Cropping and scaling are the same operation to a graphics pipeline, so asking for both costs no more than asking for one.
  • Re-quantise. A palette is built from a sample spread across the whole animation, not from the first frame, then every pixel is mapped to it. Building it per frame is what makes colours shift visibly between frames in other tools.
  • Re-optimise. Unchanged regions between frames are marked transparent again at the new size. This is where most of a GIF's size comes from, and it is what stops a crop making the file bigger.

The flicker problem, and why there is no setting for it

The best-known GIF cropper on the web offers three different crop engines and a help page explaining that its fast default breaks animations using frame differencing, that the slower one works but removes all optimisation and produces larger files, and that the third has worse quality because it does not anti-alias. That is three ways to be wrong presented as a choice. The composite step above removes the question: there is no path through this tool that cuts a stored fragment rather than the composed frame, so there is nothing to switch between and no configuration that can produce a ghost.

Trimming borders, and seeing where the animation moves

Two of the controls here come from the same measurement. Press either one and the tool decodes the animation once and answers two questions about it: where the content is, and where the motion is. Both answers are computed across every frame, never from the first one, and that distinction is the whole point.

  • The content box. The background is read from the four corners of the first frame — a solid colour or transparency — and the content box is the tightest rectangle containing everything that is not that background, unioned over every frame. Trim borders sets your crop to it.
  • The action box. The tightest rectangle containing every pixel that changes from one frame to the next. Show action area draws it as a dashed outline over the picture, and the tool warns you if your crop would cut into it.
  • The tolerance. How close to the background colour still counts as background. Zero means an exact match, which is right for a flat colour and wrong for anything that came from a video, where the bars are dithered by a few levels. Raise it until the outline snaps to the picture.

Why the union across frames is the only correct answer

Consider an animation of a small dot travelling from left to right across an empty field. On the first frame the content is a ten-pixel square near the left edge. Trim to that and you get a ten-pixel GIF of a dot that immediately leaves the picture — a tidy result, a working download, and completely wrong. The content of the ANIMATION is the union of every frame's content, which in that example is a hundred and sixty pixels wide. This tool measures that union, and it is checked against an independent implementation that scans every pixel of every frame with no shortcuts, on exactly that fixture.

Choosing a crop that works

The most common mistake is cropping to what looks right in the frame currently on screen. An animation is not one picture, and the frame you happen to be looking at is not representative of it — that is what the action-area overlay is for. The second most common is cropping to a number that sounds tidy rather than one the destination uses. Find out what the target renders at before typing anything.

By material

  • Screen recordings. Crop to the panel, not to the window. Leave a few pixels of margin around anything with a border, or the border reads as a rendering artefact rather than part of the interface.
  • Clips from video. Press Trim borders with the tolerance around 8 to 16. Letterbox bars from a video export are almost never pure black, so a tolerance of zero leaves them in.
  • Pixel art and sprites. Crop on exact multiples of the sprite grid, and if you also scale, use whole multiples with the Pixel resample mode. A non-integer scale of pixel art gives uneven blocks even with nearest-neighbour.
  • Anything with a moving subject. Show the action area first and make sure your box contains it. If it cannot, the subject leaves the frame in the source, and cropping cannot fix that — trim the animation instead.

The aspect ratios, and what they are for

Square is for emoji, avatars and anything going into a grid. 4:3 and 3:2 match older screen captures and camera output. 2:1 is the wide banner shape, and the golden ratio is there because the best-known cropper in this category offers it and people ask for it by name. 16:9 is the shape of nearly every video source, so it is what you want when you have cropped a clip and need it to still read as a clip. 9:16 is the full-screen portrait shape used by Stories, Reels and Shorts, and 4:5 is the tallest shape an Instagram feed post will display without cropping it itself. Original locks to whatever the file already is, which is the right choice when you are removing a border and want the result to keep its proportions.

Cropping to an oval

Set the shape to Oval and the crop keeps the largest ellipse that fits inside your rectangle, clearing the four corners to transparency or to a colour you pick. It is the same single draw — the oval is a clip on the one operation that was already happening, not a second pass — so the timing, the loop count and the frame count are as untouched as they are for a rectangle. One honest limitation, and it belongs to the format rather than to this tool: a GIF stores transparency as a single palette slot, not as an alpha channel, so the oval's edge is hard. A pixel is either in or out, with no feathering, which is why an oval on a busy background reads better with a solid surround colour than with transparency.

Where a cropped GIF is the answer

  • Documentation and READMEs. Crop the recording to the control being demonstrated. A reader following instructions does not need to see the rest of the window, and every pixel of it is bytes they download.
  • Custom emoji. Square, cropped tight on the subject, then scaled to 128 by 128 in the same pass. Both Discord and Slack use that size for custom emoji.
  • Bug reports and support threads. Cropping is also redaction: a crop physically removes what was in the corner, where a blur or a black box leaves it in the file.
  • Social posts. Feeds letterbox anything that is not their shape. Cropping to 9:16 or 4:5 first is how the animation fills the space instead of sitting in a grey band.

Sizes and shapes worth memorising

Discord and Slack custom emoji are 128 by 128. X renders inline images up to 506 pixels wide. GitHub's README column is 768 at full width and roughly 700 in practice, and most documentation themes sit between 680 and 760. Instagram feed posts display at 1080 wide and accept 1:1, 4:5 and 1.91:1; Stories and Reels are 9:16. Anything wider than the column it lands in is bytes the reader downloads and never sees.

What goes in, and what comes out

The input list is closed and enforced at the file dialog rather than at the engine, so a file this tool cannot open is refused in milliseconds with a route to the tool that can — instead of being accepted and failing later behind a spinner.

  • GIF in. Animated or single-frame, interlaced or not, with a global palette or a different local palette on every frame. Sub-rectangle frames at an offset are composited onto the full canvas before anything is cut.
  • Animated WebP and APNG in. Both are read by our own demuxers on every browser rather than by a native decoder, so frames and timing are identical everywhere.
  • GIF out, always. A standard GIF89a with a global colour table, per-frame delays, disposal methods and a Netscape loop extension carrying the source's own loop count.
  • Anything else is refused with a route. A video is sent to Video to GIF, a still image to the GIF Maker. Neither is described as an error with your file, because it is not one.

What the tool reads

GIF is decoded natively where the browser has a decoder for it and by our own reader everywhere else, so an animation opens the same way in every browser rather than arriving as its first frame. Animated WebP and APNG always take our own reader, which is what keeps frame counts and timing identical across engines. One detail worth naming: the native decoder reports a loop-forever GIF's repeat count as infinity, which is not a number a GIF file can store — it is translated back to zero, the format's own encoding of forever, rather than written out as whatever the arithmetic produced.

Size and batch limits

  • Free. One file up to 50 MB and up to 300 frames, output up to 2048 pixels on the long edge. Full quality, and every control on this page — the free plan is not a reduced-quality crop, it is a single-file one.
  • Pro. Up to 20 files at once, downloaded as one ZIP, with no imposed dimension cap. Batch is what Pro buys here, because cropping a folder of captures one at a time is the actual chore.
  • The limit both plans share. Every frame is expanded to full colour while it is being worked on, so a memory budget bounds the job before it starts rather than letting the tab stop responding while the progress ring keeps turning.

What happens on your device

Nothing is uploaded. The file is decoded frame by frame on your machine, each frame is composited and cut, a palette is built across the whole animation, unchanged regions are marked transparent again, and the result is written out as a standard GIF89a. All of it runs in a background thread so the page stays responsive, and the cut itself runs on your graphics hardware where it is available.

Why the same file crops identically every time

  • A deterministic quantiser. Median cut, not the randomised neural quantiser most GIF libraries use, so the same input with the same settings always produces byte-identical output.
  • Identical results on every path. The graphics-accelerated and processor paths are required to produce the same bytes, not merely similar ones — a path choosing a different palette entry would show as colour flicker between frames.
  • Geometry checked against another implementation. The crop is compared pixel for pixel against libvips cropping the same rectangle out of the same file, and the border detection against a separate scan that reads every pixel of every frame.

What a cropper must not change

Four things have to come out exactly as they went in: each frame's own delay, the total playback time, the loop count, and which pixels are transparent. A tool that re-times an animation while cropping it produces a perfectly valid GIF that simply plays at the wrong speed; one that flattens transparency produces a picture with a white box around it; one that defaults the loop count turns a three-play animation into an endless one. All four are measured on every run here rather than assumed, and the numbers are on the result line so you can read them.

Measured results

  • Crop accuracy Zero. The largest per-channel difference between our crop and libvips cropping the same rectangle is 0 out of 255 — a crop resamples nothing, so this is an equality rather than a tolerance.
  • Border detection Exact on a 160 by 120 fixture with a 40 by 30 margin: 40, 30, 80 by 60, matching an independent full-pixel scan.
  • The union across frames 160 pixels wide against the 10 a single-frame scan would give, on a moving-dot fixture — the difference between a correct crop and a confidently wrong one.
  • Speed 100 frames of 480×270 cropped to 400×200 in 145 ms; the whole-animation analysis pass over the same file in 68 ms.

Cropping is hardware accelerated where your device supports it, and the accelerated and fallback paths are verified to produce byte-identical output. The crop itself is checked pixel for pixel against an independent image library. Measured on the reference device: 100 frames of 480×270 cropped in 145 ms. It all runs on your device, not our servers.

Frequently asked questions

Will cropping stop my GIF from animating?

No. Every frame is cropped, not just the first one. That sounds obvious and it is the single most common complaint about online GIF croppers, because a tool built for still images treats an animation as its first frame and hands back a picture that no longer moves. Here the file is decoded to its full frame list, each frame is cut to the same rectangle, and the animation is written back out with its frame count, its per-frame delays and its loop count intact.

Why do cropped GIFs sometimes flicker or show bits of old frames?

Because a GIF frame is not necessarily a full picture. The format lets a frame be a small rectangle at an offset that only stores what changed, with a disposal method saying what to do with the previous frame first. A cropper that cuts those stored rectangles instead of the composed picture leaves fragments of earlier frames inside the new box. It is a well-known problem — one popular tool offers three different crop engines and tells you to switch to the slow one when your GIF flickers. This tool composites every frame onto the full canvas before anything is cut, so there is no fast-but-wrong mode to choose between.

How do I remove a black border or a transparent margin automatically?

Press Trim borders. The tool reads the corners of the first frame to work out what the background is — a solid colour or transparency — then finds the tightest rectangle containing everything that is not that background, across every frame rather than just the first. On a 160 by 120 test animation with a 40-pixel margin it returns exactly 40, 30, 80 by 60. If the margin is not perfectly flat, which is normal for anything that came from a video, raise the tolerance slider until it is treated as background.

What is the action area, and why does it matter?

It is the bounding box of every pixel that changes between one frame and the next — in other words, where the animation actually happens. It matters because a moving subject is somewhere different on every frame, so a crop that looks perfect on the frame in front of you can cut the subject in half two frames later. Press Show action area and a dashed outline appears; if your crop box does not contain it, the tool says so before you spend a run finding out. No other GIF cropper we could find shows this.

Does cropping make the file smaller?

It should, and here it does — removing pixels removes bytes. It is worth saying because the opposite is a common experience elsewhere: fixing the flicker problem above by flattening every frame throws away the frame-to-frame optimisation, and the result can be several times larger than the original. This tool rebuilds those frame-to-frame differences at the new size, so a crop that keeps half the picture produces a genuinely smaller file.

Can I crop and resize at the same time?

Yes, and it is better than doing the two separately. The Output scale slider sets the finished size as a percentage of the crop box, so cutting a square out and delivering it at 128 by 128 for an emoji slot is one operation. Doing it as a crop followed by a separate resize means the palette is rebuilt twice, and the second pass builds its colours from material the first pass already reduced. One pass, one palette.

Can I add space around a GIF instead of cutting it?

Yes. Tick Allow extending past the edge and the crop rectangle is free to go outside the frame; whatever hangs over becomes padding rather than a stretched picture. Choose transparent padding or a solid colour. This is the operation usually offered as a separate 'extend canvas' tool, and it is the same rectangle here with its bound relaxed — so you can crop one side and pad the other in a single step.

Which aspect ratios can I lock the crop to?

Square, 4:3, 3:2, 2:1, 16:9, 9:16, 4:5 and the golden ratio, plus the source's own ratio and a free-form mode with no constraint. 9:16 and 4:5 are there because animated GIFs routinely go to social feeds, and those are the two portrait shapes those feeds actually use. With a ratio locked, typing a width fills in the height and vice versa, and the number boxes will not let you enter a size the frame cannot honour at your current position.

Does cropping change the speed or the loop count?

No, and both are checked on every run rather than assumed. Each frame keeps its own delay, so total playback time out equals total playback time in. The loop count is read from the file and written back: a GIF authored to play three times still plays three times. This is worth testing on any tool you use, because re-timing while cropping produces a perfectly valid GIF that simply plays wrong, and nothing about the file looks incorrect.

Will my transparent background survive?

Yes. GIF transparency is a per-frame palette index rather than an alpha channel, and it is carried through the crop. If you extend past the edge with transparent padding, the padded area is see-through too — though that costs some file size, because transparent padding and the frame-to-frame optimisation both need the same palette slot. Padding with a solid colour instead keeps the optimisation and produces a noticeably smaller file.

Can I crop several GIFs at once?

On Pro, yes — up to 20 files in one go, downloaded together as a single ZIP. Every file gets the same crop rectangle, which is what makes it useful for a set of frames captured at the same size. Most online croppers take one file per session, so ten GIFs means ten upload-wait-download cycles. The free plan handles one file at a time, at full quality and with every feature on this page available.