Join Audio
Choose two or more audio files, put them in order and join them into one WAV or MP3 file: directly, with a pause between clips or with a crossfade. Clips with different sample rates are resampled without changing their speed or pitch, and the result lists where each clip starts. It all runs in your browser: the files never leave your device.
Join Audio
or drop them here. Files stay on this device.
- Runs on your deviceNo upload. Files stay in your browser.
- Free, no accountNo sign-up, nothing stored on our servers. Limits: files up to 50 MB each; the joined file up to 20 minutes.
- FormatsMP3, WAV, Ogg, FLAC, M4A in; one 16- or 24-bit WAV, or MP3 at 64 to 320 kbps, out
- Works onCurrent Chrome, Edge, Firefox and Safari, desktop and mobile.
How it works
- Choose or drop two or more audio files. Each shows its length, sample rate and channels; the arrows next to a file change the order in which the clips are joined.
- Choose what goes between clips (nothing, a pause of a set length, or a crossfade), the sample rate, mono or stereo, WAV (and its bit depth) or MP3 (and its bitrate), and whether to normalise the level. The line above the options shows how long the joined file will be.
- Press Join audio, listen to the preview and download the WAV or MP3. The list under it shows where each clip starts, and Copy start times puts it on the clipboard.
Questions
What happens when the files have different sample rates?
They are brought to one rate before joining: by default the highest rate among the files, or 44,100 or 48,000 Hz if you choose. The browser's resampler recomputes the samples, so every clip keeps its length, speed and pitch, and the result says which clips were resampled. A 16- or 24-bit WAV that is already at the output rate and channel layout is copied sample for sample when the bit depth is kept (the default takes the highest among the files, so no clip is rounded) and normalisation is off. If a header does not state its rate, or states an AAC core rate that HE-AAC doubles, the result names the rate used.
How does the crossfade work?
The end of one clip and the start of the next overlap for the length you set: one fades out while the other fades in, and the page keeps the level even through the overlap. It measures how alike the two sounds are there: two unrelated sounds are faded at equal power, so the middle is as loud as the clips (a fade whose gains add up to one dips about 3 dB there), the same sound continuing in step is faded at equal gain, and sounds partly alike in proportion. Where an even level would take a sample past full scale, that crossfade's gains add up to one instead, so it never makes a sample louder than the louder clip, and the result says it dips. When a clip is too short, its crossfades are shortened to half of its length and the result says so. With a pause between clips, the clips themselves are not changed.
What about mono and stereo files together?
By default the joined file is stereo if any file is stereo, and a mono clip then plays the same sound on both sides. Choose Mono to mix everything down, or Stereo to always get two channels. A file with more than two channels keeps its first two (front left and right) in a stereo result.
Which formats can be joined?
Whatever your browser can decode: WAV, MP3, Ogg Vorbis and Opus, FLAC, and AAC in M4A or MP4 in current Chrome, Edge, Firefox and Safari; AIFF in Safari. A file the browser cannot decode is refused with a message. The joined file is a WAV, or an MP3 if you choose it (see the next answer).
Can it make an MP3?
Yes: choose MP3 under Format, with a bitrate of 64, 128, 192 or 320 kbps. The MP3 is encoded on your device by LAME (lame.sourceforge.net) in its JavaScript port lamejs 1.2.1, under the LGPL-3.0, which this site serves unchanged with its licences and loads only when you make an MP3; a long join can be stopped while it encodes. MP3 holds 8 to 48 kHz and one or two channels, as every joined file has: another output rate is converted first with the same filter as Convert Audio (96 kHz becomes 48 kHz), and so is stereo at 64 kbps from 32 kHz up, which is written at 24 kHz, the rate LAME uses for it (the result says so); at 16 to 24 kHz the bitrate is at most 160 kbps and at 8 to 12 kHz at most 64 kbps. An MP3 starts with 1,105 samples of silence that the encoder adds (25 ms at 44.1 kHz, 23 ms at 48 kHz, up to 138 ms at 8 kHz), and the start times listed with an MP3 include them; its end is padded to a whole frame. Nothing in the file marks them, so players play them too, and the preview plays the MP3 itself. WAV keeps every sample exactly and is about ten times larger: about 10 MB per minute of 16-bit stereo at 44.1 kHz, where an MP3 at 128 kbps is about 1 MB.
How long can the joined file be?
Up to 20 minutes, with each file up to 50 MB. The browser holds all the decoded audio in memory while joining, well over 1 GB for 20 minutes of 48 kHz stereo, so long jobs can fail on phones. The page works out the length before it starts and says so when it is too long. Encoding an MP3 takes about a tenth of the joined file's length on a recent computer (a minute of stereo in about 6 s) and can be stopped.
What is the list of start times for?
It shows where each clip begins in the joined file, for example to write chapters in a podcast or video description. Copy start times gives one line per clip, such as 0:45 interview. With an MP3 the times include the silence the encoder adds at its start, so they match the MP3.
Does it work offline?
Once the page has loaded, yes, for WAV: nothing is fetched while you join. MP3 needs its encoder, about 530 KB, which the page fetches from this site the first time you make an MP3; offline before then, the page says it could not load the encoder.
Is my file uploaded?
No. The page loads a small script into your browser and every operation runs on your device. You can check this yourself in the browser's network panel: after the page has loaded there are no upload requests. Closing the tab discards the file.
Do I need an account or to pay?
No. These basic tools are free and store nothing on our servers. The only limits are the tool's own: files up to 50 MB each; the joined file up to 20 minutes. Within them, the practical limit is your device's memory.
What does this page keep in my browser?
Nothing you open or type. While the tab is open, the tool pages keep a short list of the steps taken in it, in the tab's session storage: the step (page opened, started, succeeded, first success, used again or failed), the tool's name, the time, how many files were used and, for a failure, an error code; never a file name, the contents of a file or your text. It holds at most the latest 200 steps, and the browser deletes it when the tab closes. The page never sends it. Where a Report a problem button is shown, you can attach the last 20 steps to your report; nothing is attached unless you tick that box. In local storage the page keeps only choices you made: a Light or Dark theme until you choose System again, the language you picked with the EN / 中文 switch if it differs from your browser's language, and this tool in your recently used list if you switched that list on at the tools page.
Questions or problems
Found a problem or missing feature? Tell us. Please describe the steps; do not send confidential data.