Drop in a cut-out PNG frame and a photo, line it up with zoom, pan and rotate, then download a PNG that keeps real transparency. Nothing to install — this one runs right here in your browser.
Drop a frame and a photo
or use the Add buttons — a transparent PNG becomes the frame automatically
Any PNG with a cut-out — a polaroid, a mockup, a badge, a phone bezel. The tool scans its alpha channel and assigns it to the frame layer on its own, then matches the output ratio to it.
Drag to move, scroll to zoom right at your cursor, rotate, flip, or snap it to fill. Turn on clipping and the photo is trimmed to the frame's transparent hole, anti-aliased edges included.
Pick a ratio and export width, then save. What you see on the canvas is exactly what downloads — at any resolution up to 8192 px wide.
No. The tool is plain JavaScript running in your browser — your files are read locally and drawn onto a canvas on your own device. There is no upload, no server processing and no storage. You can disconnect from the internet after the page loads and it still works.
Yes. The checkerboard you see behind the canvas is a CSS background sitting underneath it, never drawn into the image. Nothing is painted behind your photo unless you tick "Solid background", so the downloaded file carries a genuine alpha channel.
It trims the photo so it only survives inside the frame's cut-out. Useful when your frame has an opaque border you want the photo tucked behind rather than overlapping. Soft and anti-aliased frame edges are preserved.
Anything your browser can decode — PNG, JPEG, WebP, GIF, AVIF and SVG. For the frame layer you want a format that supports transparency, so PNG or WebP.
Only your device's memory. Export width goes up to 8192 px, and the photo is always rendered from the original file, so zooming in doesn't cost you quality.
This free tool is a side project. Our day job is premium, lightweight plugins for static export, menus, SEO and analytics — used on 10,000+ sites.
Browse Our Plugins →