Add the clips, put them in the order you want, and they are written into one file. Anything your browser can open is accepted — clips of different sizes, shapes and frame rates can be joined without preparing them first, because they are made to match rather than being refused. Nothing is uploaded; the work happens on your own device.
Joining is not the same as sticking two files together. Videos can only share a container if they share a resolution, a frame rate and a codec, and clips from different sources almost never do. So every clip is re-encoded into one common target. The list says what will happen to each one — scaled, reshaped, or given silence where it has no sound — before anything is encoded, so there are no surprises after the wait.
How mismatched clips are handled
-
The output shape follows the first clip by default:
that is usually the main video, and an intro or an outro should adapt to it rather than the other way round. You can choose a fixed shape instead when the result is going somewhere specific.
-
A clip of a different shape is filled, not stretched:
blurred fill scales it to fit and puts a blurred copy of it behind, so nothing is cropped and nothing is black. Stretching a clip to force it into the wrong shape looks wrong to everybody, so it is not offered.
-
Silence is written for clips that have none:
if one clip in the middle has no audio and nothing were written for it, the sound and the picture would drift apart for everything after it. Silence of exactly the right length keeps them together.
-
Order is set here, not by file name:
clips join in the order shown and can be moved up or down. Selecting several files at once adds them in whatever order the browser hands them over, which is worth checking before starting.
Why joining means re-encoding everything
Files can only sit together in one container if they share a resolution, a frame rate and a codec, and clips gathered from different sources almost never do. Copying them together regardless would produce a file that plays the first clip and then breaks. So the [msm_tool slug="video-merger"] re-encodes every clip into one common target rather than stitching the originals, and the list states what will change about each one — scaled, reshaped, given silence — before any of it happens.
The output shape follows the first clip by default
Whatever the first clip in the list is assumed to be the main video, and everything else is matched to it rather than the other way round — a short intro or a closing card should adapt to the main footage, not force it to change shape. A fixed output shape can be chosen instead when the result is headed somewhere specific that expects a particular size.
A mismatched clip is filled, never stretched
Where a clip is a different shape from the target, it is scaled to fit and the space around it filled with an enlarged, blurred copy of the same frame — nothing cropped, nothing left black. Stretching a clip to force it into the wrong shape is deliberately not offered as an option, because a stretched frame looks wrong to everyone who sees it, not just to whoever is fussy about it.
Silence is written for whatever has none
A silent clip sitting in the middle of the sequence still needs something written to the audio track for its full duration. Leave that gap empty and the sound for every clip after it starts arriving early, drifting further out of step with the picture the longer the file runs. Silence of exactly the right length keeps the two tracks together.
Order comes from the list, not the file names
Clips join in whatever order they appear in the list, and that list can be reordered after adding them. Selecting several files at once adds them in whatever order the browser happens to hand them over, which is not always alphabetical or upload order — worth checking against the list before starting rather than assuming it matched what was picked.
Where the sound can go missing
MP4 audio needs the AAC codec, which Firefox cannot encode on any platform and no browser can encode on desktop Linux. Chrome, Edge and Safari keep the audio in the joined file.