AUD · Audio tools

Audio Crossfade Joiner

Shareable link

Settings are written to the URL as you change them. Nothing differs from the defaults yet.

Join audio files so the end of one fades out while the start of the next fades in over the same seconds. Add the files, set the order, pick a length and a curve, then listen to any seam before writing the output.

Crossfade length

The slider sets the overlap at every seam, from 0.1 to 15 seconds. Two to four seconds suits songs in a playlist. Ambience, room tone, and music beds under speech take longer overlaps, around 6 to 10 seconds, so the change in texture is hard to place.

Each seam is capped at half of the shorter file next to it. A short clip between two long crossfades gets shorter fades, never overlapping fades.

Per-seam lengths

Every seam row has its own length field. Leave it alone and the seam follows the slider; type a value and that seam keeps it. A playlist that moves from a slow intro into a fast track might use 8 seconds at the first seam and 2 at every other one. Reset returns a seam to the slider.

Silence at joins

Songs ripped from albums and exports from editors often end with a second or two of silence and start with a few hundred milliseconds more. Overlap them as they are and a 3 second crossfade spends most of its time blending silence, which sounds like a fade out followed by a fade in.

Trim before fading cuts silence at the end of each outgoing file and at the start of each incoming one, then places the overlap on what remains. The threshold sets what counts as silence: -50 dB catches digital silence and quiet hiss, while -35 dB also takes a long reverb tail. The start of the first file and the end of the last are never trimmed, and the stats show how much silence was cut.

Silence at the end of a file is held back up to 60 seconds while the file streams, since it only counts as trailing once the file is over. A quiet passage longer than that stays in.

Equal power vs linear

A crossfade is two gain curves running in opposite directions.

  • Equal power follows a quarter sine and cosine. Their squares always add to 1, so two unrelated signals keep a steady loudness through the overlap. Use it for different songs, different takes, or recordings from different rooms.
  • Linear runs one gain from 1 to 0 and the other from 0 to 1. The two always add to 1, which keeps the level steady only when both sides carry the same waveform. On unrelated material it dips by about 3 dB halfway through.

When the curve is wrong you hear it: a linear fade between two songs sags in the middle, and an equal-power fade across two cuts of the same take swells by up to 3 dB.

Listen to a seam

Each pair of cards has a seam row between them. Listen renders 3 seconds before the overlap, the overlap itself, and 3 seconds after, then plays it. Change the length or curve and listen again before exporting.

Where the seam lands

MP3 and some AAC files carry a duration in their header that can be off by tens of milliseconds, especially with variable bitrate encoding. Placing a seam from that number would start the next file early or late. The joiner decodes each file to its last sample and starts the overlap from the real end, so a seam lands in the same place whatever the header says.

Levels and clipping

Crossfading does not change gain outside the overlap. A quiet file stays quiet next to a loud one, so level the sources with the normalizer first if they were mastered differently.

Inside the overlap, two loud masters can sum above full scale for a moment. The peak reading after export shows it, and a warning appears when samples were clipped. Lower the sources, or run the joined file through the limiter.

Formats and sample rates

Files are decoded before they are joined, so an MP3 can fade into a FLAC. The output takes the highest sample rate and channel count in the set: a mono voice memo fading into a stereo track is spread to both channels, and a 44.1 kHz file joined to a 48 kHz one is resampled up.

Frequently Asked Questions

It writes one file in which the end of each file fades out while the start of the next fades in over the same stretch of time. It reads WAV, MP3, M4A, AAC, Ogg, Opus, FLAC, AIFF, and WebM audio, up to 100 files, and you choose the output format.

Use equal power for different songs, takes, or recordings. Unrelated signals add as power, so a linear fade leaves a dip of about 3 dB in the middle of the overlap. Use linear when both sides are cuts of the same recording, where the waveforms line up and add as amplitude.

Each seam plays two files at once. Three files joined with a 4 second crossfade come out 8 seconds shorter than their combined length, because two seams each overlap 4 seconds.

The overlap shrinks. A seam never takes more than half of the file on either side of it, so a 3 second clip between two 5 second crossfades fades in over 1.5 seconds and out over 1.5 seconds, and never fades in and out over the same audio.

Yes. Type a length into a seam row and that seam keeps it when the global slider moves. Reset puts it back on the global length. Per-seam lengths are not saved in the page link, because the link cannot carry the files they belong to.

The outgoing file ends in silence, or the next one starts with some, so the overlap blends a quiet stretch instead of two pieces of music. Turn on trimming at joins: the silence is cut first, and the overlap starts on real audio.

The merger butt-joins files with a few milliseconds of fade to remove clicks, so the output is the full length of every file. The crossfade joiner overlaps them by seconds, which is the transition between two songs in a playlist or between two ambience beds.

Yes. The preview renders a few seconds either side of the seam with the same overlap length and curve the export uses, and it finds the end of the outgoing file by decoding it, not by reading its header.

Explore Our Tools

Browse all tools