
To loop audio seamlessly, open the free Audio Looper, a loop maker that runs in your browser, and set a loop start and end on the waveform. Leave Snap to zero crossings on, keep a short Seam crossfade, play the loop on repeat to check the join, and export as WAV. It works on a file you already have, and your audio never leaves your device.
Every loop has one weak spot: the moment the last sample hands back to the first. A seamless audio loop is one where you can't hear that moment, and three things usually give it away.
The looper handles clicks with snapping and crossfades. Gaps come down to the export format. Bumps and drift come down to where you put the loop points.
A music bed with a beat only loops cleanly at a whole number of bars. In 4/4, one bar lasts 240 ÷ BPM seconds: 2.0 seconds at 120 BPM, so four bars is 8.0 seconds. Start on a downbeat (the "one", usually a strong kick) and set the length to whole bars.
The Loop length readout works in reverse too. If your track is 120 BPM and the readout says "one 4-beat bar at 60.0 BPM", the loop is exactly two bars. If you don't know the tempo, run the file through the BPM Finder or see How to Find the BPM of Any Song (3 Ways). For background beds, four or eight bars sounds less repetitive than one.
Ambience and pads can be any length, but the seam has to disappear:
With snapping on, the looper moves each point to the nearest spot within about 20 ms where the waveform rises upward through zero, measured on all channels added together. Since start and end both sit on an upward crossing, the level and direction match across the seam, which removes the most common cause of clicks. If there's no crossing nearby (in digital silence, say), the point stays put.
A zero crossing alone doesn't guarantee a silent seam, though. The waveform's shape either side can still differ, and in stereo the left and right channels may not cross zero together even when their sum does. That's the crossfade's job.
The Seam crossfade blends the last few milliseconds of the loop into the audio just before your start point in the original file, so the end of the loop is already turning into the sound that leads into the start. That means it needs audio before the loop start: a loop starting at 0:00 has nothing to blend with, and the crossfade is shortened automatically when there's less audio available than you asked for. Too short and a stubborn seam can still tick; too long on a beat and it softens the rhythm right at the seam. For beats, a few to about 20 ms is plenty. Save long values for textures.
You build a perfect loop, export MP3, set your player to repeat, and hear a gap every cycle. That gap comes from the format, not your loop points. According to the LAME documentation, the encoder adds 576 samples of delay at the start and decoders add about 528 more, so there's roughly 1,100 samples, about 25 ms at 44.1 kHz, of extra silence up front. The last frame is also padded out to a full 1,152 samples. A player only removes this if it reads gapless-playback information, and many don't. Opus has a similar "pre-skip". That's why the looper warns that a single MP3 or Opus cycle won't loop gaplessly in a player.
Repeats baked into one file are always seamless, because the looper renders them as one continuous block before encoding; only the wrap from the file's end back to its start can gap. WAV stores samples exactly, with nothing added at either end, which makes it the safe loop format. MP3 vs WAV vs FLAC: Which to Use compares the formats in more detail.
For games, check your engine's audio docs. Godot, for example, can read loop points from WAV files and sets looping for compressed formats in import settings, and older Unity documentation warned that MP3 loops can click. A single WAV cycle is the safest thing to hand to an engine, a video editor, or a looping player.
The looper caps each download at 20 minutes. The simplest route to an hour is to export a 20-minute file and let your player repeat it three times; with WAV the wrap stays clean.
For a single hour-long file, export a 20-minute WAV and join three copies in the Audio Joiner with its crossfade Off. Join WAV copies, not MP3s, which would carry their padding into each join. Decoded audio takes far more memory than the file on disk, and an hour of it plus the three source copies can run past a gigabyte in one tab, so do this on a desktop or laptop rather than a phone. Export the result as MP3 if you need a smaller file; the joins inside stay seamless.
Raise the Seam crossfade a few milliseconds or nudge a loop point. Make sure Snap to zero crossings is selected. If the loop starts at the very beginning of the file, move the start later so the crossfade has audio to blend.
The crossfade is too long for the material; bring it toward 10 ms on beats. A level bump in ambience means the start and end sit at different loudness, so move one to a matching spot.
The length isn't a whole number of bars. Check the tempo, compare it with the Loop length readout, and use Halve or Double. A loop 20 ms too long is a full second out after 50 repeats.
You exported MP3 or Opus. Re-export as WAV, or bake more repeats into one file.
The loop starts inside a fade-in at the top of the source. Move the start past the fade. If you want a fade on the finished file, add it afterwards with How to Fade Audio In and Out (Free).
Want a one- or two-bar sample to build a beat on instead? How to Cut a Sample or Loop From a Song covers that. For a plain trim with no looping, use the audio cutter. More guides are in the how-to library.
Why does my audio loop click? A click happens when the waveform sits at a different level at the end of the loop than at the start, so playback jumps between them instantly. Starting and ending on upward zero crossings removes most clicks, and a short seam crossfade of a few milliseconds handles the rest. If it still ticks, nudge one loop point slightly or raise the crossfade a little.
Is this audio looper free? Yes. The Vocal Cut Audio Looper is free, needs no account, and runs entirely in your browser. You load an MP3, WAV, FLAC, or M4A file you already have, set the loop, and export it as WAV, MP3, or Opus. Your audio never leaves your device, and there's no upload step.
What format is best for a seamless loop? WAV. It stores audio samples exactly, with nothing added at the start or end, so a single cycle repeats without a gap. MP3 and Opus add a short stretch of silence at the start of every file, roughly 25 ms for MP3 at 44.1 kHz, which shows up as a gap when a player repeats the file. Repeats baked into one MP3 are still seamless.
How long should a loop crossfade be? For music with a beat, a few milliseconds up to about 20 ms is usually enough to hide a click without softening the rhythm. For ambience, rain, drones, and pads, longer values from tens of milliseconds up to 200 ms smooth over changes in texture. Start at the default 10 ms and adjust by ear while the loop plays.
Can I make a 1 hour loop? Not in one step. The Audio Looper caps each download at 20 minutes, so either export a 20-minute file and set your player to repeat it, or export a 20-minute WAV and join three copies end to end in an audio joiner with no crossfade. Export the hour as MP3 afterwards if you need a smaller file.