b2KIT

Audio Joiner

Merge multiple audio files into one with crossfade and gap controls.

Tested tool guide Tested browser tools Checked August 15, 2026

What Audio Joiner does, with a checked example

Audio Joiner combines two or more audio files into a single continuous track entirely in your browser. You add files in the order they should play, then choose per-junction whether to insert a silent gap, a crossfade, or a straight cut. A crossfade overlaps the tail of one clip with the head of the next rather than simply concatenating them, so the joined output is shorter than the sum of the input lengths. People are often surprised that a long crossfade can eat noticeably into a short clip's audible runtime.

Worked example

A concrete input and expected output from the current implementation.

Input

3 files: intro.mp3 (12.0s), verse.mp3 (30.0s), outro.mp3 (8.0s), joined with a 2.0s crossfade at each of the two junctions and no gaps.

Expected output

Total output length = 46.0s (12 + 30 + 8 = 50s of source audio, minus 2s overlap at each of the 2 junctions = 50 - 4 = 46s).

Each crossfade overlaps the outgoing clip's tail with the incoming clip's head for the fade duration instead of adding that time, so every crossfaded junction shortens the combined runtime by exactly the crossfade length.

How the result is produced

1

Decode and align

Each input file is decoded to raw PCM in the browser, then resampled and channel-matched (mono/stereo) to a common format so the clips can be assembled sample-for-sample without pitch or speed drift. Files can arrive in different source formats and sample rates; alignment happens before any joining logic runs.

2

Per-junction join logic

For each boundary between two clips you set a gap (inserted silence of a given duration), a crossfade (an overlapping fade-out/fade-in blend of a given duration), or neither. These are applied while the final buffer is assembled, then the whole result is encoded once to the chosen output format.

Good uses

  • Stitching separate voice-memo or podcast segments recorded in different takes into one file
  • Combining a spoken intro, a music bed, and an outro into a single track with smooth crossfaded transitions instead of hard cuts
  • Assembling a sequence of sound effect or sample clips with fixed silent gaps between them for timing purposes

Limits and checks

  • Setting a crossfade longer than either of the two clips at that junction is ambiguous - the fade can only draw on audio that actually exists, so the effective overlap gets capped by the shorter clip and the result may not match the duration you typed in.
  • Gap and crossfade are alternatives at a given junction, not additive - if you expect a silent pause plus a fade at the same boundary, that is not what either setting alone produces.
  • Inputs with different sample rates or mono vs. stereo layouts get resampled or channel-mixed to a common format before joining, which can shift noise floor or perceived loudness slightly relative to the original files.

Common questions

Can I join an MP3 and a WAV file together?

Yes. Because the tool decodes every input to raw audio before joining, the source formats don't need to match - you can mix MP3, WAV, and other supported formats in the same sequence and export the result as one unified output file.

Will joining my files reduce their audio quality?

It can. Decoding and then re-encoding is unavoidable, so if your inputs are already lossy (like MP3) and you export to a lossy format again, that's a second lossy pass and some generation loss is expected. Exporting to a lossless format like WAV or FLAC avoids that second loss.

References and verification

The example and behavioral notes were checked against the browser implementation. Standards and primary references below define the relevant format, formula, or platform behavior.

Related Tools