GIF Loop Changer
Set an animated GIF to loop forever, play once and stop, or repeat an exact number of times — the container's loop count is rewritten, every frame and its original timing untouched.
Input
Animated or static GIF. Frames and their timing are untouched — only the loop count changes. This uses one credit per run.
Output
Result will appear here.
Result will appear here.
Guides
Set how many times an animated (or static) GIF plays — loop forever, play once and stop, or repeat an exact number of times — without touching a single pixel or frame delay. Your upload shows in its own Uploaded GIF preview as soon as you pick it, right above the Result, so you can compare the two once you run the tool.
How it works
Upload a GIF and pick a Loop option:
- Loop forever — the default. The output loops indefinitely, like most animated GIFs on the web.
- Play once (no loop) — the output plays through its frames once and stops on the last one.
- Loop a specific number of times — enter a Loop count. This is how the GIF format itself counts loops: the number is how many extra times the animation repeats after its first play, so a count of 3 plays the GIF 4 times total. That's also how every major browser interprets it, so what you enter is exactly what viewers will show.
Nothing about the frames themselves changes — pixels, positions, and per-frame delays all pass through exactly as uploaded. Only the GIF's loop-count block is rewritten.
Privacy
The GIF is processed on our server, not in your browser — that's what makes 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. It also works on a static (single-frame) GIF, though a loop setting has no visible effect there since there's nothing to repeat.
I want to resize, crop, or otherwise edit the GIF too — can I do that here?
Not in one pass — this tool only changes the loop count. For pixel/frame edits (resize, crop, rotate, speed, reverse, optimize), use GIF Editor — it has its own "Loop forever" checkbox for the simple forever-vs-once choice, or run that tool first and feed its result back in here for an exact loop count.
Why isn't 0 an option for the loop count field?
0 already has a dedicated, clearer option: Loop forever. Every GIF viewer treats an explicit loop count of 0 as "loop forever" too, so the two are equivalent — we just give it its own label instead of a number to type.
Use it from code
From 3 credits per callREST API
curl -X POST https://api.iotools.cloud/v1/tool/gif-loop-changer \
-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-loop-changer` tool (GIF Loop Changer) on this input:
YOUR_INPUT_HEREPaste this at any agent connected to the IOTools MCP server, then add your input.