ihateaudio

Audio Joiner

Stack your files up and glue them into one.

Drop the files you want to merge

choose them all at once, you can reorder them after

MP3 · WAV · M4A · AAC · OGG · FLAC and moreYour file stays on your device. Always.

How to use it

  1. Drop every file you want to merge onto the page in one go. They are decoded on your machine. Nothing is sent anywhere, and there is no queue to wait in.
  2. Put them in the order you want. Drag a row by its handle, or use the up and down buttons on each row if you would rather not drag. Row one plays first.
  3. Set a gap if you want a pause between tracks. Zero joins them with no space at all, which is what you want for segments of one continuous recording.
  4. Pick an output format and download. The merged file is written from the decoded samples, so the parts line up exactly where the list says they will.

What joining actually does

When two audio files are joined here, nothing clever happens. The samples of the second file are written into memory directly after the last sample of the first, and the result is saved as one file. There is no analysis, no attempt to match keys or tempos, no re-timing. That is why it finishes in about the time it takes to press the button, and it is also why the output is exactly as good as the material you fed in.

The one complication is files that disagree about their format. A 48 kHz stereo export and a 44.1 kHz mono voice memo cannot simply be placed end to end, because their samples do not represent the same slices of time and one of them has half as many channels. Everything is brought to the highest sample rate and the widest channel count present before the join, so the voice memo is resampled upward and copied across both channels. The alternative (matching downward) would quietly degrade your best source to accommodate your worst, and that is the wrong default.

Order, gaps and the seam itself

A join with no gap is a hard edit. If the first file ends mid-waveform at, say, 40 percent of full scale and the next one starts at minus 30 percent, the speaker is asked to make that jump in the space of one sample. Your ear registers it as a tick. Files that were exported properly end on silence and this never comes up; files that were themselves cut out of something bigger very often do.

Gap conventions are worth knowing because they are load-bearing. Roughly two seconds between album tracks reads as deliberate. One to two seconds between audiobook or podcast chapters gives a listener time to register that something changed. Between two halves of a single continuous take, any gap at all sounds like a mistake. Join those at zero and, if there is a click, fix the click rather than papering over it with silence.

One encode, not one per file

Every source is decoded to raw samples first, joined in that raw form, and encoded once at the end. Merging five MP3s therefore does not stack five generations of MP3 damage onto the result. Each input arrives carrying whatever loss it already had, the join adds none, and the export adds exactly one more pass. At 192 kbps or higher that pass is inaudible to almost everyone.

If this merge is one step of several. Say you plan to normalize the result, or trim the front. Take WAV or FLAC out of here instead. Both are lossless, so the intermediate steps cost nothing, and you encode to MP3 once at the very end. FLAC is roughly half the size of WAV for identical audio, which matters when the merged file is an hour long.

Questions

Can I reorder the files after they load?
Yes. That is the point of the list. Drag a row by the handle on the left, or move it with the up and down buttons, which work with a keyboard. The order you see top to bottom is the order in the exported file, and nothing is committed until you press download.
What happens if my files have different sample rates or channel counts?
They are reconciled before joining. Everything is brought up to the highest sample rate present and the widest channel count present, so a 44.1 kHz mono voice memo merged onto a 48 kHz stereo track is resampled up and copied to both channels. The better file is never downgraded to match the worse one, and a mono file never silently loses a channel.
Why is there a click where two tracks meet?
A join with no gap is a hard edit. If one file ends mid-waveform and the next starts somewhere else, the signal jumps in a single sample and you hear a tick. Files exported properly end on silence and this never comes up. If yours do not, add a small gap, run them through the fade tool first, or use the crossfade joiner instead.
Can I add more files after the first batch has loaded?
Not to the existing list. Dropping files again starts over with the new set. Select everything you want in one go from the file picker, or drag them all in together. Reordering afterwards is free, so the order you pick them in does not matter.
How many files can I merge, and how long can the result be?
There is no count limit in the tool. The real ceiling is memory: decoded audio costs about 21 MB per minute of 44.1 kHz stereo, and every file plus the merged result has to be held at once. An hour of total material is comfortable on a laptop; a phone will start to struggle well before that.
Does merging MP3 files re-encode them?
It has to. There is no way to concatenate MP3 frames from different encoders and different settings into one valid stream, so the files are decoded to raw audio, joined, and encoded once. That is a single generation of loss, which at 192 kbps and above nobody can hear. Export WAV or FLAC if you plan to keep editing.
Is the gap real silence, or a fade?
Real silence, digital zero, inserted between tracks. It does not soften anything. If a track ends abruptly, a gap makes the abruptness more obvious rather than less, because now there is nothing to distract from it. Fade the ends first if that is the problem you are solving.