How to Merge Videos Online Free and Join Clips Into One Video

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.

Open the merger

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

PropertyWhat every clip is set to
ResolutionThe chosen output frame, which by default comes from the first clip
Aspect ratioScaled to fit and padded with black bars, never stretched
Frame rate30 fps
Pixel formatyuv420p
Video codecH.264 (libx264, CRF 20, veryfast preset)
Audio codecAAC at 128 kbps
Audio sample rate48000 Hz
Audio channelsStereo

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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.

OptionWhat it doesGood for
Highest quality (default)Keeps the resolution of the first clip in the listMerges where every clip is already the same size
720pSets the frame height to 720 pixels and takes the width from the first clip's aspect ratioA smaller file that still looks sharp on a phone or laptop
480pSets the frame height to 480 pixels with the same aspect ratio ruleThe 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.

Open the trimmer

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.

Frequently asked questions

It is safe when the merger runs in your browser, because the clips are never sent anywhere. This tool is FFmpeg compiled to WebAssembly, so your files are read from disk into the page, re-encoded and joined inside the tab, and the merged MP4 is handed back to you as a download. There is no upload step, no server, no queue and no account. That matters because the clips people merge are often the ones they would rather not hand over: internal screen recordings, client footage, family videos or files still under an embargo. You can verify it yourself by opening your browser developer tools, switching to the Network panel and watching that no request carries a video while the merge runs. The one thing that is downloaded is the encoding engine, about 30 MB on the first run, which is code and not your footage.
Yes. A merger re-encodes every clip to a single set of settings before it joins them, and that is not a shortcut it takes: it is the only way clips from different sources can play as one continuous file. In this tool each clip is scaled to the chosen frame, padded with black bars instead of stretched, converted to H.264 at a fixed quality level, forced to 30 frames per second and given AAC stereo audio at 48 kHz. Once every clip matches, the prepared streams are copied into one MP4 without a second encode. The cost is generation loss: each clip is decoded and encoded again, so a clip that was already compressed loses a little quality. It also makes merging slower than trimming, because the work is proportional to how many clips you add. A two-clip merge is two encodes, and a ten-clip merge is ten.
Yes, you can, and this is exactly where a local merger earns its keep. Clips that do not match the output frame are scaled down to fit and centred with black padding, so nothing is stretched out of shape, which means a landscape screen recording and a portrait phone clip can sit in the same video. The catch is which frame they are fitted to. On the default Highest quality setting the output takes the resolution of the first clip in the list, so if clip one is 640 by 360, a 1080p clip added later is brought down to that smaller frame. Put your sharpest or largest clip first if you want to keep its size, or choose 720p or 480p to bring everything to a known size on purpose. Either way, the aspect ratio of the first clip decides the shape of the result.
Because every clip is re-encoded once, and the encoding runs on your own computer rather than on a server farm. A trim in stream copy mode just moves bytes around, while a merge has to decode each clip, resize it, re-encode it as H.264 and re-encode its audio, then join the results. The work scales with the number and size of the clips you add, so a two-clip merge of short phone videos feels quick while six long recordings will keep the tab busy for a while. Browsers also hold everything in memory here, and this tool keeps all source clips and their prepared copies in the same session until the join finishes. Merging fewer, shorter clips is the most reliable way to avoid a failure on a modest machine. If a merge does fail, the usual fix is to remove the largest clip and try again.
You can add MP4, WebM, MKV, MOV and AVI files, and the list can mix all five in a single merge. What you get back is always an MP4 with H.264 video and AAC audio. That output is the safest combination for phones, browsers, editing apps and social platforms, but it is not configurable, so you cannot ask this tool for a WebM or MKV file or for a different codec. The reason the input list is so wide is the normalisation step: because every clip is re-encoded to the same settings first, the original container and codec do not have to match. If a clip is in a container the browser cannot read, or is damaged, the merge stops and names the file, and converting that clip to MP4 first usually fixes it. An MKV holding a codec the browser cannot decode is the usual candidate for that error.

Merge your clips into one video

Free, private and unlimited. No account needed.

Open Video Merger