Skip to content

Merge videos into one file

Join clips into one video with drag-to-reorder. Matching clips are concatenated losslessly; mismatched ones are normalised. No count or size cap.

  • Runs in your browser
  • Files are never uploaded
  • Free, no account
Drop two or more videos hereThey are joined in the order shown below — drag to rearrange. Nothing is uploaded.MP4, MOV, M4V, MKV, WEBM, AVI, MPG, MPEG, 3GP, OGV, TS, FLV · up to 4096 MB each

First use downloads the 10 MB video engine from this site. After that it is cached and works offline. It is WebAssembly served from onthisdevice.com — no third-party CDN — and your file is still processed entirely on your own device.

Two ways to join videos, and why it matters which one runs

Joining video is one of those jobs that looks trivial and is not. There are two entirely different mechanisms, and most tools use one of them without telling you, which is why merged files so often come out with the audio drifting or the second clip missing.

Concat demuxer (copy) Concat filter (re-encode)
Requirement Every clip has the same codec, resolution and audio format None — anything can be joined
What happens Compressed packets are stapled together and re-indexed Everything is decoded, normalised and encoded once
Speed Seconds, even for gigabytes Around real time for the whole running length
Quality Identical to the sources One generation of H.264 loss

This page inspects every clip before it commits, chooses the better of the two automatically, and then tells you which one ran and why — including a table listing each clip’s codec, resolution and length as FFmpeg reported them.

What makes clips "matching"

Clips from the same camera, the same phone, or the same export preset almost always match, and those merges are effectively instant. Mixing sources rarely does. The usual mismatches are:

  • Different resolutions — a 4K phone clip and a 1080p screen recording.
  • Different codecs — an H.264 MP4 and a VP9 WebM.
  • Different audio — AAC in one file, Opus in another, or one clip with no audio at all.
  • Different frame rates — 30 fps and 60 fps, or variable-frame-rate phone footage.

On the re-encode path every clip is scaled to fit the largest frame size in the set and padded with black rather than stretched, so nobody in the footage ends up distorted, and everything is normalised to 30 fps with a single AAC soundtrack.

The silent-clip trap

When one clip in a set has no audio track, naive concatenation produces a file where the sound runs ahead of the picture from that point on — the classic broken merge. This tool generates silence of exactly the right length for any soundless clip, so the two streams stay the same length and everything after the gap stays in sync.

Ordering

The clips are joined top to bottom in the list. Drag any row to move it, or use the arrow buttons on each row, which is the keyboard-accessible path. Files are added in the order you dropped them, and dropping more later appends them rather than replacing what is there.

How many, and how big

There is no cap on the number of clips and no size limit written into the tool — the ceiling is your device’s memory, since the inputs and the output all live in this tab. For very large sets it is easier on memory to merge in groups of a few and then merge the results. Compare that with the usual online video joiners: file count limits on the free tier, a watermark burned into the export, and every clip uploaded before anything happens.

Before you merge

If some clips need trimming first, trim video cuts without re-encoding. If one clip is a different shape from the rest, cropping it to match with crop video beforehand keeps the merge on the fast path. And if the merged result needs to fit an upload limit, run it through compress video afterwards.

Questions

Why are some merges instant and others slow?

If every clip has the same codec, the same resolution and the same kind of audio — which is the norm when they came off one camera or one phone — FFmpeg can staple the packets together without decoding anything. Mix a 4K phone clip with a 720p screen recording and there is no shortcut: everything has to be scaled to one size and re-encoded.

What happens to clips of different shapes?

They are scaled to fit the largest frame size in the set and padded with black rather than stretched, so nobody ends up distorted. The page lists every clip with its codec and resolution so you can see what it found before it commits.

One of my clips has no sound. Does that break the merge?

No. Silence of exactly the right length is generated for that clip, so the audio stays lined up with the picture for everything after it. Without that step the soundtrack would run ahead of the video — the classic broken-concatenation symptom.

How many videos can I join?

As many as your device can hold in memory at once. There is no ten-file cap and no premium tier, because there is no server bearing the cost. For very large sets, merging in batches of a few and then merging the results is easier on memory.

Can I reorder the clips?

Drag any row into place, or use the arrow buttons on each row for keyboard-only reordering. The final video follows the order shown in the list, top to bottom.