Arrange audio clips, choose output channels and blend joins with optional crossfades. Preview the actual joined WAV before downloading, entirely in your browser.
Your content stays on your device Free, with no account
Arrange your clips. Make one continuous file. Local audio · no uploads
No file selected.
2–20 clips · up to 128 MiB source files in total · 256 MiB decoded audio in total. About 23 min mono / 11½ min stereo at 48 kHz; output channels also affect the limit. Browser/device memory can impose lower limits.
Add at least two clips. Files stay on your device.
Clip order
Drag a clip onto another to move it there, or use Earlier / Later. Click Preview to listen to a source clip. Adding files appends to the queue; individual failures keep accepted clips.
Queue is empty.
Auto keeps mono when every clip is mono. Stereo promotion duplicates mono samples. Mono averages channels and can cancel opposite-phase content.
0 joins clips end to end. Linear amplitude crossfades shorten the result by the overlap at each join; they do not align beats or normalize loudness.
Live joined preview
Click the clip timeline to seek. This shows planned clip positions and overlap, not an encoded waveform.
0.00 s
Live preview uses current order, channels and crossfade. Export WAV separately.
Choose clips to plan the join.
SOURCE CLIP
No clip selected
Source preview is the selected original file. The queue and crossfade setting describe the planned join; they do not edit source files.
ACTUAL JOINED WAV
Listen before downloading
Create a joined WAV to see and hear the actual output.
48 kHz · signed 16-bit PCM WAV. Browser decoding may resample input; this is not bit-perfect compressed-file joining. Tags/artwork are omitted. Out-of-range encoded samples are clipped and reported. Hard joins may click; crossfades blend adjacent clips at the chosen overlap.
A FEW SIMPLE STEPS
How to use Audio Joiner
Add two to twenty audio clips, or try the sample pair. Filename, file size and decoding status appear in the selection area and queue.
Drag clips into order or use Earlier / Later. Preview individual sources, remove unwanted clips and choose an output channel policy.
Optionally choose a crossfade. It must fit within half the shortest clip; the planned duration shows the overlap removed at each join.
Create the joined WAV, listen to the actual exported file and download it. Queue or setting changes clear obsolete output.
PRIVATE BY DESIGN
Why use this tool?
Your audio stays on your device. Decoding, sample joining, crossfades and WAV encoding run locally with self-hosted code, without uploads or an account.
Tool inputs stay in your browser. Only your theme preference is saved on this device.
A few things worth knowing
What are the limits?
Two to twenty clips, up to 128 MiB of source files in total and 256 MiB of decoded source audio in total. Output float audio also must fit within 256 MiB. At 48 kHz this is roughly 23 minutes mono or 11½ minutes stereo. Browser/device memory can impose lower practical limits, especially while joining and encoding.
How are channels and sample rates handled?
Browser decoding resamples each accepted source to the explicit 48 kHz working rate. Auto output is stereo if any input is stereo, otherwise mono. Mono-to-stereo duplicates samples into both channels. Stereo-to-mono averages left and right; opposite-phase audio can cancel. Original files are unchanged.
How does crossfade work?
Each adjacent pair overlaps by the chosen number of working samples. Linear amplitude weights blend the outgoing and incoming clips. The overlap must be at most half the shortest clip, up to ten seconds, so three clips never overlap. Zero performs an end-to-end hard join. Crossfades can change perceived loudness; they do not align beats or normalize levels.
Are compressed formats joined losslessly?
No. The browser decodes the input; the output is a new 48 kHz, 16-bit PCM WAV with the selected channels. Metadata and artwork are omitted. WAV can be larger than the source files. Out-of-range output samples are clipped and reported.
What happens if a clip fails to load or I cancel?
Invalid or over-budget additions are skipped with an error, while accepted clips remain in the queue. Cancel adding stops the batch logically and ignores late decoder results. Stop export retains clips/settings. Clear and page exit release application references, players, workers and object URLs.