Video Joiner
Join several clips into one file, in the order you choose. Runs in your browser, nothing is uploaded.
Everything runs in your browser. Your clips are never uploaded, and nothing is stored.
How to use it
Drop two or more clips onto the box, or tap it to pick them. Add more at any point and they go on the end. Use Up and Down to set the order before joining. The number in front of each file is the order it will appear in the finished video. If the clips came from the same source they are stitched by copying the streams, which is near instant and loses no quality. If they differ in size, codec or frame rate the tool re-encodes instead, which is much slower but still works. The first run downloads a 31 MB engine. That happens once and is then cached.
Questions
Are my videos uploaded anywhere?
No. The joining happens inside your browser using a WebAssembly build of ffmpeg. The files never leave your device, which is why there is no size limit and no sign-up.
Why was one join instant and another slow?
Clips that share a codec, resolution and frame rate can simply be copied end to end. Anything else has to be re-encoded frame by frame, and that takes real time.
Does joining lose quality?
Not in copy mode, where the original streams are passed through untouched. In re-encode mode there is a small loss, as with any re-encode.
How many clips can I join?
No limit is set, but everything is held in memory. A phone will struggle once the total gets past a gigabyte or so, so work in batches if that happens.
Can I reorder the clips?
Yes. Use the Up and Down buttons on each row. The order shown is the order they will play in the finished file.