🔁

Loop Audio Maker

Pick a loop region, smooth the seam with an equal-power crossfade, preview it looping, then export the single loop or several repeats as a lossless WAV — all in your browser.

ℹ The crossfade blends the loop’s end into its start so repeats are gapless. If you still hear a click, increase the crossfade or nudge the start/end so the levels match at the seam. Output is WAV (browsers can’t write MP3/AAC). Everything runs locally — your file is never uploaded.

No file loaded.

How It Works

Your file is decoded to raw samples in the browser. You choose a loop region; the tool then makes that region loop seamlessly by crossfading its end into its start. With a crossfade of X samples, the loop is region − X samples long, and over the first X samples the fading-in start is mixed with the fading-out tail using an equal-power curve (sine/cosine) so the loudness stays constant through the blend. Because the blend begins exactly where the tail left off, the join is continuous — tile that loop any number of times and it plays without a gap or click. Exporting several repeats simply writes the seamless loop end-to-end. It’s lossless WAV, and nothing is uploaded.

Clicks at a loop point usually mean the waveform level or slope doesn’t match where the end meets the start. A longer crossfade hides most of that; for very tonal material you can also nudge the start/end so both land near a zero crossing. A crossfade can’t exceed the region length. For MP3 output, re-encode the WAV in a desktop app.

Frequently Asked Questions

Is my file uploaded?
No. Decoding, preview and looping all happen in your browser; the audio never leaves your device.
Why do I still hear a click?
The end and start of your region don’t match in level or shape. Increase the crossfade, or move the start/end slightly so both sit at similar, quiet points (ideally zero crossings).
Does the crossfade shorten my loop?
Slightly — the loop length becomes the region minus the crossfade, because the tail is folded into the start. Use a shorter crossfade if you need the loop to stay closer to the region length.
Why is the output WAV, not MP3?
Browsers can’t encode MP3/AAC from JavaScript without a licensed encoder. The loop is exported as lossless WAV; re-encode it to MP3 in a desktop app if needed.
Can I export just one loop?
Yes — set repeats to 1 to export a single seamless loop, or more to write that loop tiled end-to-end. Either way it loops gaplessly in a player set to repeat.