Skip to main content

Free · runs in your browser

Make a background video loop for your website

Turn a few seconds of footage into a light, silent loop that repeats behind your page without a visible restart, then drop it into a video tag.

Drop a video to loopChoose a video to loop

Or choose one from your computer. MP4, MOV, WebM and GIF all work.Pick a clip or a GIF from your photos or files.

Works with MP4MOVWebMGIFand more

Looped on your device. Nothing is uploaded.

A background video loop is a short, silent clip that plays behind part of a web page and repeats without a visible jump. Here the join is set to Crossfade, the sound to Off and the format to WebM, so you export one smooth pass, then let the browser’s loop attribute repeat it for as long as the page is open.

Exporting a single pass keeps the file as small as it can be. With a crossfade, the last frames of that pass dissolve towards the first ones, so when the browser jumps back to the start it lands on almost the same picture and the restart is hard to spot.

The editor runs in your browser, so unreleased client footage never leaves your machine. It is free and adds no watermark.

Make the loop and export it for the web

  1. Open the footage

    Click Select video or drop the file on Drop a video to loop. Chrome and Edge open the widest range of formats.

  2. Choose a short stretch

    Pick three to eight seconds with steady movement. Find the best loop (F) searches the clip for the start and end that match most closely; set Shortest loop to 2 or 4 s so it doesn’t settle on a tiny fragment.

  3. Soften the join

    The page starts on Crossfade at half a second. Slow footage often looks better with a longer Crossfade length. Press Watch the join (J) to replay the restart until you can’t see it.

  4. Strip the sound and set the weight

    Keep Sound on Off. In Export settings, try Size 720p and Quality set to Smaller file, and read the estimate line underneath for the file size before you export.

  5. Export WebM, then MP4

    With Format on WebM, click Export video and Download video. Then click Change loop (E), switch Format to MP4 and export again, so you have both files for the source list.

The HTML for a looping background video

A minimal version looks like this: <video autoplay muted loop playsinline poster="hero.jpg"> <source src="hero.webm" type="video/webm"> <source src="hero.mp4" type="video/mp4"> </video>. Each attribute has a job.

  • autoplay starts playback as soon as enough has loaded. Browsers block autoplay for video with an unmuted sound track, which is why the next attribute matters.
  • muted starts the video silenced. It is a boolean attribute: writing muted="false" still mutes, so remove it entirely if you ever want sound.
  • loop tells the browser to go back to the start each time the video reaches the end. That is what repeats your single exported pass.
  • playsinline asks phones to play the video inside its box on the page instead of switching to full screen.
  • poster names an image to show while the video downloads; it stays in place if the video never starts. Use a still of the first frame so the swap is invisible.
  • Each source is tried in order and the browser uses the first one it can play. Put the file you prefer first and keep MP4 as the fallback.

In CSS, give the video object-fit: cover so it fills its container at any width. Cover crops the edges as the box changes shape, so keep the interesting part of the frame near the centre, or crop it first with Shape under More options.

File-size budget

A background video downloads on every visit that shows it, often before anything else on the page, and on a phone connection that cost is real. A useful rule of thumb is to keep a hero loop within a few megabytes, and smaller if it sits on a page people reach on mobile data.

What brings the size down, roughly in order of effect

  • A shorter loop. Halving the length roughly halves the file.
  • A lower Size. A background behind text rarely needs more than 720p, and 480p is often fine under a dark overlay.
  • Quality set to Smaller file. Fine detail matters less when the video is decoration.
  • Calmer footage. Encoders spend their data on change, so grainy, shaky or fast-moving shots cost more than slow, clean ones.
  • A tighter frame. Cropping with Shape to the area you actually show means fewer pixels to store.

Compare the estimates for WebM and MP4 and list the smaller one first in your sources, as long as you are happy with how it looks.

Reduced motion and a pause button

Constant movement behind text can be distracting, and for some people with vestibular disorders it causes real discomfort. Operating systems let people ask for less motion, and pages can read that preference through the prefers-reduced-motion media query. The video element doesn’t check it by itself, so add a few lines of script that pause the video, or skip autoplay, when the query matches. The poster then stands in as a still background.

The Web Content Accessibility Guidelines also ask for a way to pause, stop or hide moving content that starts on its own, lasts more than five seconds and sits alongside other content. A small, visible pause button that calls the video’s pause method meets that, and a looping background lasts well beyond five seconds.

  • Treat the video as decoration. Don’t put information in it that isn’t also in the text.
  • Hide it from screen readers with aria-hidden="true", since it carries no sound and no meaning of its own.
  • Put a semi-transparent dark layer between the video and any text so contrast holds up on the brightest frame, not just the average one.

Footage that works behind a page

The best background loops have motion spread evenly across the frame and nothing that draws the eye away from the headline. Clouds, water, foliage, slow pans across a city or a product turning on a stand all suit it. People walking in and out of frame, cuts between shots and changes in light are hard to loop and easy to notice.

If Find the best loop reports a Poor match, the footage never quite returns to where it began; it suggests Use a crossfade, which hides most of that. For a jump of a frame or two, Blend softens it without shortening the loop. Footage with only one moving element, such as steam over a cup, can also become a cinemagraph, which freezes everything else and is often smaller still. For more on loop points and joins, see seamless loop video.

Background video loops: questions

Why won’t my background video autoplay?

The most common cause is a missing muted attribute, because browsers block autoplay for video with sound. Phones also need playsinline. Some browsers hold back autoplay in data-saving or power-saving situations, which is another reason to set a poster.

Do I need both WebM and MP4?

MP4 with H.264 plays in practically every current browser, so it is the safe single choice. Adding WebM as a first source lets browsers that handle it use it when it is the smaller file. If WebM isn’t offered as a format in your browser, export MP4 alone.

How long should a website background loop be?

Usually three to ten seconds. Long enough that the repetition isn’t obvious, short enough to keep the download light. A good join matters more than length.

Why export only one pass?

The loop attribute repeats the file in the browser for free. Exporting several passes would multiply the file size without changing what visitors see.

Should I use a GIF instead of a video?

For a background, no. A GIF is usually many times larger than an equivalent video and limited to 256 colours. Keep GIFs for places that can’t play video; for those, see make a looping GIF.

Is there a visible jump when the browser loops the video?

The jump you notice almost always comes from the footage itself: the last frame differs from the first. A Crossfade or Blend on export removes most of it, and Watch the join shows you the restart before you export.

Is my footage uploaded anywhere?

No. The video is processed in your browser and the files are saved straight to your device.