Skip to content
brownie.tools

Audio Joiner

Arrange separate recordings, choose gaps or crossfades, and save one WAV without uploading audio.

Choose audio files

2–20 files · 100 MiB total · MP3, WAV, OGG, M4A (browser codec support required)

Up to 30 minutes of source and output audio; 256 MiB estimated processing memory. Long recordings may reach the memory limit first.

Runs locally in your browser. Nothing is uploaded or sent to a server.

Audio Joiner combines 2–20 audio files into one 16-bit PCM WAV on your device. Choose audio files, arrange Track order with drag or Move up and Move down, set Transition, then click Join audio. Preview the finished recording and choose Download WAV. MP3, WAV, OGG, and M4A inputs depend on browser decoding support. The tool checks a 100 MiB input limit, a 30-minute duration limit, and a 256 MiB estimated processing budget.

Updated

How do you join separate recordings into one file?

Choose audio files, place them in the order you want, and click Join audio to create one WAV recording. Use No transition for a direct sequence, Gap to insert silence, or Crossfade to overlap neighboring ends. Listen to the finished recording before selecting Download WAV. All decoding and sample processing happen on your device.

You can start with one file while assembling the queue, but joining stays disabled until at least two files are present. Choose several at once or use Add audio files to append more. Dropping files and pasting audio files from the clipboard use the same queue. The list shows file names in their export order. Remove deletes a queue entry; it never deletes the original file from your device.

Repeated names are allowed, including repeated selections of the same recording. Check the numbered list carefully if your recorder produces generic names such as recording.wav. Each selection occupies a separate position. Drag a row onto another row to move it there. Keyboard users can focus Move up or Move down on that row and activate the control until the desired order is reached.

What does a worked example with three tracks produce?

Suppose you combine three mono recordings that decode at 44,100 Hz and last ten, twenty, and thirty seconds. With No transition, the output lasts sixty seconds. Sixteen-bit PCM uses two bytes per sample per channel, so the audio payload is 60 × 44,100 × 1 × 2 = 5,292,000 bytes. Adding the 44-byte WAV header gives a 5,292,044-byte download. The result screen reports the generated file's actual byte size.

Three tracks lasting 10, 20, and 30 seconds, with a two-second transition setting
TransitionBoundary behaviorOutput duration
No transitionTracks touch directly60 seconds
GapTwo seconds of silence at each of two boundaries64 seconds
CrossfadeTwo seconds of overlap at each of two boundaries56 seconds

The number of boundaries is one less than the number of tracks. Gaps add time at those boundaries, while overlaps subtract it. Crossfade gains vary linearly: one track fades down while its neighbor fades up. This is a transition between separate files, not a tool for layering entire recordings or synchronizing multiple microphones.

When should you choose a gap or a crossfade?

Use No transition when files already have suitable beginnings and endings. Spoken segments often contain their own pauses, so adding silence at every boundary can make a combined reading feel slow. A gap is useful when separating exercises, announcements, interview questions, or other sections that need a deliberate break. Its silence is generated as zero-valued audio samples, without adding a recording of room noise.

Crossfade suits material where an overlapping handoff is intentional. Avoid overlapping the last word of one sentence with the first word of the next unless that is the desired effect. The setting applies to every boundary; there is no individual transition control for each pair. You can set any tenth of a second between zero and five seconds. At zero, Gap and Crossfade behave like a direct join.

Short tracks reduce crossfade automatically. A one-second clip can overlap each adjacent clip by at most half a second, even when the requested setting is five seconds. The result lists actual overlaps, in queue order, to three decimal places. This protects short tracks from being completely covered by an adjoining transition. It does not add fade-in or fade-out to the outer edges of the complete recording.

Which input formats and channel layouts are supported?

The chooser accepts audio files, with MP3, WAV, OGG, and M4A listed as familiar examples. Successful opening depends on the browser's decoder and the codec inside the file. An extension is a hint rather than proof of compatibility. Renaming a file does not convert its audio. If decoding fails, make a genuine WAV copy with a local audio application and try that copy.

The joiner supports mono and stereo recordings. When the queue mixes both, each mono sample is copied into the left and right output channels. Stereo tracks keep their separate left and right samples. There is no mono mixdown switch. Channel layouts beyond stereo produce an error because their intended placement cannot be inferred safely from a channel count alone.

The first decoded track sets the output sample rate. Reordering can therefore change that choice when decoded rates differ. Tracks at other rates use linear interpolation to fit the output timeline. The browser may already decode different inputs at a shared context rate. This workflow does not offer a target-rate selector or promise mastering-grade resampling, loudness normalization, or restoration of compressed detail.

Why can a recording hit a memory limit before thirty minutes?

The combined source files must fit within 100 MiB, meaning 104,857,600 bytes. Both the sum of source durations and the finished output must remain within thirty minutes. Inserting gaps can exceed the output ceiling even when the original durations fit. Crossfading cannot bypass the source-duration ceiling, because all original tracks still need decoding and processing.

Compressed file size does not describe decoded memory use. Floating-point PCM requires four bytes per sample per channel. The 256 MiB processing estimate allows for retained source PCM, a worker copy, decoding scratch space, output samples, and WAV copies. Long stereo files can exhaust that allowance well before thirty minutes. A smaller compressed input is therefore not evidence that the export will fit.

The native browser decoder allocates its buffers before the joiner can inspect every decoded property. The estimate cannot account exactly for browser codec overhead or garbage-collection timing. If a phone cannot open the queue, use shorter recordings or fewer tracks. Cancel processing requests cancellation during decoding and terminates a running export worker. A native decode already in progress finishes before its result is discarded; browsers without workers run export synchronously.

How do you review, save, and revise the result?

After joining, the queue gives way to a result card. Its player previews the actual generated WAV, including inserted silence and crossfades. Check each boundary and the end of the file. Output filename edits the download name while retaining the .wav extension. Download WAV saves the prepared result. Share WAV appears only where the browser supports sharing this file type.

Edit tracks returns to the existing queue and settings so you can change the order or transition and join again. Join more audio clears the queue for a new selection. There is no saved project history. For cuts within a source recording, use Audio Cutter before joining. For a new spoken take, use Voice Recorder and download it before adding it here.

What stays on the device during audio joining?

Source files, decoded samples, transition calculations, and WAV encoding remain in browser memory. The joiner does not upload recordings, request microphone access, or store an automatic editing draft. Your originals stay unchanged. Downloading saves a separate result; sharing is an explicit transfer to your chosen destination. Closing the tab removes access to the working queue, so save the result before leaving.

If you need to verify a downloaded recording against a known checksum, use File Hash Verifier. A hash checks file bytes rather than whether two recordings sound similar. Joining, changing order, inserting silence, and exporting a new WAV all change those bytes, so the combined file should not match the checksum of an original source recording.

How to Use Audio Joiner

  1. Choose audio files

    Select, drop, or paste 2–20 nonempty audio files with a combined size up to 100 MiB. Use Add audio files to extend the queue.

  2. Track order

    Drag tracks into sequence, or use Move up and Move down. Use Remove to discard an unwanted file before joining.

  3. Join settings

    Set Transition to No transition, Gap, or Crossfade. For a gap or crossfade, adjust Transition duration from 0 to 5 seconds.

  4. Join audio

    Click Join audio to decode and combine the queue. The progress indicator includes a Cancel processing control.

  5. Download WAV

    Preview joined audio, edit Output filename, and select Download WAV. Share WAV appears on supported devices; Edit tracks returns to your queue.

Frequently Asked Questions