Merge audio files
Joined end to end, with the position of every seam reported.
Runs locallyDrop files here, or click to choose
Accepts MP3, WAV, M4A, AAC, FLAC, OGG. Up to 300 MB and 30 minutes on this device, no sign-up.
Add two or more files and this page decodes each one first, then shows the exact size of the joined WAV before anything is written. Limits on this device: 12 files, 300 MB per file and 30 minutes in total. Nothing is uploaded at any point.
Add two or more audio files, put them in the order you want, and this page writes them out as a single uncompressed WAV. The joining happens in this browser tab, so nothing is uploaded. The page reports the exact time each seam falls at, which is what you actually need if you are going to line the result up against anything else.
Joining is not the same as mixing, and both are called “merge”
This tool puts your files one after another: file one plays, then file two starts where file one ended. That is concatenation, and it is what people almost always mean by joining audio — chapters of an audiobook, takes of a recording, a set of voice notes.
Mixing is different. It plays files at the same time, layered on top of each other, and it needs decisions this page does not ask for: relative levels, whether to duck one under the other, what to do when the sum exceeds what the format can store. Sites that offer one button called “merge” are usually doing concatenation and hoping you meant that. This page does concatenation and says so.
Because the files are placed end to end, the seams matter. A join lands on a whole sample, and this page tells you the time of every one of them. If you need a gap between sections, or a fade across a seam, those are separate operations and a tool that pretends to do them invisibly is not doing you a favour.
What happens when your files do not match
Audio files carry two properties that have to agree before they can be joined: the sample rate and the channel count. Real collections rarely agree. A voice memo from a phone might be 48 kHz mono, a track ripped from a CD 44.1 kHz stereo, a download 44.1 kHz mono.
For the sample rate, everything is brought to the rate of the first file you added. That is a real resampling step done by your browser’s own high-quality resampler, and this page names each file it applied to. Without it the joined audio would play at the wrong speed, which is the classic symptom of a joiner that ignores this: the second half sounds slightly slow or slightly chipmunked.
For channels, the output takes the largest count among your files, and a mono file has its samples copied to both channels. That duplicates existing sound rather than inventing anything, but it does mean the section is no longer mono once saved, so the page says which files it did that to. Order the list with the file whose sample rate you want to keep first, and neither of these steps will surprise you.
Why the output is one WAV, and what it costs
Joining requires decoding every file, because the compressed frames of an MP3 or an AAC track cannot simply be glued together — the encoder’s internal state carries across frame boundaries, and the frame grid almost never lines up with the point where you want the join. Once everything is decoded, writing it out as a compressed file again would be a second lossy pass over every second of every input.
So the output is uncompressed 16-bit PCM in a WAV. Nothing is compressed a second time. That is not the same as calling it lossless — for inputs that were already MP3 or AAC, that first encode is not something decoding can undo — but the tool adds nothing of its own.
The size is the cost, and with several inputs it adds up quickly: about 10.1 MB per minute at 44.1 kHz in stereo. Six five-minute tracks come out around 300 MB. The page shows the exact total before you press anything, and it enforces a real limit — 30 minutes of audio in total on a desktop, half that on a phone — because decoded audio has to fit in memory and a tab that runs out mid-way loses everything.
Nothing is uploaded, and you can check that
This is the category where uploading is least appealing. Joining audio usually means joining recordings — interviews, lectures, dictation, family video soundtracks — and every online joiner sends all of them to a server, keeps them for some retention window, and hands you a link that anyone with the URL can fetch.
Here there is no server in the path. Open your developer tools, watch the Network tab, and join a few files: none of them appears in any request. The Content-Security-Policy this site sends restricts connections to our own origin, and your browser is the thing enforcing it, so a script on this page could not send your audio anywhere even if it wanted to.
The practical consequences are the ones you would expect from having no server bill: no account, no daily quota, no queue at busy times, no watermark, and the only limits are the ones your own machine imposes — which the page states rather than leaving you to discover. After the first visit it also works offline.
Frequently asked questions
Does this mix the files together or play them one after another?
One after another, in the order you list them. Layering files on top of each other is mixing, which needs level decisions this page does not make.
What if my files have different sample rates?
They are all brought to the rate of the first file you added, using your browser’s own resampler, and the page names each file that was changed. Put the file whose rate you want to keep first.
Can I put a gap or a fade between the sections?
Not yet. Both are separate operations, and a joiner that added them silently would be making an editing decision on your behalf. The page reports the exact time of each seam so you can do it in an editor if you need to.
Why is the result a WAV instead of an MP3?
Because joining requires decoding, and re-encoding to MP3 afterwards would compress every input a second time. Uncompressed PCM adds nothing; an MP3 export belongs on its own page that states that cost.
How many files can I join?
Up to twelve at a time, with a total of 30 minutes of audio on a desktop and 15 on a phone. Those limits come from what a browser tab can hold in memory, not from a paywall.
Are the files uploaded anywhere?
No. Everything runs in your browser tab. Watch the Network tab in DevTools while you join — none of your files appears in any request.