Converter
Change a video's container or codec, or join several files into one — entirely on this device.
On this page
The Converter changes a video's format, or stitches several into one — without exporting anything from cliply first. Find it at Tools → Converter (/dashboard/organization/tools), next to Studio and Offline in the sidebar's Tools group.
It all runs in your browser, on your own machine. There's no upload, no export job, no queue, and no credits spent — the files never leave your device.
One page, two modes.
What you can do
| Mode | What it does |
|---|---|
| Convert files | Pick a ready-made preset — a format that plays everywhere, a lighter file, or the same file with no sound — or go Custom for full control. Works on one file, or several at once. |
| Join files | Append two or more videos into one, in the order you set, with a preset or a shared quality and height. |
How to convert or join
Open the Converter
It's in the sidebar's Tools group, next to Studio and Offline — go to Converter (/dashboard/organization/tools).
Pick a mode and add your files
Choose Convert files to change a video's format, or Join files to combine several into one. Then add videos: drag them anywhere onto the page, or use the Add videos button in the empty panel (once the list has files, the same button in the header reads Add more). Each file is checked as it's added, and any this browser can't read is named right in the list rather than left to fail after you've waited. Anything that isn't a video is left out, and a notice says how many. Each row starts with the file's length, and a join adds them up above the list — the quickest check that you picked the right two halves. A file that doesn't state its length (some browser recordings don't) shows none, and the total is left out rather than printed short.
Pick an output preset
For a convert, choose Plays everywhere (MP4 · H.264 · AAC — a fast copy when the file is already H.264/AAC), Small to send (MP4 · H.264 · 720p at a lower bitrate, always re-encodes), No sound (the audio goes and nothing else changes), or Custom, which reveals Container, Video codec, Quality, Height, Frame rate and Sound — each still defaulting to keeping what the source has. If this browser can't encode H.264, the two H.264 presets are disabled with an explanation and the page falls back to Custom.
For a join, choose As they are (keeps size and quality — matching files copy end to end), Small to send (720p at a lower bitrate), No sound (joins them and leaves the result silent), or Custom (quality, height and sound). Rows are numbered 01, 02… in the order they'll be joined; reorder them with the arrows on each row.
Under Custom, Compress by switches between a Quality level and a number you type. Size asks for the whole file in MB — sound included — and works out the video bitrate from the video's length. It aims a little under, because browser encoders overshoot; it re-encodes the sound at 96 kbps to leave more room for the picture; and it refuses up front when the size is too small for a video that long. Bitrate sets the video bitrate directly, from 0.1 to 100 Mbps. Either one forces a re-encode. For a join, the target size is for the joined file.
Once the list has files, every preset shows what its result would weigh, so you can compare them before waiting on one. A plain figure is a fast copy: it weighs what the source does. ≤ is a target size: the file lands under it. ≈ is a re-encode, and it is an estimate — the encoder spends what the footage asks for, so fast action weighs more than a static wide shot at the same setting, and the real file can differ from the figure by a wide margin. A file that doesn't state its length gets no figure rather than a wrong one. Small to send also looks at the file it was given: it never spends more than half of what the source does per second, so a match that was already light comes out smaller instead of larger.
The figure for the preset you picked also sits just above the run button, as 1.2 GB → ≈ 210 MB with the change as a percentage — the same shape the receipt uses afterwards, and the one place it stays in view while you work through Custom.
Watch the verdict chip on each row — it names the file's codecs the way a camera would (H.264, H.265, VP9, AAC, Opus…) and tells you whether the job will be a Fast copy or a Re-encode; hover it for why. A file that would make the whole batch impossible gets a Blocked chip instead, and the warning in the Output panel names that exact file.
No sound is a whole job rather than a format: it writes the output with no audio track and names nothing else, so every file stays in its own container with its own codecs and comes out in seconds. That matters most on the two files a coach usually has. Plays everywhere pins MP4 and H.264, so on an iPhone's HEVC or a browser recording's VP9 it would re-encode the whole match just to take the bench mic off — minutes or hours for a job that should take seconds.
Leaving a track out is a remux, not a re-encode, so the verdict chip still reads Fast copy. The estimate changes, though: it switches from a plain figure to ≈, because how many bytes the sound was spending isn't in the file's header.
To take the audio off and change the format, you don't need that preset: Plays everywhere and Small to send each reveal a Remove the sound switch inside the card once you pick them, and Custom has the same switch. The switch is part of the job you chose, which is why it sits in the card and not above the list.
Run it
Click the run button — it reads, for example, Convert 3 videos. While it runs you get a percentage, the current file, File 2 of 3, elapsed time, and an estimate of what's left; each row shows Working, Queued, or done, and the browser tab's title shows the percentage too. Settings and the file list are locked for the run.
The job runs in this tab — keep it open. Navigating away inside cliply, closing the tab, or pressing Back now asks you to confirm, because leaving stops the job.
You can still cancel at any point. For a single file, cancelling writes nothing. For a batch, cancel stops the encoder but leaves the files that already finished — the receipt lists them as "Stopped — these were already written."
Get your files
When it finishes, you get a receipt: each output file's name, its size before → after and the percentage change, and the total time — plus Start over (empties the list) and Keep these files (back to the form with the same files). A file that arrived as a download also gets a Save again button on its row: some browsers quietly keep only the first file of a batch, and this hands the rest over without converting anything twice. It works until you leave the receipt.
One output file downloads the normal way. Several output files: your browser asks for a folder to write them into, or falls back to one download per file if it can't. Output files keep the name you gave them, accents and spaces included — only characters a filesystem refuses are replaced. Two outputs never share a name (the second gets -2), and writing into a folder never overwrites an existing file — the new one is suffixed instead, so converting into the source's own folder is safe.
Fast copy vs. re-encode
Every row shows a verdict chip.
- Fast copy — the compressed packets move into the new file untouched. There's no decoding and no re-encoding, so it runs about as fast as your machine can read and write, and no quality is lost at all.
- Re-encode — every frame is decoded and encoded again. Expect minutes rather than seconds, and it's generation loss: re-encoding a video always costs a little quality, even at a high setting.
A convert stays a fast copy when the container you're targeting can carry the source's existing codecs, and nothing else changed. Pick a different video codec, height, frame rate, or quality, and it forces a re-encode — there's no way around it, because those are exactly the things a copy can't touch. VP8 or VP9 video going into MP4 always needs a video codec picked under Custom — it's no longer offered as a fast copy, because most players refuse VP9 inside MP4.
A join stays a fast copy only when every file agrees on: the video codec, the encoder settings behind that codec, the frame size, the rotation, and whether there's an audio track — and, if so, which audio codec, sample rate and channel count (a 44.1 kHz mono phone recording and a 48 kHz stereo camera file are both “AAC”, and are not the same stream). The moment they don't, the panel names exactly which of those differ and re-encodes all of them to a common shape first. Choosing a size or quality on files that would otherwise have copied forces the same re-encode, and says so explicitly rather than silently taking longer.
If some files have audio and others don't, joining forces a re-encode as before — but the result now keeps continuous audio throughout: cliply inserts silence in place of the missing track instead of dropping the sound.
Pick No sound — or set Sound to Remove under Custom — and every item on that audio list stops mattering — no track, a different codec, a different sample rate or channel count — because none of it describes a track the output will carry. A join that would have re-encoded for audio alone copies instead. A difference in the picture — the video codec, the encoder settings behind it, the frame size, or the rotation — still forces a re-encode.
Two files can both say "H.264, 1920×1080" and still not be joinable by copying, because they were encoded with different settings (profile or level, for instance). cliply checks the actual encoder configuration, not just the codec's name — copying one file's frames under another file's configuration produces a broken video with no error message to warn you. So if two files that look identical to you come back "must re-encode," that's not a bug; it's the actual thing that would go wrong if it copied them.
When the files match on everything else but their frame rates differ, the join still copies — and the result has a variable frame rate. Every video player handles that fine; some editing software does not. The panel tells you when this applies.
What cliply can read and produce
cliply reads video files directly in your browser, so what it can open and what it can write both have real limits.
Reading: MP4, MOV, MKV, and WEBM containers are readable. Professional camera codecs — ProRes, DNxHD — can't be read in a browser at all. Those files are listed as unreadable and left out of the job, named right in the list rather than failing after the wait — the desktop app handles them. A file with no video track is rejected outright.
Writing: which codecs you can actually produce depends on your browser, so the codec menu only offers what your browser can encode. Some pairings are off the table regardless of browser: AVC/H.264 can't go inside a WEBM container, but VP9 and VP8 can; AAC can't go inside WEBM, but Opus can.
If this browser can't run these tools at all, the notice tells you to use a current Chrome or Edge on a computer.
If it can't finish
Errors name the actual cause, and say whether anything was already written:
- Out of storage on this device.
- The source file was moved, renamed, or its drive disconnected.
- This browser can't decode that file's video — this is also what you'll see for ProRes and other camera codecs it can't read at all, rather than a message blaming whichever codec you picked.
- No encoder on this browser for the container you asked for.
If the browser can't decode or encode a track — video or audio — the job fails with that reason instead of quietly producing a file with the track missing.
Plan requirements
| Feature | Plan required |
|---|---|
| Converter | Solo and up |
The Converter needs the same plan as cutting clips on your device when you export — Solo and up. It isn't included on the Free plan. It doesn't spend any AI credits either: your browser does the work, not cliply's servers.



