To merge videos online, add two or more clips to a merger that runs in your browser, move them into the order you want, pick an output resolution and export a single MP4. Nothing is uploaded, no account is needed and there is no limit on how many clips you can join.
The reason a browser merger can join clips that were recorded on different phones, cameras and screen recorders is that it re-encodes each one first. Every clip is scaled to the chosen frame, padded instead of stretched, and matched on frame rate, video codec, audio codec and sample rate. Only then are the prepared streams copied together in order. That uniform pass is what makes one smooth file, and it is also why merging is slower than cutting: a three-clip project is three encodes plus the final join.
Merging is the one video task where the hard part is not the cutting but the matching. Two clips from the same camera join in seconds and look seamless, while two clips from different sources refuse to behave as one file until they share the same resolution, frame rate and audio layout. That is the whole job of a merger, and it is usually the point where a first attempt produces a file that stutters at the seam.
Video Merger
Add two or more clips, set the running order and export one MP4. Everything is encoded and joined on your device.
Why clips with different settings can still be joined
People reach for a merger because a single recording rarely covers the whole story. A finished clip is often several takes, a phone video plus a screen recording, or a set of scenes exported one at a time because the editor only rendered them separately. Joining those files is not the same as stacking them end to end, because players and platforms expect one video track with one set of properties.
A file that is simply concatenated byte by byte keeps the properties of its first segment. If the second segment was recorded at a different resolution, frame rate or audio sample rate, the player meets frames it cannot interpret and the video stutters, freezes or shows no picture at the join. That is the classic failure of a hand-assembled merge: it plays fine for ten seconds and then breaks.
This merger avoids the problem by normalising first. Every clip is decoded and re-encoded to one target frame before anything is joined, and each property a player cares about is written to the same value in that pass.
What gets normalised
| Property | What every clip is set to |
|---|---|
| Resolution | The chosen output frame, which by default comes from the first clip |
| Aspect ratio | Scaled to fit and padded with black bars, never stretched |
| Frame rate | 30 fps |
| Pixel format | yuv420p |
| Video codec | H.264 (libx264, CRF 20, veryfast preset) |
| Audio codec | AAC at 128 kbps |
| Audio sample rate | 48000 Hz |
| Audio channels | Stereo |
Only after every clip carries those same values does the tool join them. The prepared streams are copied into one MP4 with the concat demuxer, which is why the join itself is fast and adds no further encoding loss. The MP4 is also written with its index at the front, so playback can start before the whole file has arrived.
How to merge videos without uploading them
The entire merge happens inside one browser tab, so there is no upload to wait for and no queue to sit in. The workflow has four steps, and two of them are just ordering.
- Add two or more clips. Drop MP4, WebM, MKV, MOV or AVI files into the drop area, or click to browse. The first clip you add decides the output frame on the default setting, so put the one whose size you want to keep at the top. Keep each file under 500 MB.
- Set the running order. Clips are joined from top to bottom. Use the arrows on a clip to move it up or down, and the bin icon to remove it. The merge button stays disabled until at least two clips are in the list.
- Pick an output resolution. Highest quality keeps the resolution of the first clip, while 720p and 480p bring every clip down to a known height.
- Merge and download. The first run downloads the FFmpeg engine, about 30 MB, and then each clip is encoded and joined. A progress bar tracks the work, and the finished MP4 appears with a preview and a download button.
The progress bar is weighted by file count rather than by duration, so the last ten percent is the join itself, which is quick because it only copies streams that are already prepared. When the merge finishes, the panel shows the combined running time and the size of the result before you download it. Your original files are never modified.
Picking the output resolution
There are exactly three output choices, and they behave a little differently from what most people expect.
| Option | What it does | Good for |
|---|---|---|
| Highest quality (default) | Keeps the resolution of the first clip in the list | Merges where every clip is already the same size |
| 720p | Sets the frame height to 720 pixels and takes the width from the first clip's aspect ratio | A smaller file that still looks sharp on a phone or laptop |
| 480p | Sets the frame height to 480 pixels with the same aspect ratio rule | The smallest file, for slow connections and message limits |
Two details are worth knowing before you pick. The width for 720p and 480p is not fixed: it comes from the aspect ratio of the first clip, so a vertical phone clip produces a tall, narrow 720p frame rather than a wide letterboxed one. The frame also acts as a target for scaling in both directions, so a clip that is smaller than the chosen frame is enlarged to fill it rather than left at its original size.
Which one to pick
For most merges of phone or screen recordings, Highest quality is the right default, because the clips already share a size and the only goal is one file. Choose 720p or 480p when the result has to travel: a chat attachment, a slow connection, or a platform with a size cap. Resolution is the only output control this tool exposes, and the encoding quality is fixed at CRF 20 throughout. If the merged file is still larger than you need at 480p, send it through the video compressor afterwards rather than merging again.
What this merger cannot do
A tool that only joins clips is genuinely useful, but it is worth being precise about the jobs it cannot take on. These are the limits that show up in practice.
- It always re-encodes. There is no stream-copy merge, so even two clips that already share the same format are decoded and encoded again. That costs time and a small amount of quality.
- Everything is held in memory in one session. All source clips and their prepared copies stay in the same FFmpeg session until the join finishes, so a long list of large files can exceed the memory a browser tab is allowed. If a merge fails, remove the largest clip and try again.
- There are no audio crossfades. Audio is taken from each clip and laid end to end without a fade in or out, so speech or music can sound abrupt where two clips meet.
- Highest quality follows the first clip. If the first clip is small, later high resolution clips are brought down to it. Put your largest clip first if that matters.
- There are no transitions, titles, subtitles or background music. This is a sequential join, not an edit.
- You cannot trim a clip inside the merger. Each clip contributes its full length, so cut first in the video trimmer and merge the pieces afterwards.
- The output is always MP4 with H.264 video and AAC audio. No other container or codec can be selected.
- Frame rate and audio layout are fixed. Every clip is normalised to 30 fps with stereo 48000 Hz audio, so a 60 fps recording will not stay at 60 fps.
- Each file should stay under 500 MB, and the first run downloads about 30 MB of engine code before any work starts.
Video Trimmer
Cut each clip to the length you want before merging, so the merger never encodes footage you are going to drop.
When a browser merger is not enough
There are three cases where a local merger is the wrong instrument. The first is a project that needs crossfades, colour correction, multiple audio tracks or titles, which is editing rather than joining. The second is footage that must stay bit for bit identical, because this tool re-encodes every clip by design. The third is a very large job, such as joining an hour of camera footage, where the memory a browser tab can use becomes the real constraint.
For everything else, the trade is straightforward: a browser tab gives up some speed and some headroom in exchange for keeping the footage on your machine. Two to six clips of a few hundred megabytes each is the sweet spot for this approach. If your clips are longer than that, trim them down first, then merge.