FFmpeg recipe

FFmpeg: Add an Image Watermark / Logo to a Video

overlay places one input on top of another. Use a transparent PNG and offset 10 px from the corner for a clean watermark.

Command

ffmpeg -i input.mp4 -i logo.png -filter_complex "[0:v][1:v]overlay=W-w-10:H-h-10" -c:v libx264 -crf 23 -c:a copy -y output.mp4
Prefer no terminal?
Use the Watermark in your browser
Open Watermark

What each flag does

-iInput file. Can be a video, audio, or image. Repeat for multiple inputs.
-c:vVideo codec for output. e.g. libx264, libx265, libvpx-vp9.
-crfConstant Rate Factor — quality target (lower = better, larger file). 23 is visually lossless for libx264.
-c:aAudio codec for output. e.g. aac, libmp3lame, copy.
overlay=W-w-10:H-h-10Position: W=main width, w=overlay width, 10 px margin from bottom-right corner. Other corners: 10:10 (top-left), W-w-10:10 (top-right), 10:H-h-10 (bottom-left).

Notes & gotchas

  • For a translucent watermark, pre-process the PNG with [1:v]format=rgba,colorchannelmixer=aa=0.5[wm] and use [wm] in overlay.
  • For animated motion (logo bouncing or sliding in), see ffmpeg overlay timeline editing.

Related recipes