GIF Editor
アニメーション化またはスタティックGIFのサイズ変更、切り抜き、回転、速度変更、反転、または最適化 — すべてのフレームと遅延が保持され、ループはオプション。
入力
アニメーション化またはスタティックGIF。すべてのフレームが処理され、再エンコードされます — 1回の実行で1クレジット使用します。
チェックを外すと、出力GIFはループの代わりに1回再生されます。
元のアスペクト比から高さと自動的に導出する場合は空白のままにします。
元のアスペクト比から幅と自動的に導出する場合は空白のままにします。
幅と高さの両方が設定されている場合、チェックを外してこれらの正確な寸法に伸ばし/つぶす代わりに、元の比率を保持します。
出力
Result will appear here.
Result will appear here.
ガイド
Resize, crop, rotate, change playback speed, reverse, or shrink the file size of an animated or static GIF — pick an edit, run it, and every frame is decoded, transformed, and re-encoded with its original delay intact. Your upload shows in its own Uploaded GIF preview as soon as you pick it, right above the Edited GIF result, so you can compare the two once you run the tool.
How it works
Upload a GIF (animated or static), pick an edit from the Edit dropdown, and fill in that edit's settings:
- Resize — set a target Width and/or Height in pixels. Fill in just one and the other is derived automatically from the original aspect ratio; fill in both with Maintain aspect ratio unchecked to stretch or squash to those exact dimensions.
- Crop — cut the canvas down to a rectangle given as Left/Top/Width/Height in pixels, measured from the original GIF's top-left corner. A rectangle that reaches past the original edges is padded with transparency rather than rejected.
- Rotate — turn the whole animation 90° clockwise, 180°, or 270° clockwise (equivalent to 90° counter-clockwise). For a mirror instead of a rotation, use Flip GIF.
- Speed — a percentage of the original playback speed: 200% plays twice as fast, 50% plays at half speed. Every frame's delay is rescaled and floored at 2 centiseconds so the output never goes fully static.
- Reverse — plays the animation backwards, last frame first.
- Optimize — shrinks the file by lowering the max color count (a shared palette re-quantized across every frame) and, optionally, by keeping only every Nth frame. Dropped frames' delays are folded into the frame that's kept, so total playback time doesn't change even though it plays choppier.
Some animated GIFs optimize each frame to redraw only the region that changed since the previous frame, positioned by an offset inside the full canvas rather than drawn edge to edge. Resize and Rotate account for this directly (scaling or rotating each frame's own position along with its pixels); Crop re-expresses every frame as a full-canvas frame at the crop rectangle's size, which loses that redraw-only-the-change optimization but guarantees a correct result regardless of how the source GIF was encoded.
Loop forever is checked by default, so the output GIF loops indefinitely like most animated GIFs. Uncheck it to make the output play once and stop on its last frame.
Privacy
The GIF is processed on our server, not in your browser — that's what makes multi-frame decoding and re-encoding possible without a heavy in-browser library. It's used only to produce your result and isn't stored afterward. This uses one credit per run, including on the website itself.
Does this work on animated GIFs?
Yes — that's the whole point. Every mode processes each frame individually (or, for Speed/Reverse/Optimize's frame-skip, the frame sequence as a whole) and preserves the original per-frame timing in the output, except where the edit itself intentionally changes it (Speed, and frame-dropping under Optimize).
Can I combine two edits, like resize and rotate, in one run?
Not in one pass — each run applies one edit. Run the tool once, download the result, then feed it back in for the next edit. This also lets you chain in Flip GIF (mirror) or GIF Color Changer (recolor, hue-shift, tint, or a Grayscale/Sepia/Invert/Moonlight effect).
Why doesn't Rotate support an arbitrary angle?
90°/180°/270° are exact, pixel-perfect rotations with no blur or resampling. An arbitrary angle would need to resample every pixel (and enlarge the canvas to fit the tilted result), which is a fundamentally different — and lossier — operation from the other three.
How do I know what coordinates to enter for Crop?
The Uploaded GIF preview shows the original image as soon as you pick a file; check its dimensions (in your browser's image inspector, or by opening it in a new tab) to figure out the Left/Top/Width/Height that isolate the region you want.
Use it from code
From 3 credits per callREST API
curl -X POST https://api.iotools.cloud/v1/tool/gif-editor \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"file": "<file>"
}'Swap in your own key from your account. The tool's fields are the body — no wrapper.
Ask an AI agent
Use the IOTools `gif-editor` tool (GIF Editor) on this input:
YOUR_INPUT_HEREPaste this at any agent connected to the IOTools MCP server, then add your input.