GIF Overlay
Overlay one animated GIF on top of another (or on a photo, or a photo on a GIF) — drag it into place, pick its size and opacity, then download the result. Runs entirely in your browser; nothing is uploaded.
Input
Result
Upload a base image or GIF and the overlay image or GIF, then drag it into place on the preview. The result updates live as you adjust position, size and opacity — everything runs in your browser, nothing is uploaded.
Also available with
Guides
Overlay one animated GIF on top of another — or a GIF on a photo, or a photo on a GIF — then pick where it sits, how big it is, and how transparent it is. Everything runs in your browser; nothing is uploaded to a server.
How to use it
- Upload the base image or animated GIF.
- Upload the overlay — another animated GIF, or a static image (PNG with transparency works best for a logo/sticker).
- Drag the overlay on the live preview to position it (or focus it and use the arrow keys), then adjust its size (as a percentage of the frame width) and opacity.
- The result updates automatically as you go — download it whenever you're happy with it.
What happens when both files are animated?
The base GIF's own frame timing drives the output. At each of its frames, the overlay GIF's frames are sampled at that same point in time — looping independently if the overlay is shorter than the base, or getting cut short if it's longer — so the two animations play back together without needing matching frame counts or speeds.
What if only one file is animated?
Whichever one is animated drives the output timeline: an animated overlay on a static photo produces an animated GIF (the photo held as a still background behind the overlay's frames); an animated base with a static overlay image works like a watermark, redrawn identically on every frame. If neither file is animated, the result is a single composited image (PNG).
Is my file uploaded anywhere?
No. Images are composited directly with the Canvas API, and GIFs are decoded and re-encoded with client-side libraries (gifuct-js/gifenc) — nothing you upload ever leaves your browser.
Looking for other GIF edits? Add Image to GIF burns a single static logo/watermark onto every frame instead, Add Text to GIF burns in a text caption, and GIF Editor resizes, crops, rotates, or reverses a GIF — run any of them before or after overlaying.