How to merge audio files online — free, no upload
- Step 1Drop 2 or more audio files — Use the multi-file dropzone above (
MP3, WAV, FLAC, M4A, AAC, OGG, Opus, AIFF, and more are accepted). The merger needs at least 2 files — with a single file you'll seeAudio merger needs at least 2 files.Drop them in the order you want them joined. - Step 2Check the order in the file list — Each file shows its name, size, duration, sample rate, and channel count (mono / 2ch). Files merge top-to-bottom in list order. There is no drag-to-reorder control — if the order is wrong, remove a file with its X button and re-add it in the right position.
- Step 3Leave crossfade at 0 for a hard join — The default
crossfadeS: 0does a gapless end-to-end concatenation. Set a crossfade duration only if you want overlap (and only for exactly 2 files — see the crossfade spoke). - Step 4Pick the output format — Choose MP3, WAV, FLAC, or M4A (AAC) from the Output format selector. This is the container the merged file is written to; it is independent of the input formats. MP3/M4A encode at 192 kbps; WAV/FLAC are lossless.
- Step 5Run the merge — FFmpeg-WASM resamples every input to 48 kHz stereo, runs the
concatfilter, and encodes one output. Larger or longer batches take more time because the whole job runs on your CPU in the browser — there is no server doing the work. - Step 6Download merged.<ext> — The result downloads as
merged.mp3/merged.wav/merged.flac/merged.m4a. The metrics panel shows total input bytes, output bytes, and processing time. Verify the duration roughly equals the sum of the inputs (a hard join adds no time; a crossfade subtracts the overlap).
Merge options (what the tool actually exposes)
These are the only two controls in the merger UI. Output bitrate and the internal 48 kHz stereo normalisation are fixed and not user-adjustable.
| Control | Values | Default | Effect |
|---|---|---|---|
| Crossfade (s) | 0 to 10, step 0.5 | 0 | 0 = gapless hard join. >0 applies FFmpeg acrossfade — only when exactly 2 files are merged; with 3+ files it is ignored and the tool concatenates end-to-end |
| Output format | MP3, WAV, FLAC, M4A (AAC) | MP3 | Container + codec for the merged file. MP3 = libmp3lame, WAV = pcm_s16le, FLAC = flac, M4A = aac |
| Output bitrate | Fixed 192 kbps (lossy formats) | 192k | Not adjustable in the UI. Ignored for WAV/FLAC, which are lossless. To re-target bitrate afterward use bitrate-changer |
| Internal timeline | 48 kHz, fltp, stereo (fixed) | 48 kHz stereo | Every input is resampled/re-channelled to this before concat so mismatched sources merge without error |
Input format to output codec
Any accepted input can be merged into any output format. The merger always decodes and re-encodes — there is no stream-copy fast path.
| Output format | FFmpeg encoder | Lossy / lossless | Best for |
|---|---|---|---|
| MP3 | libmp3lame @ 192k | Lossy | Podcasts, audiobooks, sharing — universal playback |
| WAV | pcm_s16le | Lossless | Re-importing the merge into a DAW for further editing |
| FLAC | flac | Lossless | Archival music joins where size matters but quality can't drop |
| M4A (AAC) | aac @ 192k | Lossy | Apple ecosystem, smaller-than-MP3 at similar quality |
Tier limits for merging (audio family)
Real limits from the audio tier table. Note the per-file duration cap is separate from the size cap, and the batch-file count is what gates multi-file merging.
| Tier | Max file size | Max duration / file | Files per batch |
|---|---|---|---|
| Free | 50 MB | 30 min | 1 |
| Pro | 200 MB | 120 min | 10 |
| Pro-Media | 100 GB | Unlimited | 100 |
| Developer | 100 GB | Unlimited | Unlimited |
Cookbook
Real merge scenarios with the inputs, the option set, and what FFmpeg produces. The merger always normalises to 48 kHz stereo first, so the input mix can be anything.
Join a mixed bag of formats into one MP3
The classic case the command line refuses: different codecs, rates, and channel layouts. The merger normalises all three to 48 kHz stereo before concat, so it just works.
Inputs (in list order): intro.mp3 44100 Hz 2ch 0:08 body.wav 48000 Hz 2ch 12:30 outro.opus 48000 Hz 1ch 0:15 Options: crossfade 0, format MP3 Output: merged.mp3 48000 Hz 2ch 12:53 (libmp3lame @ 192k) -> outro.opus mono is upmixed to stereo automatically
Stitch sequential music takes losslessly
When the merge is an intermediate step before mastering, keep it lossless. Pick FLAC (or WAV) so no MP3/AAC generation is added.
Inputs: take1.flac 48000 Hz 2ch 2:10 take2.flac 44100 Hz 2ch 2:05 take3.flac 48000 Hz 2ch 1:58 Options: crossfade 0, format FLAC Output: merged.flac 48000 Hz 2ch 6:13 (lossless) take2 resampled 44.1k -> 48k; no lossy re-encode
Two voice memos into a single shareable file
Phone voice memos often come out as M4A/AAC. Merge two into one and keep it small with MP3 output.
Inputs: memo-part1.m4a 44100 Hz 1ch 3:40 memo-part2.m4a 44100 Hz 1ch 2:55 Options: crossfade 0, format MP3 Output: merged.mp3 48000 Hz 2ch 6:35 (192 kbps)
Order matters — fix a wrong sequence
There is no reorder control, so the join follows the list order. If the result plays out of sequence, remove and re-add.
Wrong order in list: chapter2.mp3 chapter1.mp3 Result plays chapter 2 then chapter 1. Fix: 1. Click X on chapter1.mp3 (or remove both) 2. Re-add in order: chapter1.mp3, then chapter2.mp3 3. Run -> merged.mp3 now plays 1 then 2
Build the merged file for a downstream tool
Merge first, then chain. A common pipeline is merge -> level -> top-and-tail.
Step 1 merge-audio-files-free-browser parts: seg-a.wav, seg-b.wav, seg-c.wav -> merged.wav Step 2 loudness-normalizer (EBU R128) merged.wav -> -16 LUFS for podcast Step 3 audio-trimmer trim the dead air off the very start/end
Edge cases and what actually happens
Only one file dropped
RejectedThe merger requires 2 or more inputs. With a single file it throws Audio merger needs at least 2 files. If you only have one file and want to top/tail it, use audio-trimmer; to cut one file into pieces use audio-splitter.
Inputs have different sample rates / channel counts
By designUnlike raw ffmpeg concat, this tool resamples every input to 48 kHz and forces a stereo fltp layout before joining, so 44.1 kHz mono + 48 kHz stereo merges cleanly. Mono sources are upmixed to stereo. This is intentional normalisation, not an error.
Mono source becomes stereo in the output
ExpectedBecause the internal timeline is stereo, a mono input is duplicated to both channels. The merged file is always stereo. If you specifically need a mono result, run the merge then downmix with a converter; the merger itself has no mono output option.
Crossfade set but 3+ files queued
IgnoredCrossfade (acrossfade) only runs when exactly 2 files are merged. With 3 or more files the crossfade value is silently ignored and a plain end-to-end concat is used. The UI shows a note to this effect when crossfade > 0. For multi-segment crossfades, merge in pairs.
Output is larger than the inputs (WAV)
ExpectedWAV output is uncompressed pcm_s16le. Merging compressed inputs (MP3/M4A) into a WAV inflates size significantly — e.g. an hour of stereo 48 kHz WAV is roughly 660 MB. Choose MP3, M4A, or FLAC if size matters.
MP3/M4A merge re-encodes (no stream copy)
By designEven merging two same-format MP3s re-encodes through libmp3lame at 192 kbps — there is no stream-copy fast path here. Each lossy input loses a small generation of quality. For lossless intermediates pick WAV or FLAC; for a true no-re-encode MP3 join the join-mp3 spoke explains the trade-offs.
File exceeds the tier size cap
BlockedFree tier caps each file at 50 MB and 30 minutes; Pro at 200 MB / 120 min / 10 files. A single oversize file blocks the run. Trim it first with audio-trimmer or upgrade for the larger ceilings.
Free tier only allows 1 file in the batch
Tier limitThe Free audio batch limit is 1 file, but a merge needs at least 2 — so practical multi-file merging starts at Pro (10 files per batch) or higher. The processing itself is identical across tiers; only the file-count and size gates differ.
Very long total duration is slow
ExpectedAll work happens on your CPU via WebAssembly. Merging several long files can take a while and use significant memory because every input is decoded, resampled, and re-encoded. Close other tabs for big jobs; consider FLAC over WAV to reduce memory pressure on output.
Browser can't pre-decode an exotic input
PreservedSome formats (e.g. FLAC/Opus on older Safari) can't be decoded by the browser for the duration probe and show a duration of 0:00 in the list. The merge still works because FFmpeg-WASM handles the decode during processing; only the pre-flight duration display is affected.
Frequently asked questions
Can I merge files of different formats together?
Yes — that's the main reason to use this tool. Every input is resampled to 48 kHz and forced to a stereo fltp layout before joining, so MP3 + WAV + FLAC + M4A + OGG + Opus in any combination merges without the codec/sample-rate errors that break raw ffmpeg concat. You choose the output format (MP3, WAV, FLAC, or M4A) separately.
Are my files uploaded anywhere?
No. The whole merge runs in your browser on FFmpeg 8.1 compiled to WebAssembly. Your audio never leaves the device — there is no server-side processing. That's why it's safe for unreleased music, client recordings, and private memos.
In what order are the files joined?
They merge top-to-bottom in the order they appear in the file list, which is the order you dropped or selected them. There is no drag-to-reorder control. If the order is wrong, remove a file with its X button and add files back in the right sequence.
How many files can I merge at once?
At least 2 (the minimum). The batch ceiling is set by your tier: Pro allows 10 files, Pro-Media 100, and Developer unlimited. The Free tier's audio batch limit is 1 file, so multi-file merging effectively needs Pro or higher.
What output formats can I choose?
MP3 (libmp3lame), WAV (uncompressed pcm_s16le), FLAC (lossless), and M4A (AAC). The output format is independent of the inputs — you can merge a pile of MP3s into a single FLAC, or WAVs into one MP3.
Can I set the output bitrate?
Not in the merger UI. Lossy outputs (MP3/M4A) are fixed at 192 kbps; WAV and FLAC are lossless so bitrate doesn't apply. If you need a specific bitrate, merge first and then run the result through bitrate-changer.
Will merging MP3s lose quality?
A little. The merger always re-encodes (there is no stream copy), so two MP3s joined into an MP3 pass through libmp3lame again at 192 kbps. For most podcast/voice content the loss is inaudible. To avoid any generational loss, output WAV or FLAC instead.
My mono recording came out stereo — why?
The internal timeline is stereo, so mono inputs are upmixed (duplicated to both channels) before joining and the output is always stereo. This keeps mixed mono/stereo batches consistent. There's no mono output option in the merger; downmix afterward if you need it.
Why didn't my crossfade apply?
Crossfade only runs when exactly 2 files are merged. With 3 or more files it's ignored and the tool does a plain end-to-end join. To crossfade a multi-segment project, merge two files at a time. See the crossfade-merge spoke for details.
What's the difference between this and the splitter?
This joins many files into one; audio-splitter does the opposite — it cuts one file into many parts by time, markers, or silence detection. To trim the ends of a single file without splitting, use audio-trimmer.
Can I merge a file that's longer than 30 minutes?
On Free, no — the per-file duration cap is 30 minutes (and 50 MB). Pro raises it to 120 minutes / 200 MB, and Pro-Media/Developer remove the duration limit entirely (100 GB size). The 30-minute cap is per input file, separate from the size cap.
What should I do after merging for the cleanest result?
A common chain is merge to WAV, then normalise loudness with loudness-normalizer (EBU R128), then top-and-tail with audio-trimmer. For spoken content, podcast-master bundles leveling and limiting in one pass.
Privacy first
Every JAD Audio tool runs entirely in your browser via FFmpeg (WebAssembly) and RNNoise. Your audio files never leave your device — verified by zero outbound network requests during processing.