Crop a section of audio and repeat it into a loop

Drag two handles on the waveform to mark the part you want, say how many times it should repeat, and the tool joins the copies end to end, with a short crossfade at each join if you want one.

Live demo · real result from this tool

Drop your audio file here

or paste with Ctrl+V · nothing is uploaded

Loaded from cdn.jsdelivr.net only when needed; FFmpeg is GPL-licensed. Your audio still never leaves your device.

Your result appears here — processed on your device.

Processed on your device — nothing is uploaded.

How to use the loop maker

  1. Drop an audio file on the box or press Choose a file. A player and a waveform strip appear.
  2. Drag the two handles to mark the section. With a handle focused, the arrow keys move it by 0.1 s, Shift+arrow by 1 s, and PageUp/PageDown by a tenth of the file. The line under the strip shows Start, the selected length and End.
  3. Press Play selection to hear just that part. Playback stops at the end handle.
  4. Set Repeats (default 4) and Crossfade at joins in milliseconds (default 20). Start and End (0 = to the end) can also be typed; they stay in sync with the handles.
  5. Choose Save as, press Build loop, then download the file ending in -loop.

What it does and when to use it

Use it to turn a drum bar into a practice backing track, stretch a few seconds of rain or crowd noise into a longer ambience bed, repeat a tricky guitar phrase so you can play along, or build a short music bed for a video or game menu. The section is copied, not stretched, so the sound itself does not change.

For a single cut without repeats, the audio trimmer uses the same timeline. To find the tempo before choosing a bar, run the BPM detector. Finish with fades at the very start and end so the whole loop does not begin or stop abruptly.

How it works

The waveform preview is drawn by your browser’s own decoder. When you press Build loop, the file is decoded again in a Web Worker, and the section from Start to End is cut out (at least 0.05 s long). The section is then repeated. With a crossfade, the end of each copy and the start of the next overlap for that many milliseconds, using an equal-power curve (cosine down, sine up) so the level does not dip at the join. The loop length is:

section × repeats − crossfade × (repeats − 1)

Nothing leaves your device.

Worked examples

From the tool’s output on a 30-second file:

  • Start 0, End 4, Repeats 4, Crossfade 20 ms: Loop length 0:15.94. Three joins each overlap by 0.02 s, so 16 − 0.06 = 15.94 s.
  • Start 10, End 12, Repeats 8, Crossfade 0: Section 0:10.00 → 0:12.00, Loop length 0:16.00 exactly, with hard joins.

Limits and tips

  • Set handles on a drum hit or the start of a note to get a cleaner loop.
  • A 16-bit stereo WAV at 44.1 kHz takes about 10 MB per minute. For long loops, saving as M4A or OGG keeps the file smaller.
  • Compressed inputs are decoded with WebCodecs, which needs a current Chrome, Edge or Firefox, or Safari 26+. Rare formats (AIFF, AMR, WMA, CAF) and MP3 output need the optional ffmpeg fallback, about 30 MB downloaded once from cdn.jsdelivr.net.

Frequently asked questions

How do I make a loop that stays in time with the music?
Make the section an exact number of beats. One beat lasts 60 ÷ BPM seconds, so at 120 BPM a four-beat bar is 2 s and at 90 BPM it is 2.67 s. The BPM detector can estimate the tempo first. Set Crossfade at joins to 0 when timing must be exact, because each crossfade overlaps the copies and shortens the loop.
Why do I hear a click at each repeat?
The waveform is at a different point at the end of the section than at the start, so the jump clicks. The default 20 ms crossfade hides this. For pads or ambience, try 100–500 ms.
How many times can it repeat?
From 1 to 1,000. The output grows with every repeat, and the whole loop is built in memory, so a long section with many repeats can be too big for a phone.
The waveform did not appear. Can I still make a loop?
Yes. If your browser cannot preview the format, the page says so. Type the Start and End times in seconds below the timeline and press Build loop; processing may still work.

Written by the ToolsRift team · Last updated

Pages are drafted with AI assistance and checked by automated tests. How we write and check pages.

Was this tool useful?

Report a problem

Start typing to search every tool.

↑ ↓ to moveEnter to openEsc to close