Media workbench

Compress GIF

Reduce an animated GIF with frame-rate, size, crop, trim, and orientation controls.

Free, no accountRuns in a private workerUpdated

Loading workbench…

Reduce an animated GIF with frame-rate, size, crop, trim, and orientation controls. Use Compress GIF without creating an account. The workbench keeps the source and result together so you can check the output before downloading it.

Compress GIF covers reducing a GIF before upload, lowering animation frame rate, and removing unused pixels or duration. Its controls stay on one page, with status and validation messages beside the work area.

The selected file is sent to a private conversion worker, processed in a temporary job directory, and removed after the response is returned. If the input contains sensitive information, follow your organization’s rules for online utilities.

Before using the result, confirm that one animated GIF up to 100 MB is complete and that a separately downloaded animated GIF matches the destination format. Keep the original until you have checked the output in the application or context where it will be used.

The related media tools cover the next common tasks without changing your original input.

  1. 01

    Provide one animated GIF up to 100 MB. The tool checks the input before processing it.

  2. 02

    Adjust the available compress gif settings for the result you need.

  3. 03

    Run Compress GIF. If the input is incomplete, the workbench explains what to correct.

  4. 04

    Check a separately downloaded animated GIF, then copy or download the result. Your original input stays unchanged.

  • reducing a GIF before upload
  • lowering animation frame rate
  • removing unused pixels or duration
Is Compress GIF free to use?

Yes. Compress GIF is available without an account or subscription.

Does Compress GIF upload my input?

Compress GIF sends the selected file to a private worker. The worker uses a temporary job directory and removes it after processing.

Does Compress GIF change the original?

No. Compress GIF leaves the source untouched. Copy or download the generated result as a separate output.

What should I check after using Compress GIF?

Confirm that a separately downloaded animated GIF matches the intended format and context. Keep the original until the result has been verified.

Start with the source byte size, pixel dimensions, duration, and frame rate. A GIF can be large because it covers many pixels, contains too many frames, runs for too long, or changes most pixels on every frame. Those causes need different corrections. An upload limit gives a clear byte target, while a web page also needs a loading and playback budget. Record the destination requirement and keep the original file so every comparison begins from the same animation.

This tool rebuilds the animation as a new GIF. It can change frame rate, dimensions, crop area, duration, rotation, and flipping. It does not promise a fixed output size because the encoded result depends on the colors and movement in the source. A setting that reduces one animation can leave another nearly unchanged. Compare the actual download with the original, then inspect motion and image quality before deciding that the smaller file is acceptable.

The page validates the selected GIF and its 100 MB input limit before sending one file to the private conversion worker. The worker checks the GIF signature again, creates a unique temporary job directory, and starts FFmpeg with fixed arguments. Filenames and form values are never combined into a shell command. The directory is removed after success, rejection, timeout, or cancellation. The application does not store GIF bytes in its database or include filenames and content in analytics events.

FFmpeg decodes the animation frames, applies the selected filters in a fixed order, and writes a looping GIF. Crop uses coordinates from the uploaded frame, followed by rotation or flipping, output resizing, and frame-rate selection. Trim limits the decoded time range. Rebuilding a GIF is lossy because the format has a limited color palette and timing granularity. The result can differ slightly from the source even when most controls are left unchanged.

Animated GIF size often tracks the number of frames. The default output is 10 frames per second. Lowering it to 5 can remove half of the temporal samples from a 10-frame-per-second source, although the byte reduction will not always be exactly half. Higher values preserve smoother motion but can add frames when the source is slower. The available choices are 5, 10, 15, 24, 25, and 30 frames per second.

Watch the full download after changing frame rate. Cursor movement, loading indicators, handwriting, facial expressions, and camera pans can become jerky when too many frames are removed. Repetitive motion may still look clear at 5 or 10 frames per second, while a short interface demonstration may need more. Choose the lowest rate that preserves the action the animation is meant to explain. A smaller file that hides a click or skips an important state is not a successful result.

Large frame dimensions multiply the amount of pixel data processed across the animation. If the GIF will display at 480 pixels wide, delivering a 1600-pixel source wastes bytes and decode work. Enter an even width, height, or both. Providing one dimension preserves the source aspect ratio. Providing both forces an exact frame and can stretch the image when the ratio differs. Inspect circles, faces, logos, and text for distortion.

