Loop a Video

Repeat a short clip several times over in one file, with the sound looped along with it. Short clips only, for a reason explained below.

How to use it

The clip is decoded to frames and then written out again as many times over as you ask for, as one longer file.

  1. Open a short clip A few seconds. The estimate tells you if what you have opened is too much for the memory available.
  2. Set how many times One to ten plays. The estimate shows the length you will end up with before you commit to it.
  3. Export Reading the frames is faster than real time. Writing them out grows with the number of plays.
Full instructions

Drop a video here

or

Your video is opened on this device. It is never uploaded.

No video open yet
1 to 10 plays
The frame rate below decides how many frames are held in memory, so it matters more here than in the other tools. Only one pass is ever held, so the number of plays costs export time rather than memory.
In depth

How to loop a video so a short clip plays over and over

This article explains the tool that takes a short video clip and repeats it, so one pass becomes a longer file that plays the same few seconds again and again. You will learn why only short clips work well, what the memory limit does and does not constrain, how to trim so the join between plays does not show, and what happens to the sound. A worked example turns a three-second clip into a twelve-second loop.

Screenshot: Looping a video
Looping a video as it appears when the page opens.

What a looped clip is used for

A three-second clip is often too short to be useful on its own. A screen recording of a button animating, a candle flickering, a logo settling into place: each says what it has to say in a second or two, and then the file ends before the viewer has finished looking at it.

Repeating it fixes that without asking anyone to film anything again. A background video on a web page wants to run for half a minute, not for three seconds. A clip going into a slideshow needs to fill the time the slide is on screen. And some platforms play a video once and stop, so a clip meant to loop has to arrive already looped.

The alternative is asking the player to repeat it, which works only where you control the player. A looped file works everywhere, because the repetition is in the video rather than in the settings around it.

Why short clips are the only option

Nothing in a browser will take a video file and stitch it to itself. The clip has to be decoded into frames and encoded again as a new, longer file, and that decoding step is where the limit comes from: every frame of one pass is held as raw pixels while the writing happens.

Each frame at 1080p is about six megabytes of raw pixel data. Ten seconds at 30 frames per second is 300 frames, which is roughly two gigabytes. A browser tab does not have unlimited memory, and once the frames fill what is available the tab crashes or the machine starts swapping to disk and everything crawls.

The page shows an estimate as soon as you load a file. If it warns that the clip is too large, trim it shorter. Lowering the frame rate helps too, because fewer frames means fewer megabytes held at once.

The number of plays is free, the length is not

It is worth being clear about which of the two numbers costs you anything, because the obvious guess is wrong. Asking for ten plays instead of two does not multiply the memory by five. One pass of frames is captured and then written out over and over from that same pass, so the memory cost of ten loops is the memory cost of one.

What grows with the number of plays is the export time and the size of the finished file, both roughly in proportion. Ten plays of a three-second clip is thirty seconds of video to encode and thirty seconds of video to download.

What constrains you, then, is the length of the pass rather than the number of passes. A two-second clip looped ten times is comfortable. A forty-second clip looped twice may not be, even though the finished video is shorter.

Setting how many times it plays

The field labelled How many times accepts a number from 1 to 10 and starts at 2. Two means the clip plays through twice: the whole pass, then the whole pass again. Ten means ten plays in a row.

The estimate line updates as you change it, and it is worth reading before you export. It shows the number of frames being held, the size they are being held at, and the length of the finished video. That last number is the one people get wrong: a four-second clip set to six plays is a twenty-four-second file, which is longer than many people intend when they reach for a loop.

Trimming so the join does not show

The trim bar appears when you open a file. Use it to cut the clip down to the moment you want repeated. Press Start here and End here while the video plays, drag the handles, or type exact times into the Start and End fields.

Trimming does more for a loop than it does for most tools, because a loop has a join in it. When the last frame of the pass cuts back to the first frame of the next one, any difference between those two frames shows up as a jump, and it shows up once per play rather than once in the video.

So choose the start and the end for how alike they look, not only for where the interesting part begins. A pendulum caught at the same point of its swing at both ends joins invisibly. The same pendulum caught at opposite ends of the swing jumps every time round. The checkbox labelled Keep looping the selection lets you watch your trimmed section repeat before you commit to exporting it, which is the quickest way to find out whether the join reads.

Export settings and what they change

Save as lists the video formats your browser supports. Quality in kbps ranges from 200 to 20000 and starts at 2500. Frames per second offers 24, 30 or 60.

The frame rate matters more here than in other video tools, because it decides how many frames are held. Dropping from 30 to 24 saves a fifth of the memory. Going up to 60 doubles it, and doubles the chance that a longer clip has to be captured at a reduced size. Unless the motion is fast enough that 30 looks choppy, there is a real cost and no benefit.

Match the frame rate to your source if you can. A clip filmed at 24 frames per second exported at 30 cannot gain the six frames it is short of, so one frame in five is held twice over, and on a moving shot that reads as a slight stutter that repeats with every loop. Exporting the same clip at 24 gives one output frame per source frame and no held frames at all. Most film and a lot of downloaded video is 24 or 25; phone video is usually 30. If you are not sure and the result looks uneven, try 24 before you change anything else.

Quality changes the file size rather than the picture size. If the finished loop is larger than you want, lower the quality number first: a loop repeats the same footage, so it compresses better than most video of the same length and can usually take a lower number than you would expect.

Worked example: a three-second sign loop

You have an eight-second clip of a neon sign flickering. The part worth keeping runs from about two seconds to about five.

Drop the file in. Use the trim bar to select from 2 seconds to 5 seconds, and tick Keep looping the selection to watch the join. The sign is lit at both ends of that range, so the cut back to the start does not read as a jump. Set How many times to 4. Leave Frames per second at 30 and Quality at 2500.

