Join multiple videos into one — instant stream-copy concat or full normalize to MP4. 100% in-browser.
Drop two or more videos, arrange the order, and join them into one file
Video merging runs entirely in your browser using ffmpeg.wasm. Your video files are never uploaded to any server.
ffmpeg's concat demuxer reads a playlist file and stitches the clips end-to-end. In fast mode (-c copy) the compressed packets of every clip are copied verbatim into the output — instant and lossless, but only reliable when all clips share the same codec, resolution, and container (typical for segments recorded by one device). Precise mode decodes every clip and re-encodes to a normalized H.264/AAC MP4, which also fixes mixed sources — different phones, screen recordings, or downloads — at the cost of processing time (roughly 0.2× real-time in WebAssembly).
The concat demuxer splices clips at the packet level. Copy keeps bytes identical; normalize decodes and re-encodes everything to one standard.
Ana records a tutorial in three OBS segments and wants one continuous MP4 for her course.
Join multiple videos into one: lossless concat or normalized MP4. Everything runs locally; nothing is uploaded.
FreeToolHub Video Merger is a free browser-based tool — join multiple videos into one: lossless concat or normalized MP4. No signup, no upload; everything runs locally in your browser.
Join multiple videos into one: lossless concat or normalized MP4. In-browser, free.
The Video Merger joins two or more video files end-to-end in the order you choose. It offers ffmpeg's concat demuxer in two flavors: an instant lossless stream copy for same-codec sources, and a full re-encode that normalizes mixed sources into one universal MP4. A live queue shows each clip's size and duration, and the total is computed as clips are added. All processing happens locally in your browser.
Drop your clips (or click to browse — multiple selection is supported), arrange them with the up and down buttons, and pick a merge mode. Fast is instant for matching sources; Precise handles anything but takes a few minutes per minute of video. Click Merge and download the result.
Two clips can only be joined without re-encoding when their streams match: same codec, resolution, frame rate, and audio parameters - the merged file is then just both streams laid end to end, seconds of work and zero quality cost. When they differ, the merger must decode both, scale and pad to a common canvas, and re-encode once. Matching sources before merging beats fixing mismatches after: clips shot on the same device in the same mode concat instantly, while a phone portrait clip and a landscape clip force a framing decision (crop, pad, or rotate) that no algorithm can make for you.
Fast mode stream-copies the clips without re-encoding — it is instant and lossless, and works when every clip comes from the same device or export profile (same codec, resolution, and container). Precise mode decodes and re-encodes everything into one H.264/AAC MP4, which is the safe choice for mixed sources like phone clips plus screen recordings.
Stream copy requires compatible codecs across all clips. Mixed containers (MP4 + WebM) or different resolutions usually break it. Switch to Precise mode — it normalizes every clip and always produces a playable MP4.
No. Merging runs entirely in your browser with ffmpeg.wasm. Your files never leave your device, and the tool works offline once the encoder has loaded.
Because of re-encoding. When both clips share codec and parameters, the merger stream-copies them together - nearly instant. When they differ (different resolutions, frame rates, or codecs), every frame must be decoded, possibly rescaled, and re-encoded, which runs at a fraction of playback speed. Filming all segments in one session on one device usually means the fast path; mixing phone footage with screen recordings never does.
One of three things must happen: scale the smaller up (soft), scale the larger down (sharp but smaller), or pad one to fit with bars. The merger normalizes to a common canvas so playback never stutters mid-file. Choose the target by your dominant source - if most clips are 1080p, upscaling a stray 720p clip slightly beats downscaling everything else. Mixed portrait and landscape is the hardest case and usually deserves cropping before merge.
Matching clips: no re-encode, bit-identical quality. Mismatched clips: one encode generation - visible only at low output bitrates or after repeated edits. The practical rule is to keep your sources untouched, merge once, and give the output a generous bitrate; every additional save cycle re-encodes again, so a merge-export-upload pipeline should each happen once, never loop.
Clips join in the order listed, and reordering before merging is the whole point - drag or move entries in the list until the sequence is right, then merge once. There is no reordering inside the merged output without splitting it again. Build the sequence deliberately: a merge of a 20-clip montage ordered wrong costs one full re-merge to fix, which with re-encoding means another processing pass over every frame.
What do you call a nosy pepper?
No signups, no data sold. Every tool is free to use — the free tier allows 5 downloads or saves per day, and the optional Pro plan ($7/mo, $59/yr) adds unlimited downloads, batch processing, white-label exports and an ad-free experience.
☕Support me on Ko-fi— support the free tier100% of proceeds go towards hosting & building more free tools.