Loop a Video

Pick a video or GIF and repeat it N times or to a target length — looped in your browser, nothing is uploaded.

Looped video

Loop a video in your browser

Pick a video or GIF and repeat it into one continuous file — a set number of times, or looped to a target duration. The loop runs entirely in your browser with ffmpeg compiled to WebAssembly; your file is never uploaded.

Options

Notes

FAQ

What's the difference between repeat count and loop-to-duration?

Repeat count is the total number of plays: 3 produces the clip three times back-to-back. Loop-to-duration instead loops the clip indefinitely and trims the output at your target length. If you set a duration greater than 0, it takes precedence and the count field is ignored.

How long or how many loops can I make?

The repeat count accepts 1–100 total plays, and the duration mode accepts up to 3600 seconds (one hour of output). Values outside those ranges are rejected before ffmpeg runs.

Does looping re-encode the video and hurt quality?

No. The tool uses ffmpeg's -stream_loop input option with -c copy, so the frames are copied bit-for-bit into the output. That means zero quality loss, the same container format as the input, and much faster processing than a re-encode.

In duration mode, what happens if the target isn't a multiple of the clip length?

The final repetition is cut mid-play so the output lands exactly on your target duration. If you need only complete plays, use the repeat-count mode instead.

Developer & Automation Access

Run it from the terminal

Same engine as this page, headless — via the gizza CLI:

gizza tool loop-video 'url=https://example.com/input' 'count=2' 'duration=0'

New to the CLI? Get gizza →

Open it by URL

Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:

https://gizza.ai/tools/loop-video/?url=https://example.com/input&count=2&duration=0

Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.