Audio Joiner combines 2 to 10 browser-decodable audio files in your current tab and exports a single gap-free PCM16 WAV, so you can build a merged track before sharing it through Instagram on a PC. The whole pipeline runs in the browser using the Web Audio API: files are read locally, decoded through one shared AudioContext, reordered with explicit Move up and Move down controls, then concatenated sample by sample before a fresh RIFF/WAVE header is written. Nothing is uploaded to a server, no codec library is added, and no fade, crossfade, or normalization is inserted between the joined segments. That makes the tool a precise option when an Instagram creator on a desktop browser wants to stitch voice memos, interview clips, music beds, or podcast excerpts into one local file that can be imported into Instagram, attached to a DM, or used as the soundtrack for a Reel or Live segment.

How Audio Joiner Handles Audio on a PC
Audio Joiner is a single-page tool that takes a batch of recognized audio files, decodes them through one shared BaseAudioContext.decodeAudioData call, and writes the result as a brand new RIFF/WAVE file with interleaved little-endian signed 16-bit PCM samples. The supported input set covers common MP3, WAV, M4A, AAC, Ogg, WebM, and FLAC names and MIME types, though a recognized extension does not guarantee that every codec variant will decode in Safari, Chrome, Firefox, or another browser. Damaged, encrypted, incomplete, mislabeled, or unsupported files produce a clear error rather than a silent skip. Because the audio never leaves the tab, you keep the originals on disk until you have checked the downloaded file in your media player.
The output is a clean PCM representation of the decoded samples. The original codec, bitrate, encoder settings, tags, album art, chapters, cue points, loop points, loudness fields, timestamps, and other container metadata are not preserved. Float samples are clipped to the range from -1 through 1 during encoding; negative full scale maps to -32768, positive full scale to 32767, and any non-finite values are written as silence. The downloaded duration, channel count, order, and file size are the four values worth checking against your originals before you delete anything from your PC.
Preparing the Audio You Want to Share on Instagram from PC
When the goal is to share a single combined track through Instagram on a PC, the cleanest workflow is to merge the source clips locally first and then import the resulting WAV into Instagram's desktop browser, a Reel editor, or a Live streaming setup. Audio Joiner is built for that exact pipeline because the join is gap-free, the channel identity is retained, and the file can be previewed before download. The following ordered steps cover the Instagram-specific path on a desktop browser:
- Collect 2 to 10 audio files you want to share as one track on Instagram and place them in a single folder on your PC so the picker can see them in one selection.
- Open Audio Joiner in the same browser tab you will use for Instagram, which keeps decoding on the same machine and avoids cross-tab transfers.
- Confirm each file is 25 MiB or smaller and that the whole batch stays under 100 MiB, since Instagram's own import limits plus the tool's decoded-sample budget can reject oversized selections.
- Pick the files, wait for the browser to decode every track through the shared AudioContext, then use Move up and Move down in the visible list to set the exact order Instagram should hear.
- Select Join in this order, preview the PCM16 WAV in the page, then download it to your PC and confirm the duration, channels, and file size before importing.
- Import the downloaded WAV into Instagram's desktop composer, attach it to a DM, or feed it into a Reel or Live producer that accepts PCM audio, and verify playback before deleting the source files.
This workflow also pairs well with other PC-side audio work. If you need to pitch-shift the joined result for a CapCut PC Reel that is heading back to Instagram, the CapCut pitch-change walkthrough covers the companion step without sending audio to a server.
Joining Audio Files in Your Browser Step by Step
The join itself follows three disclosed steps, and every limit is enforced before decoding finishes so a slow batch cannot silently truncate your output.
- Choose 2 to 10 browser-decodable audio files within the displayed per-file and total limits, and wait for each track to decode before continuing.
- Preview the decoded tracks and use Move up or Move down until the list is in the required order; reordering updates both the decoded-buffer array and the visible list together, and any older WAV is cleared so a stale result cannot claim the previous order.
- Select Join in this order, preview the resulting PCM16 WAV in the page, then download it. The downloaded file is a newly encoded RIFF/WAVE file with interleaved, little-endian, signed 16-bit PCM samples written by the shared encoder.
The output filename is supplied by the browser, and the file plays in any program that reads PCM16 WAV. If you need a trimmed range rather than a full track, the Audio Cutter tool exports a WAV from an exact start and end point using the same local pipeline.
Input and Output Limits at a Glance
The following table lists the explicit budgets that decide whether a batch can be joined. A high-rate or multichannel selection can hit the sample budget before the duration limit, so the totals should be read together rather than one at a time.
| Constraint | Allowed value |
|---|---|
| Files per selection | 2 to 10 |
| Per-file encoded size | ≤ 25 MiB (26,214,400 bytes) |
| Total selection size | ≤ 100 MiB (104,857,600 bytes) |
| Total decoded duration | ≤ 30 minutes across all tracks |
| Maximum channels per track | 8 |
| Maximum sample rate | 192 kHz |
| Maximum channel-samples | 30,000,000 across all tracks |
Nothing is shortened, downmixed, downsampled, or omitted to fit a limit; the selection is rejected with a specific message instead. This means you should trim or split oversized material first, for example with Audio Cutter, and then return to the joiner with a batch that fits every budget before importing the result into Instagram.
Sample Rates, Channels, and Why the WAV Grows
Every file in one selection is decoded through the same AudioContext, and AudioBuffer values may be resampled to the context's working sample rate. The rate displayed for the tracks and for the result can therefore differ from the rates stored in the original files, and the output does not preserve independent source sample rates. All decoded tracks must also share the same channel count; a mono and stereo mixture is rejected rather than silently duplicating, dropping, averaging, or remapping channels. Matching channels are retained in their decoded order and concatenated independently before WAV interleaving, and the production joiner shares the same channel-concatenation function and join plan with isolated tests so track order and channel identity survive the join.
Because PCM16 WAV is uncompressed, the downloaded file can be much larger than the selected MP3, AAC, Opus, Vorbis, or FLAC inputs. As a rough qualitative example, a stereo 44.1 kHz join produces about 10 MiB per minute of audio, while an MP3 source at 192 kbps sits around 1.4 MiB per minute, so a five-minute merged WAV can balloon to roughly fifty megabytes even though the originals look small on disk. The exact figures for your selection depend on the tool's measured output, so check the resulting file size after download and plan for Instagram's own import ceilings.
Local-Only Processing and What Is Not Preserved
Selected files and the finished WAV use temporary local object URLs for playback and download, and those URLs are released when they are replaced or when the page closes. Decode work carries a job identifier, and component cleanup invalidates older jobs so a slow read or decode cannot overwrite a newer selection. The AudioContext is closed after decoding, on replacement, and during cleanup. Selecting the same files again works because the file input is reset after every choice, so a rejected batch can be retried after edits without a full page refresh.
What the join keeps is order, channel identity, and the decoded sample sequence. What it does not keep is the original codec, bitrate, encoder settings, tags, album art, chapters, cue points, loop points, loudness fields, or timestamps. Keep the source files and confirm the downloaded duration, order, joins, channel playback, and file size before deleting any original. Reach for a dedicated editor rather than the joiner when the task needs fades, loudness matching, channel conversion, compressed output, metadata preservation, or sample-level repair.