Loop a GIF over the whole clip · Place anywhere · Size, opacity, rotation · Show only between two times — 100% local, no upload
Drop a base video, add a GIF, image or a second video on top, and place it exactly where you want. Loop the overlay for the entire clip, or make it appear only between two timecodes. Control position, size, opacity, rotation and margins, then re-encode everything in your browser with the Canvas and MediaRecorder APIs — your files never leave your device.
Drop a base video here or click to browse
MP4 · WebM · MOV · Processed locally, never uploaded
Fast mode encodes much quicker than real time. Audio re-encoding isn't supported in this browser, so the fast render will be silent — use real-time mode to keep sound.
Add an overlay (GIF, image or video) to render — otherwise the base video is re-encoded unchanged.
This tool composites two layers in your browser. The base video is the background; the overlay — an animated GIF, a transparent PNG/WebP, or a second video — is drawn on top of every frame. To loop a GIF over the whole clip, just add it and leave the timing on Whole video: an animated GIF replays on its own and a looping video overlay restarts until the footage ends. Use the nine anchor positions plus a margin to drop it neatly in a corner, or switch to Custom for pixel-accurate placement by percentage.
When you only want the overlay during part of the clip, set Show overlay to Between two times and type the appear/disappear seconds — handy for a reaction GIF that pops in for a few seconds, a logo shown only during the intro, or a subscribe sticker at the end. Size is set as a percentage of the video width or height so the overlay scales with any resolution, and Opacity, Rotation and an optional Fade in / out let you blend it cleanly. Everything is re-encoded locally with the Canvas and MediaRecorder APIs, so nothing is uploaded and there is no watermark.
Yes. The GIF is loaded into a live image element, so each rendered frame captures its current animation frame. The motion is baked into the output video and keeps looping for as long as the overlay is visible.
Yes. Transparent PNG and WebP overlays are drawn with their alpha channel, so only the visible part covers the footage. This is how logos, stickers and watermarks sit cleanly over a video.
Yes. Load a base video, add a second video as the overlay, and size it down to a corner for a picture-in-picture effect — for example a webcam clip over gameplay. You can keep or mute the overlay's audio.
The output is recorded in real time from the canvas, so a one-minute video takes roughly a minute to encode at 1× speed. Turn audio off and switch to 2× or 4× to render faster.
No. Both files are read locally with blob URLs and composited in your browser. Nothing is sent to a server, so it also works offline once the page has loaded.