What the GIFvideo → gif, the way creatives need it
looping gif maker

Every GIF loops. Getting yours to loop well is the actual work.

Looping is one line in the file and it costs nothing. The seam, that little jolt where the last frame slams into the first, is what separates a loop somebody watches four times from one they scroll past.

Drop a video, get a GIF free · frame-perfect · nothing leaves your browser Open the converter →

Make a GIF that loops without a visible seam

What the GIF does the whole thing locally, right in your browser: nothing here ever leaves your machine.

  1. Find a moment that repeats. Scrub for a point where the frame returns to a state it already held: a completed gesture, a wheel at the same angle, an interface back at rest. That pair of moments is your cut.
  2. Set the trim roughly, then step frames. Place the in and out points near the cycle, then nudge either handle a single frame at a time with the arrow keys while watching the wrap.
  3. Play the edit and watch the join. Use Play edit to loop the assembly through the real encoder. Watch the seam specifically rather than the whole clip, three or four repeats in a row.
  4. If the cycle does not exist, use Bounce. Turn on the per clip Bounce toggle so the footage runs forward then straight back. A palindrome has no wrap point, at the cost of roughly double the frames.
  5. Or fade both ends to one color. Under All settings, set a fade in and a fade out sharing the same color so the first and last frames match exactly. Best for demos and title cards rather than short reactions.
  6. Choose the loop count and export. Leave it on Forever for social and the web. For an email, a doc, or a slide, consider Play once or three plays so the motion eventually rests.

The loop is a footnote Netscape added in 1995

The GIF specification finished in 1989 has no concept of repeating. What everyone thinks of as GIF looping is a small block called the Netscape Application Extension, bolted on by Netscape Navigator in the mid nineties and adopted by every decoder since because it was useful. The block carries a repeat count, and a zero in it means forever.

The Loop control here inherits that quirk. Forever writes the block with a zero. Play once omits the block entirely and lets the file fall back to its 1989 behavior. Counts in between store repetitions after the first play, so asking for three plays writes a two. The upshot: you never switch looping on, because forever is the default and every platform honors it. All of the effort goes into the cut.

Four honest ways to kill a seam

A seam is visible whenever the last frame and the first frame disagree. There are four ways to fix that, and it is worth knowing which one you are using rather than nudging handles until it feels better:

  1. Cut on a natural cycle. The best loops were already loops: a pendulum at the end of a swing, a wheel back at the same spoke, an interface returning to rest, a person completing a gesture and settling. Find the two matching moments and cut there. This is the only method that produces a loop nobody notices.
  2. Match the end frame to the start frame by hand. When the cycle is close but not exact, step the in and out points one frame at a time and watch the preview. The timeline snaps to real source frames and arrow keys move a handle by exactly one, which is the difference between landing on the moment and landing near it.
  3. Bounce. The per clip toggle plays the footage forward then straight back inside one loop. A palindrome has no wrap point by construction, so the seam cannot exist. It costs roughly double the frames and it reads as a bounce rather than a cycle, which is honest and sometimes exactly right. The boomerang page goes deeper on when that look serves you.
  4. Fade both ends to the same color. Under All settings, a fade in and a fade out sharing one color swatch land the first and last frames on the same flat field, so there is nothing left to mismatch. It announces itself as a fade, which suits a demo or a title card more than a two second reaction.
The trim timeline with in and out handles being nudged a single frame at a time.
Frame stepping the out point until the last frame matches the first. This is method two, and it is most of the job.

What you cannot fake here

There is no crossfade between the end of the loop and its beginning, and no dissolve between clips in a sequence either. Joins are hard cuts, by design. Video editors hide a bad loop under a half second blend; that option does not exist here, so a mismatched cut stays visible and you solve it with the cut itself.

There is also nothing that scans your clip and proposes the best loop point. No detection, no suggestion, no AI anywhere in the tool. Finding the cycle is your eye and the arrow keys, which is slower once and more reliable after that, because a detector optimizing for pixel similarity will happily hand you a technically perfect loop of the wrong two seconds. And no cut rescues footage with no cycle in it: handheld drift, a slow pan, anything where the frame never revisits a state it held. Bounce or a fade is the answer there, or different footage.

How long the loop should actually run

Short, and shorter than instinct suggests. A reaction lands between one and three seconds, past which the viewer has read it and is waiting. A walkthrough can hold three to six, provided every second shows a change. Anything past about ten seconds stops working as a loop, because the viewer never sees the repeat and you have made a small silent video with none of the compression advantages of one. Frame rate matters here too: at 10 fps each frame holds the screen for a tenth of a second, long enough to notice a bad wrap, so a stubborn seam sometimes softens with a few more fps.

Forever is not always right either. In an email, a document, or a slide, a loop that never stops competes with the text beside it the entire time the reader is there. The Loop control offers Play once, two, three, or five plays, and a demo that runs three times and then rests is often the more considerate choice. Most social platforms re encode uploads and will loop them anyway, so save finite counts for places you control.

The preview is the encoder, not a mockup

Seam hunting is iterative: nudge a frame, watch it wrap, nudge again. That only works if what you are watching is the truth. Play edit runs the assembly through the same pipeline that writes the export, cuts, captions, fades and all, looping it the way the finished file will. When the seam looks closed in the preview, it is closed in the GIF.

All of it runs on your own processor inside the page, which is what makes the iteration bearable: twenty adjustments cost twenty seconds instead of twenty uploads, and the clip stays on your disk throughout. Bring a video, a GIF you already have, or a handful of stills to the tool and start hunting the cycle. If precise cutting is the skill you want to sharpen, the frame perfect trimming guide covers the keyboard work in detail.

The loop is free. The seam is the craft.

Find the cycle, step the handles a frame at a time, and watch the real encoder wrap it before you export. Runs entirely in your tab, no upload between attempts.

Open the converter

Questions, answered

Do I need to turn looping on?
No. Forever is the default and every browser and platform honors it. The Loop control exists mainly so you can turn looping down, to a single play or a set number, for places where perpetual motion is a nuisance.
Why does my GIF jump when it restarts?
Because the last frame and the first frame do not match. Either the clip has no natural cycle in it, or the cut is a frame or two off one. Step the out point one frame at a time and watch the wrap, or switch the clip to Bounce so there is no wrap to see.
Is there a crossfade to hide the seam?
Not between the end and the beginning, and not between clips either, since joins are hard cuts. What you can do is fade in and fade out to the same color, which lands both ends on an identical flat frame and removes the mismatch entirely.
How long should a looping GIF be?
One to three seconds for a reaction, three to six for a walkthrough where something changes every second. Past roughly ten seconds a viewer never sees the repeat, so the loop stops doing any work and you are shipping a heavy silent video.
Can it find the best loop point for me?
No. There is no detection and no AI in the tool. You find the cycle by eye and place the cut with frame accurate handles, which is slower once and more dependable after that, since a detector optimizing for matching pixels will cheerfully pick the wrong two seconds.
Can I make a GIF play only a few times?
Yes. The Loop control offers Forever, Play once, or two, three, and five plays, written into the file itself. Several social platforms re encode uploaded GIFs and loop them regardless, so finite counts are most useful in email, documents, and pages you control.