How to add a png or svg logo watermark to a video
- Step 1Open the watermark engine — Go to the watermark engine. It is a Pro tool (Pro from £7/month), so you will see the upgrade overlay on the free tier — Pro unlocks it with a 10 GB per-file ceiling.
- Step 2Drop your video — Drop one video file. The picker accepts
video/*plus.mp4,.mov,.mkv,.webm,.avi,.m4v, and.ts. Whatever the input container, the output is H.264 MP4. - Step 3Add your logo image — Use the Image (PNG / SVG / JPG) row to pick your watermark. PNG with a transparent background is the reliable choice; JPEG works but has no alpha (so it overlays as an opaque rectangle); SVG is accepted by the picker but rasterises through FFmpeg.wasm, so export it to a PNG at target size if you want guaranteed results.
- Step 4Set position and margin — Choose Position from
tl,tr,bl,br(default), orcenter, and set Margin (px) (0–200, default 24). The margin is applied asW-w-margin:H-h-marginstyle offsets for corners; thecenteranchor ignores margin and uses(W-w)/2:(H-h)/2. - Step 5Set opacity and scale — Set Opacity (0–1) (default 0.6) and Scale (0.05–0.5) (default 0.15, a fraction of video width). Values outside the range are clamped: opacity to 0–1, scale to 0.05–0.5.
- Step 6Export and download — Run it. The engine writes both inputs into the FFmpeg.wasm filesystem, runs the overlay filter, and returns a downloadable MP4. Audio is copied through; only the video is re-encoded.
Watermark engine controls
The complete control surface from the tool client. There are no other options — no tiling, no rotation, no text watermark, and no arbitrary X/Y coordinate entry (placement is anchor + margin only).
| Control | Type | Range / values | Default | What it does |
|---|---|---|---|---|
| Image | File picker | image/png, image/svg+xml, image/jpeg | (required) | The watermark source. PNG keeps alpha; JPEG has none; SVG is rasterised by FFmpeg.wasm |
| Position | Select | tl, tr, bl, br, center | br | Which of five anchors the logo snaps to |
| Opacity (0–1) | Number | 0 → 1 (clamped) | 0.6 | Alpha multiplier via colorchannelmixer=aa |
| Scale (0.05–0.5) | Number | 0.05 → 0.5 (clamped) | 0.15 | Logo width as a fraction of video width (iw*scale) |
| Margin (px) | Number | 0 → 200 | 24 | Pixel inset from the edges (ignored for center) |
Encode + output behaviour
What the watermark pass actually produces, taken from runWatermark in the video processor.
| Aspect | Behaviour |
|---|---|
| Video codec | H.264 (libx264), preset medium, CRF 20 — fixed, not user-adjustable |
| Audio | -c:a copy — original audio stream copied through, no re-encode |
| Container | Always .mp4, regardless of the input container |
| Faststart | Not set on watermark output (unlike the web-optimizer tool, which adds +faststart) |
| Watermark aspect | Preserved — scale=iw*scale:-1 sets width by video width and lets height follow the logo's ratio |
| Resolution / frame rate | Unchanged from the source; the overlay does not resize or reframe the video |
Cookbook
Concrete watermark recipes mapped to the real four controls. Each shows the settings and the resulting FFmpeg filter the engine builds.
Standard bottom-right brand badge
The default look: a logo in the bottom-right corner at a comfortable, readable opacity. This is the channel-bug convention most creators expect.
Settings: Image = logo.png (transparent) Position = br Opacity = 0.6 Scale = 0.15 Margin = 24 Filter built: [1:v]format=rgba,colorchannelmixer=aa=0.600,scale=iw*0.150:-1[wm]; [0:v][wm]overlay=W-w-24:H-h-24 Output: out.mp4 (H.264 CRF 20, audio copied)
Subtle centred ghost watermark
For a deterrent that covers the middle of the frame at low opacity so screen-recorders can't crop it out of a corner. Centre ignores margin.
Settings: Position = center Opacity = 0.15 Scale = 0.4 Filter built: [1:v]format=rgba,colorchannelmixer=aa=0.150,scale=iw*0.400:-1[wm]; [0:v][wm]overlay=(W-w)/2:(H-h)/2 The logo sits dead-centre at 40% of video width, 15% opacity.
Tight top-left bug with a small margin
A compact logo hugging the top-left corner — common for news-style lower-third-adjacent branding.
Settings: Position = tl Opacity = 0.8 Scale = 0.08 Margin = 12 Filter built: [1:v]format=rgba,colorchannelmixer=aa=0.800,scale=iw*0.080:-1[wm]; [0:v][wm]overlay=12:12
Why your opacity looks fainter than expected
Opacity multiplies the logo's existing alpha. If you exported your PNG at 70% layer opacity in your design tool and then set opacity 0.6 here, you get ~42% — not 60%.
Logo PNG alpha = 70% (0.70) Engine opacity = 0.6 Effective alpha = 0.70 * 0.60 = 0.42 (42%) Fix: export the PNG at full (100%) layer opacity and let the engine's Opacity control be the single source of truth.
Same logo at the same scale on 720p and 4K
Because scale is a fraction of video width, one setting gives proportional results across resolutions — no per-resolution maths.
Scale = 0.15 1280x720 source -> logo width = 1280 * 0.15 = 192 px 1920x1080 source -> logo width = 1920 * 0.15 = 288 px 3840x2160 source -> logo width = 3840 * 0.15 = 576 px The -1 height keeps the logo's own aspect ratio at every size.
Edge cases and what actually happens
No watermark image selected
RejectedThe engine throws Pick a PNG, SVG, or JPEG watermark image. if the Image row is empty — the watermark file is required before a run can start.
JPEG watermark has no transparency
By designJPEG cannot carry an alpha channel, so a JPEG watermark overlays as a solid rectangle (its background colour included). Opacity still blends the whole rectangle, but you cannot get a clean cut-out shape. Use a transparent PNG for logos.
SVG watermark fails to rasterise
Possible failureThe picker accepts SVG, but FFmpeg.wasm feeds the raw file to libavcodec, whose SVG support is build-dependent — a complex SVG can fail or render blank. If your SVG logo doesn't appear, export it to a PNG at the size you need and re-run.
Opacity or scale out of range
ClampedOpacity is clamped to 0–1 and scale to 0.05–0.5 in code. Entering 2 for opacity behaves as 1.0; entering 0.9 for scale behaves as 0.5 (half the video width).
Logo wider than the video at high scale
ExpectedAt scale 0.5 the logo is half the video width; with a very wide logo and a corner anchor plus large margin, the overlay can extend toward or past the opposite edge. Lower the scale or switch to center if it overflows.
Centre position ignores margin
By designThe center anchor uses (W-w)/2:(H-h)/2 and does not apply the margin value. Margin only affects the four corner anchors.
Output is always MP4
By designWhatever you drop in — MOV, MKV, WEBM, AVI — the watermarked result is an H.264 MP4. The tool re-encodes the video once; it cannot stream-copy the original codec because the overlay must be composited.
Source has no audio track
Supported-c:a copy simply copies whatever audio exists; a silent source produces a silent MP4. No error is raised for missing audio.
Free tier sees the upgrade overlay
Pro requiredThe watermark engine has minTier: pro, so the free tier shows the Pro overlay and cannot run it. Pro (£7/month) unlocks it with a 10 GB per-file limit.
File exceeds the tier size limit
RejectedThe processor checks each file against the tier ceiling (Pro 10 GB, Pro + Media 100 GB, Developer 100 GB per file) and rejects oversized inputs before encoding starts.
Frequently asked questions
What image formats can I use as the watermark?
The picker accepts PNG, SVG, and JPEG (image/png, image/svg+xml, image/jpeg). Transparent PNG is the reliable choice for logos because it carries an alpha channel. JPEG has no transparency, so it overlays as a solid rectangle. SVG is accepted but rasterises through FFmpeg.wasm, whose SVG support is build-dependent — export complex SVGs to PNG for guaranteed results.
Does the watermark scale with my video resolution?
Yes — scale is a fraction of the video's width (iw*scale), not an absolute pixel size. At scale 0.15, a 1920px-wide clip gets a 288px-wide logo and a 1280px clip gets 192px. The logo's height follows its own aspect ratio because the filter uses -1 for height.
Where can I place the watermark?
There are five anchors: top-left (tl), top-right (tr), bottom-left (bl), bottom-right (br, the default), and center. The four corners honour the Margin value as a pixel inset; center places the logo dead-centre and ignores margin. There is no arbitrary X/Y coordinate entry.
How does the opacity control work?
Opacity (0–1, default 0.6) is applied with FFmpeg's colorchannelmixer=aa, which multiplies the watermark's existing alpha. A fully-opaque PNG at opacity 0.6 becomes 60% visible; a PNG that is already 50% transparent becomes ~30%. Export your logo at full opacity and let this control be the single source of truth.
Will it re-encode my audio?
No. The engine uses -c:a copy, so your audio track is stream-copied byte-for-byte with no re-encode and no quality loss. Only the video is re-encoded to apply the overlay.
What codec and quality does the output use?
Always H.264 (libx264) at preset medium, CRF 20, in an MP4 container. CRF and preset are fixed — there is no quality slider on this tool. CRF 20 is visually near-transparent for most content. If you need a different codec or bitrate afterward, run the result through the transcoder.
Does this upload my video anywhere?
No. Compositing runs entirely in your browser tab via FFmpeg.wasm. Both the video and the logo stay on your machine — nothing is uploaded, stored, or transmitted.
Can I add a text watermark instead of an image?
Not directly — this tool overlays an image. To watermark with text, render your text to a transparent PNG in any design tool first, then use it as the watermark image here.
Can I tile the watermark across the whole frame?
No — the engine places a single watermark at one anchor. For broad anti-crop coverage, use the center anchor with a large scale (up to 0.5) and low opacity. There is no repeat/tile option.
Does it add faststart for web streaming?
No — the watermark pass does not set +faststart. If you need progressive web playback (moov atom at the front), run the watermarked MP4 through the web optimizer afterward.
What's the largest video I can watermark?
It depends on your tier: Pro allows 10 GB per file, Pro + Media 100 GB, Developer 100 GB. There is no duration cap — only file size and batch count are limited. The free tier cannot run this Pro tool.
I need to watermark several videos at once — how?
Drop more than one video and the client switches to batch mode (your tier's batch limit permitting: Pro 5, Pro + Media 50, Developer unlimited), applying the same logo and settings to each file in sequence. See the batch watermark guide for the full workflow.
Privacy first
Every JAD Video tool runs entirely in your browser via WebCodecs and FFmpeg (WebAssembly). Your video files never leave your device — verified by zero outbound network requests during processing.