Resize before judging palette damage at the final display size. Fine text that is legible in a large source can disappear after a major reduction. Thin lines can flicker from one frame to the next. If the destination creates its own derivative, test the uploaded result as well because another resizing pass may soften it further. Keep a master at the original dimensions and treat the compressed file as a delivery copy for one known use.

Cropping removes pixels outside one rectangle on every frame. Set the rectangle's left and top coordinates, followed by its width and height in source pixels. All four values are required, both dimensions must be even, and the selected area must fit inside the frame. This can remove empty browser chrome, letterboxing, unused canvas space, or a fixed border that contributes no information to the animation.

Review every moment, not only the first frame. A tooltip, pointer, caption, or moving subject may enter an area that looks empty at the start. The crop cannot follow an object over time. If important content crosses the chosen boundary, use a larger rectangle or edit the animation in a timeline-based application. Cropping changes composition permanently in the downloaded copy, so keep the source outside the workflow.

Trim start and trim end are measured in seconds. The end must be later than the start. Removing a pause before the action, a long idle state, or a repeated ending reduces frames directly. For a looping animation, the first and last retained frames also determine how the loop joins. A cut that saves bytes can introduce a visible jump when playback returns to the beginning.

Download the result and let it loop several times. Check whether the action starts too abruptly, whether the final state remains visible long enough, and whether the transition back to the first frame makes sense. Small duration differences can occur because GIF timing is stored in discrete frame delays. If an exact instructional step must remain on screen, leave enough time around it instead of trimming to the shortest mathematically possible interval.

Turn the animation one quarter clockwise, one quarter counterclockwise, or a half turn. Horizontal and vertical mirroring are separate choices. A quarter turn swaps the frame axes before optional output resizing, and every frame is rebuilt. Use these controls for an incorrectly oriented export or an intentional mirror copy. Orientation changes alone do not reduce the file size.

Text and interface captures usually should not be mirrored. A horizontal flip reverses writing and can change the meaning of directional controls. Rotation can also move the animation outside a destination slot whose width and height were designed for the original orientation. Confirm the downloaded dimensions and play the GIF in the final layout before approval. Use the transformation controls to correct a known problem rather than changing them during routine compression.

GIF frames use a limited indexed palette. Photographs, gradients, shadows, and translucent effects can show banding or dithering after encoding. Fine color changes may become moving noise, which can work against compression because more pixels appear to change between frames. Inspect skin tones, brand colors, smooth backgrounds, and small text. A byte reduction does not compensate for a broken visual identity or unreadable message.

Transparency in GIF is not the same as full alpha transparency in PNG or WebP. Edge pixels can develop light or dark fringes when the destination background differs from the one used during design. Place the download over the actual page background and test light and dark themes when both are supported. If smooth transparency or photographic detail is essential, an animated WebP or video format may be more suitable, subject to destination support.

Compare source and output byte sizes, then open the download in a separate viewer or browser tab. Confirm pixel dimensions, duration, frame rate, orientation, looping behavior, crop boundaries, and visible color quality. Watch at least three loops. Some defects appear only at the loop boundary or on a frame that is shown briefly. Test the actual upload path because a content platform may reject the file, impose a smaller limit, or optimize it again.

Use clear filenames when testing several combinations. Record the frame rate, resize, crop, trim, rotation, and flip settings for the chosen result. The original is never overwritten by PWRKIT. Keep it until the destination accepts the compressed copy and the animation has been reviewed in context. If the output is not smaller, return to the source and make one structural change at a time so the effect of each setting remains visible.

If the file is rejected before processing, confirm that it is a GIF no larger than 100 MB and that its bytes match the extension. Renaming another image or video file to .gif does not convert it. Export a clean animated GIF from a trusted editor when the source is damaged. If the worker times out, shorten the source or reduce its dimensions in desktop software first. Input, output, duration, and concurrency limits protect the service from jobs that would run indefinitely.

If the result is not smaller, lower frame rate, remove unused duration, crop empty areas, or reduce dimensions. If movement becomes choppy, restore a higher frame rate and use another structural reduction. If the picture is stretched, provide only width or height. If a crop fails, check all four values and source bounds. When GIF cannot meet both the size limit and visual requirement, compare a video or animated WebP route instead of continuing to discard frames and colors.