AntiUpload// browser-resident file tools
ENESFRPTDE
SESSION · 
← Back to home

Auto-normalises mixed sources · Free · No watermark · No upload

Video Joiner

Combine two or more videos into one — every input gets normalised to a common resolution and frame rate, then concatenated end-to-end.

100% freeNo file size limitNo watermarkNo sign-up
  1. 1Pick files
  2. 2Configure
  3. 3Download
Pick 2+ files. They concatenate in file-picker order (usually alphabetical). Mixed resolutions / frame rates / containers OK — the tool normalises every input before joining.
  • Files never leave your browser — processed entirely on your device
  • No upload, no queue, no waiting for a worker to free up
  • No file-size cap from us — limit is your device's RAM

About Video Joiner

AntiUpload's Video Joiner concatenates multiple video files into a single output. Drop in 2 or more clips, pick landscape or portrait output orientation, and the tool normalises every input to a common 1080×1920 (portrait) or 1920×1080 (landscape) frame, normalises the frame rate to 30 fps, resamples audio to 44.1 kHz stereo, then concats the lot into one MP4. The normalisation step is the unsung hero — FFmpeg's concat filter requires every input to share frame size, sample aspect ratio, pixel format, frame rate, sample rate, and channel layout, otherwise the filter errors with a cryptic "input link parameters do not match output link parameters" message. Most online joiners hit this wall constantly because users feed them mixed-source content (one clip from a phone, one from a screen recorder, one from a downloaded YouTube — all different specs).

Practical use cases: stitching back-to-back phone recordings into one continuous clip, joining intro + main + outro segments for a YouTube upload, combining B-roll shots for a video edit, building a compilation reel from multiple sources. Most of these workflows would otherwise require opening a desktop editor (DaVinci Resolve, Final Cut, Premiere) which is overkill for a simple concat. Online competitors (Kapwing, Veed, Clideo, Online-Convert) all have file-size limits on free tiers and most watermark the output; ours doesn't.

V1 ships single-pass re-encode (every input gets normalised and re-encoded for the join). A stream-copy fast path — when all inputs already share codec / resolution / fps, FFmpeg can re-mux them without re-encoding, 5-10× faster — ships in a follow-up PR. For matched-source content (clips recorded back-to-back on the same phone) the speedup would be meaningful. For the dominant mixed-source case the re-encode is unavoidable, so V1 ships the always-correct path first.

How it works

  1. Drop 2 or more video filesPick all your clips at once (Shift-click or Ctrl-click). They concatenate in the order they appear in the picker — usually alphabetical. Accepts MP4, MOV, WebM, MKV, AVI, M4V, FLV — even mixed within the same join.
  2. Pick orientationLandscape (1920×1080) for YouTube / desktop content. Portrait (1080×1920) for TikTok / Reels / Shorts. All inputs get letterboxed to fit the target dimensions if they don't match.
  3. Click Join videosRe-encoding runs through libx264 at the chosen resolution + 30 fps + AAC 128k. Progress shows live frame= updates. Output time is roughly the sum of input durations × re-encode time per frame.
  4. Download the joined fileOutput is a single MP4 with the H.264 + AAC + faststart profile that plays on every browser, phone, and TV.

When to use Video Joiner

Combining back-to-back phone clips into one continuous video
Phones split long recordings into 4 GB chunks. Re-joining the chunks is the headline use case — drop them all in, pick the source's orientation, get one continuous file out.
Building a YouTube upload from intro + main + outro segments
Many creators record the intro, main content, and outro separately to allow re-takes. Join the three into one MP4 for upload. Add fades at the segment boundaries with our Video Trimmer first if you want professional polish.
Creating a compilation reel from multiple sources
Highlight reels from event recordings, drone shots from multiple locations, B-roll compiled from a phone + GoPro + DSLR. The auto-normalisation handles mixed sources cleanly where most online tools fail.
Joining screen recordings into a tutorial video
Tutorials recorded as separate steps (intro, demo 1, demo 2, conclusion) join into one continuous video for sharing. All clips normalise to your chosen orientation regardless of how the original screen recorder captured them.
Re-joining a video that was split for upload
Some platforms reject videos over X minutes / Y GB. Splitting for upload is common; re-joining locally after download is the inverse operation. Free and unwatermarked here.

Frequently asked questions

How to merge MP4 videos online for free?
Drop 2+ MP4 files into AntiUpload Video Joiner, pick orientation, click Join. No watermark, no upload, no size cap. Compare to Kapwing (watermarks free), Veed (paywalls multi-clip join), Online-Convert (50 MB upload cap per file + watermark on free).
Can I join videos with different resolutions and frame rates?
Yes — that's the headline feature. Every input gets normalised to a common 1080p frame size and 30 fps before joining. Without this normalisation step, FFmpeg's concat filter would error out on mixed-source content (which is most real-world joins). The trade-off: every input is re-encoded, so the join takes proportional time.
Best no-watermark video joiner / merger?
AntiUpload Video Joiner — no watermark, no signup, no upload, no size cap. The reason: joining runs in your browser, so we have no server-side cost to charge for. The 1080p output, AAC audio, +faststart mp4 muxer flag produce universally-playable result.
Why does joining take so long?
Every input is re-encoded with libx264 at the target resolution + frame rate + audio sample rate. Re-encoding 4 minutes of HD video at WASM libx264 speed takes ~2-5 minutes on a modern laptop. The total join time is roughly the sum of all input durations times re-encode time per minute. A stream-copy fast path for matched-source content ships in a follow-up.
How do I add crossfade transitions between clips?
Not yet — V1 joins clips with hard cuts. Crossfade transitions between joined clips are on the roadmap (the audio-joiner has it already; we'll port the same UX to video-joiner). For now, if you need fades, trim each clip with fade-in/fade-out using our Video Trimmer first, then join.
Will joining vertical and horizontal clips look weird?
Yes — mixed orientations look odd. The tool letterboxes each input into the chosen output orientation, so a horizontal clip in a portrait join shows with huge black bars top and bottom. For best results pick the orientation that matches the majority of your inputs.
Does it work for audio-only files?
No — this is a video tool. For audio concatenation use our Audio Joiner, which has the same orientation-agnostic normalisation for sample rates + channel layouts, plus optional crossfade and silence-gap transitions between clips.

Related tools