PixelTools

Loop Video

Repeat a clip back to back in one continuous file — free, lossless, and nothing leaves your browser.

Drop a video here, or click to browse

MP4, MOV, WebM, MKV, or AVI — up to 2GB

Free forever
No account required
No watermark
Nothing uploaded to servers

Related tools

A looper that tells you what you're getting

Counted in plays, not repeats

Pick 5× and you get five plays — the off-by-one that trips people up in ffmpeg is handled for you, and every option spells out the total.

Lossless whenever the format allows

MP4 and most MOV clips are copied packet for packet rather than re-encoded, so the loop is indistinguishable from the source footage.

The size and length, before you commit

Every count shows what it would produce — "3× → about 2m21s, ~32 MB" — so nothing is a surprise once the file lands.

Quick, because there is usually nothing to encode

Skipping the encoder is what makes this one of the fastest tools here; an MP4 is typically finished in a few seconds rather than minutes.

Still a real video at the end

The output is an MP4 with its audio intact — never a silent, colour-crushed GIF standing in for one.

Runs in your tab, not on our servers

Your clip is processed locally by ffmpeg.wasm. Nothing is uploaded, nothing is stored, and no account is asked for.

One clip in, a continuous loop out

  1. 1

    Bring in the clip you want repeated

    Drop an MP4, MOV, WebM, MKV, or AVI file onto the page, or click to browse. Files up to 2GB are fine, and nothing is uploaded anywhere.

  2. 2

    Choose how many times it should play

    The picker counts total plays: choose 3× and the finished file runs the clip three times end to end. Before you commit, the page shows what that produces — roughly how long the result will run and how many megabytes it will weigh.

  3. 3

    Build the loop and save it

    One click stitches the copies together into a single continuous MP4, which you can preview on the spot and then download.

Where a repeated clip earns its keep

A few seconds of footage rarely fills the space it has to fill. Repeating it into one long file covers the gap — on a screen with no repeat setting, in a slot of a fixed length, or in front of someone following along.

Background footage for a site or screen

Turn a few seconds of ambient motion into a long, continuous file for a hero section, a shop-window display, or a signage player that has no repeat setting of its own.

Filling a slot of a fixed length

A ten-second clip repeated six times covers a minute-long story, ad break, or lobby screen without cutting to anything else.

Drills, demos and rehearsals

Repeat a single rep, chord change, or product gesture so it plays over and over while someone follows along — no rewinding, no clicking replay.

Social clips that read as endless

Repeat a clean cycle a handful of times so the motion carries on well past a viewer's first pass, on platforms that play a post through only once.

Frequently asked questions

If I choose 3×, does the clip play three times or four?

+

Three times, start to finish. That distinction matters more than it sounds: ffmpeg's own -stream_loop flag counts extra passes rather than total plays, so a 3 there would actually give you four. PixelTools does that conversion for you, and every option in the picker is labelled with the number of plays you will end up with.

Will looping degrade the picture or the sound?

+

Usually not at all, which is unusual for a video edit. Each play is the same already-encoded packets written again, so whenever an MP4 can carry your clip's existing streams — which covers MP4 and most MOV sources — PixelTools copies them straight through and the result is bit-for-bit the same footage, repeated. Some containers hold codecs an MP4 cannot (VP8 or VP9 out of a WebM is the common case); those are re-encoded once at high quality instead, the same way cropping or flipping would.

Why is there a limit on how many repeats I can pick?

+

Because the whole file is assembled inside your browser tab, not on a server. PixelTools caps the projected output at 500 MB or one hour, whichever comes first, and works out that projection from your actual clip — so a 4 MB, six-second clip can be looped twenty times, while a 300 MB clip cannot be looped even twice. Options that would cross the ceiling are greyed out with the reason, rather than failing halfway through.

How can the page know the output size before it builds anything?

+

Because a stream copy is arithmetic rather than guesswork. No re-encoding means no bitrate decisions, so N plays really is N times the packets and N times the running time. Measured on a 3-second, 46 KB test clip, three plays came out at 137 KB — a hair under the 140 KB estimate, because the container header is written once instead of three times. Treat it as a ceiling rather than an exact figure: on a source that has to be re-encoded the finished file usually comes in under the estimate, never over it.

Do I get a video file back, or a GIF?

+

An MP4, always — with the audio track intact and full colour. Some online loopers quietly hand you a GIF when you ask for an endless loop, which strips the sound, flattens the palette to 256 colours and balloons the file size. PixelTools has no infinite option for exactly that reason: a file has to end somewhere, so you choose a real number of plays and get a real video.

Will the loop be seamless?

+

The joins themselves are clean, but seamlessness comes from the clip, not the tool. If the last frame carries on naturally into the first — a rotating object, a drifting sky, a walk cycle — the repeat is invisible. If the shot ends somewhere the next one doesn't begin, you will see the cut, and no amount of looping hides it. Trimming the clip to a whole cycle first is what fixes that.

Why loop the file at all instead of using the loop attribute on a web page?

+

For a page you control, an HTML loop attribute is the lighter answer. A baked-in loop is for everywhere that has no such switch: kiosk and signage players running a playlist, a slide that plays its media once, a social upload that wants a fixed length, or an editor timeline where you want the repeats as a single asset rather than five copies to line up by hand.

Is any of this sent to PixelTools?

+

No. The looping runs on your own machine through ffmpeg.wasm, so your clip never leaves the tab — there is no upload, no queue and no copy sitting on a server afterwards. It also means a 2GB source starts processing the moment you click, instead of after a long upload.

Turn your clip into a loop

Free, lossless, no account needed.

Get started →