Join Forge
Free online video joiner. Drop clips in order, pick MP4 or WebM, get one merged file. Runs in your browser. No watermark, no upload, no account.
Join Forge stitches two or more video clips into one continuous output. Drop them in, reorder with the up/down arrows, pick an output size (first clip's dimensions or the largest in the batch), pick how mismatched aspect ratios are handled (letterbox, crop, or stretch), pick MP4 or WebM, keep the audio or strip it. Hit Join. Get one file. All client-side.
"Merge video online" is heavily upload-driven. The free tier caps at three clips, watermarks the output, makes you wait in a queue, and asks for an email. None of that is necessary. Join Forge re-encodes the join in your browser tab through canvas + MediaRecorder. Your clips never leave your machine.
- 01Drop two or more video files (mp4, webm, mov), or click to pick.
- 02Reorder with the ▲ / ▼ buttons next to each clip. Order from top to bottom is the playback order.
- 03Pick Output size: First clip uses the dimensions of clip #1. Largest picks the biggest clip's dimensions so nothing gets downscaled.
- 04Pick Aspect fit: Letterbox preserves every clip's aspect ratio (black bars). Crop fills the frame and crops the excess. Stretch ignores aspect — fastest, ugliest.
- 05Pick Format (MP4 or WebM) and Audio (Keep or Mute).
- 06Click Join. Each clip plays back in real time on a hidden canvas while MediaRecorder captures the output. Wall-clock render time is roughly the sum of all clip durations.
- 07Download. Files save as joined.mp4 or joined.webm.
- Render is real-time per clip, since the canvas captures each frame as the source video plays. A 30-second + 30-second + 30-second join takes ~90 seconds of wall clock.
- Audio routing uses a Web Audio gain chain: only the currently-playing clip's audio is unmuted. The other clips are pre-loaded and their audio sources are wired up at the start of the render, then gated open as their turn comes up.
- Letterbox is the safest aspect mode if your clips have different dimensions. Crop loses content at the edges of the wider clips. Stretch distorts.
- Output is re-encoded, not stream-copied. There's a small generation loss versus a true ffmpeg concat, but the trade-off is that you can mix MP4 + WebM + MOV inputs and get one clean MP4 or WebM out.
- MediaRecorder doesn't ship the absolute strictest H.264 profile. Output should play everywhere modern, but if a target platform is fussy, run the joined.mp4 through Handbrake or ffmpeg to re-encode at their preferred profile.
- Nothing leaves your machine. No upload, no server, no account.
Is Join Forge really free, and does it add a watermark?
Yes, it’s free. No account, no upload, no watermark on the output, ever.
How many clips can I join?
No hard cap. The practical limit is your browser's memory — each clip is loaded fully into memory before render starts. A few minutes of total runtime is comfortable on most machines.
What input and output formats are supported?
Input: mp4, webm, mov, m4v, and most things the browser's <video> element can decode. Output: MP4 (H.264, on Safari + Chrome 122+ + Edge + modern Chromium) or WebM (VP9 / VP8, everywhere including Firefox).
Can I join clips with different resolutions or aspect ratios?
Yes. Pick Output size to set the target dimensions (first clip's, or the largest in the batch). Pick Aspect fit: Letterbox adds black bars to keep every clip undistorted, Crop fills the frame (cropping excess), or Stretch ignores aspect.
Does the audio survive?
Yes, by default. Each clip's audio is routed into the recorder through a Web Audio gain node; only the currently-playing clip's gain is unmuted. Set Audio: Mute if you want a silent output.
Why does the render take so long?
Each clip plays back in real time on a hidden canvas while MediaRecorder captures the frames. There's no shortcut — it's roughly as long as your total clip duration. For a faster, lossless join, use ffmpeg's concat demuxer locally.
Will the output be exactly as crisp as the source?
Close, but re-encoded. Canvas re-encoding goes through MediaRecorder at a 5.5 Mbps target bitrate. For most use cases — social media, devlogs, sharing — visually identical. For mastering footage where every pixel matters, use ffmpeg with -c copy for a stream-copy join.
Where does my video go?
Nowhere. The clips stay in your browser tab. There is no upload and no server processing.
Your AI forgets. Astryke doesn’t.
These tools stay free. Astryke Hub is the one you pay for: a board your coding agent reads at the start of a session and writes back to at the end, so it never opens cold again.
Start free14 days free, no card. Founding price $12 a month after that.