The estimate now reads 90 frames and a result of 12 seconds. Press Export. The tool reads 90 frames, which takes a few seconds because seeking runs faster than real time, and then writes 360 frames from them. You get a twelve-second file of a sign that flickers steadily for as long as anyone watches it.

Why the result sometimes looks softer than the original

When a clip is long enough that holding every frame at full size would exhaust the memory available, the tool captures each frame at a reduced size instead. The estimate says so when it happens. This keeps the export from crashing, but the finished video is noticeably less sharp than the source.

The fix is always the same: trim to a shorter pass. A two-second clip is captured at full size and stays crisp. A twenty-second clip may be captured at half size and looks soft. Note that adding more loops does not make this worse, because the loops reuse the pass that has already been captured. It is the length of the pass alone that decides how sharp the result is.

What happens to the sound

Keep the sound is ticked by default, and the audio is looped along with the picture: each play carries the same few seconds of sound, lined up with the frames it belongs to.

This needs the faster of the two writers the tool can use, because that is the one that muxes an audio track into the file. On a browser without it the checkbox is hidden rather than left on screen doing nothing, and the loop comes out silent. If the file you opened has no sound in it, or has sound in a form the browser cannot decode, the export still succeeds and the page tells you it came out silent.

The join applies to sound as much as to picture. Music cut mid-bar will click audibly at every repeat, and a voice cut mid-word repeats the fragment. If the sound matters, trim on a beat or a pause; if it does not, untick the box and loop the picture alone.

What makes a clip loop well

The best loops are continuous motion with no clear beginning or end. A flame, falling snow, a rotating object, a crowd from a distance, water moving. Nothing in them announces where the pass started, so the join has nothing to give away.

Motion that travels in one direction is the hard case. A car crossing the frame ends with the car gone and restarts with it back where it began, which reads as a jump no matter how carefully you trim. Either pick a different moment, or accept the cut as part of the effect.

  • Good: a flame, rain, a spinning wheel, a screen animation that returns to its starting state
  • Hard: anything that travels across the frame, a zoom, a person walking out of shot, a fade to black

Common mistakes and how to avoid them

The most common mistake is trying to loop a clip that is too long. A full minute at 30 frames per second is 1800 frames, and the tool refuses beyond that point rather than crashing the tab. Trim to the few seconds you actually want repeated.

The second is expecting the loop count to be the problem when the export is slow or the picture is soft. It is not: both follow from the length of the pass. Cutting the clip in half helps with both. Halving the number of plays helps with neither.

The third is not watching the join before exporting. Tick Keep looping the selection and let the trimmed range run round a few times. Ten seconds of watching saves an export you were going to throw away.

The fourth is forgetting how long the result will be. Ten plays of a six-second clip is a minute of video. The estimate says so before you start, and it is worth a glance.

When this tool is the wrong choice

If you control the player, loop it there instead. A video element with the loop attribute, or a background video on your own page, repeats with no file to build and no quality lost to a second round of encoding. This tool is for the cases where the file itself has to arrive already looped.

If your clip runs longer than about a minute, desktop software that writes to disk will handle it better than a browser holding frames in memory. And if what you want is the clip running forwards and then backwards, or simply running backwards, that is a different effect from a loop and this tool no longer offers it.

Privacy and where the frames go

Every frame is decoded, held, repeated and encoded entirely on your device. The video is never sent to a server. There is no upload step, no cloud processing and no account. The file stays local from the moment you open it to the moment you download the finished result. Because everything is held in your browser's memory rather than on a remote machine, there is nothing to delete afterwards and no third party ever sees your footage.

Help

Looping a video

The clip is decoded to frames and then written out again as many times over as you ask for, as one longer file. Nothing in a browser will take a video and stitch it to itself, so it has to be re-encoded — and every frame of a single pass is held in memory while that happens, which is what limits you to short clips.

Open a short clip

A few seconds. The estimate tells you if what you have opened is too much for the memory available.

Set how many times

One to ten plays. The estimate shows the length you will end up with before you commit to it.

Export

Reading the frames is faster than real time. Writing them out grows with the number of plays.

One pass is held in memory, however many you ask for

The clip has to be decoded before it can be re-encoded, and every frame of a single pass is held as raw pixels while that happens: at 1080p that is about six megabytes each, so ten seconds at 30 frames a second is roughly two gigabytes. Asking for ten plays does not cost ten times that, because the one pass is written out again and again rather than copied — so it is the length of the clip that constrains you here, never the number of loops. That is also why the tool reduces the picture size for anything but the shortest clips, and why the frame rate option matters more here than anywhere else. It is a memory limit, not a speed one.

Good to know

Trim first, loop second

Use the trim bar to take the few seconds you actually want. Only one pass is held, so a short pass is what buys you full size.

Mind the join

A loop cuts from the last frame straight back to the first. Where those two do not match you see a jump, once every play, so pick a start and an end that look alike.

The sound loops too

Keep the sound is on by default and repeats along with the picture. It needs the fast writer, so the box is hidden on browsers that do not have one.

Common questions

How many times can it repeat?
Up to ten. The estimate shows you the finished length before you export.
Why is there a length limit?
One pass of frames is held in memory while the file is written. A long clip exhausts it however few loops you ask for.
Can I keep the sound?
Yes. It is looped along with the picture, on browsers whose encoder can carry an audio track.
The motion looks slightly uneven. Why?
Most likely the frame rate does not match your source. A 24 fps clip exported at 30 has to hold one frame in five twice over, every loop. Try 24.
Why does the result look softer?
Longer clips are captured at a reduced size so they fit in memory. Trim to a few seconds for full resolution.
Is my video uploaded?
No. Everything happens on your device.