How the Video Watermark Tool Works
AnyTool watermarks video entirely in the browser using a self-hosted single-threaded ffmpeg.wasm engine — the core (ffmpeg-core.js + the 32 MB wasm) is bundled from npm and served as a same-origin asset, so nothing is fetched from a CDN. The watermark is composited first on a transparent HTML canvas: either text rendered with your chosen font, color and outline, or an uploaded logo, then positioned (corner/center), tiled or scaled and set to a chosen opacity. A live canvas preview lets you place it without re-encoding. When you export, that canvas is saved to a PNG, written to ffmpeg's virtual filesystem (MEMFS) alongside the video, and burned in with the overlay filter; the original audio is passed through and the result is re-encoded to H.264/AAC and read back as an MP4 blob. Single-threaded is deliberate: the multi-threaded core needs SharedArrayBuffer + cross-origin isolation (COOP/COEP), which would block cross-origin ad iframes.
- Runs client-side — the video is never uploaded
- Self-hosted ffmpeg core (bundled) — no CDN
- Watermark drawn on a transparent canvas, exported to PNG
- Text (font/color/outline) or uploaded logo; position/tile/opacity
- Burned in with the ffmpeg overlay filter; audio passed through
- Live canvas preview avoids re-encoding to check placement
- H.264/AAC MP4; no backend, no signup, no size cap
