Free Video Merger
Video Merger joins several video or audio files into one, in the order you choose, with optional per-clip trimming. Clips of different sizes get colored bars instead of stretching, sound stays in sync, and the output is an H.264 MP4 or VP9 WebM. When every file is audio, it outputs MP3, M4A or WAV.
- Video output:
- H.264 MP4 or VP9 WebM
- Audio only:
- MP3, M4A or WAV
- Max size:
- 3840 px per side
- Price:
- Free
- Runs:
- Locally, in your browser
- Uploads:
- None: files never leave your device
- Account:
- Not needed
Quick answers
Can I merge videos with different sizes?
Yes. Every clip is fitted inside the output frame without stretching; the empty space is filled with bars in the color you choose.
What happens to clips without sound?
They get silence of the same length, so the sound of the following clips stays in sync.
Processed on your device: your files are never uploaded. How it works
Network activity in this tab
What this page has requested since you opened the site in this tab. An upload is any request that sends data: POST, PUT, PATCH or a request with a body.
No uploads: nothing has been sent from this page.
No network requests yet.
To see every request, open your browser's developer tools (Network tab).
How to use the Video Merger
- Drop two or more videos or audio files; they appear in a list with a thumbnail and length.
- Drag the handles (or use the keyboard) to set the order, remove clips, or open Trim to keep only part of a clip.
- Choose MP4 or WebM, the output size, frame rate, bar color and quality (or the audio format when all clips are audio).
- Press Merge, follow the progress, then preview and download the joined file.
Credits & open source
Our own code plus open-source libraries. Thank you to the people who make these projects.
- MediabunnyReads, writes and converts media files with WebCodecs (MP4, WebM, MKV, MOV, MP3, WAV, Ogg...). © Vanilagy and contributors · MPL-2.0
- dnd kitAccessible drag-and-drop reordering (mouse, touch and keyboard). © Claudéric Demers · MIT
- lamejsMP3 encoder (port of LAME), loaded as a separate unmodified chunk. © LAME project; JavaScript port by Alex Zhukov; ESM fork by Breezystack · LGPL-3.0
Web platform APIs used: WebCodecs, Canvas 2D, Pointer Events, Keyboard Events, File API, localStorage.
Full license texts: third-party notices · all credits
Frequently asked questions
Can I join MP3 files?
Yes. When all the files are audio, the result is a single MP3, M4A or WAV file.
Are my files uploaded?
No. Decoding, joining and encoding all happen in your browser.