User Rating 0.0
Total Usage 0 times
Drop video here or browse MP4, WebM, OGG — up to 500 MB
Is this tool helpful?

Your feedback helps us improve.

About

Unprotected video content gets redistributed without attribution. A watermark embeds ownership information directly into the pixel data of every frame, making removal non-trivial. This tool composites your watermark - either a text string rendered with configurable font properties or a raster image - onto each frame of the source video using the Canvas 2D rendering context. The output is encoded client-side via the MediaRecorder API into WebM format. All processing occurs in your browser; no frames leave your machine.

The compositing respects α (alpha/opacity) values you set, blending the watermark layer over the video layer per the standard Porter-Duff "source-over" operation. Position is mapped to a 3×3 anchor grid with pixel-level offset control. Note: output is constrained to codecs your browser's MediaRecorder supports - typically VP8/VP9 in WebM. Audio is muxed from the original source. Processing time scales linearly with frame count: a 60-second video at 30 fps requires compositing 1800 frames.

video watermark add watermark text overlay video video editor watermark tool video branding copyright video

Formulas

Each output frame is produced by the Porter-Duff source-over compositing operation. For each pixel, the result color Cout is computed as:

Cout = αw Cw + (1 αw) Cv

where Cw = watermark pixel color, Cv = video frame pixel color, and αw = watermark opacity (0 to 1).

For tiled mode, watermark instances are placed at grid coordinates:

(xi, yj) = (i s, j s)

where s = tile spacing in pixels, i {0, 1, …, ⌊Ws⌋} and j {0, 1, …, ⌊Hs⌋}. W and H are the canvas (video) width and height.

Rotation transforms the canvas context by angle θ (in radians) around the watermark anchor point before drawing. Total processing time T approximates:

T N tframe

where N = duration × fps (total frames) and tframe is the per-frame composite time (typically 2 - 15 ms depending on resolution).

Reference Data

Watermark PropertyRange / OptionsDefaultEffect on Output
Text Content1 - 200 characters© Your NameRendered string overlaid on each frame
Font Size8 - 120 px32 pxLarger text increases visibility but occludes more content
Opacity (α)0.05 - 1.00.35Lower values make watermark subtle; higher values deter removal
Rotation−180° to 180°−30°Diagonal text is harder to crop or clone-stamp out
ColorAny hex color#FFFFFFWhite with opacity works on most footage; dark for light scenes
Position9-point gridBottom-rightCorner placement minimizes content obstruction
Tile ModeOn / OffOffRepeats watermark across entire frame - maximum protection
Tile Spacing50 - 400 px150 pxGap between repeated watermark instances in tile mode
Image WatermarkPNG / SVG / JPEG / WebPNoneLogo overlay instead of text; respects alpha channel of source image
Image Scale5 - 100%20%Percentage of video width occupied by watermark image
Output FormatWebM (VP8/VP9)WebMBrowser-native encoding; no external codecs required
Output Bitrate1 - 20 Mbps5 MbpsHigher bitrate preserves quality but increases file size
Max File Size500 MB - Browser memory constraint; larger files may cause tab crash
Supported InputMP4, WebM, OGG, MOV - Codec support depends on browser (H.264, VP8/9, Theora)

Frequently Asked Questions

The MediaRecorder API, which handles client-side video encoding, only supports codecs the browser natively implements. All major browsers support VP8/VP9 in WebM containers. MP4 (H.264) encoding is not exposed through MediaRecorder in most browsers due to licensing constraints. If you need MP4 output, you can convert the WebM file using a desktop tool like FFmpeg or HandBrake after export.
Yes. The watermark is burned into the pixel data of every frame - it is not metadata or a removable overlay layer. Re-encoding, transcoding, or compressing the video will not remove it. However, aggressive cropping could remove corner-placed watermarks, which is why the tile mode exists: it distributes watermarks across the entire frame, making removal impractical without degrading the content.
The audio track from the original video is captured via the video element's audio output and muxed into the MediaRecorder stream alongside the canvas video track. Audio quality depends on the browser's MediaRecorder implementation. If the source video has no audio, the output will also be silent. Multiple audio tracks are not supported - only the default track is captured.
The watermark is drawn with the canvas context's globalAlpha set to your configured opacity value α. White text (#FFFFFF) at α = 0.35 works well over dark or mid-tone footage. For bright or white-background footage, use dark text (#000000) or reduce opacity further to α = 0.15-0.25. If your footage varies, a mid-gray (#808080) at α = 0.3 provides consistent visibility across both light and dark scenes.
Each frame must be individually decoded, drawn to canvas with the watermark composited, and then re-encoded. A 1080p 60-second video at 30 fps contains 1800 frames, each at 1920×1080 pixels. The canvas drawImage and text rendering operations are GPU-accelerated but still bound by the sequential frame-seeking approach required for accurate output. Reducing output bitrate or using shorter clips will speed up processing. Browser tab must remain focused - background tabs may be throttled.
Yes. Upload a PNG with an alpha channel using the image watermark option. The transparency in the PNG is preserved during compositing - only non-transparent pixels appear on the video. The image is scaled relative to the video width (configurable from 5% to 100%). SVG, JPEG, and WebP images are also supported, but only PNG and WebP carry alpha channel data for true transparency.