Why watermark your screenshots

Screenshots travel far from where they're created. A developer takes a screenshot for a bug report, and it ends up in a Confluence page, a Slack thread, a client presentation, and eventually a public blog post. Without any branding, there's no way to trace it back to the team or product that created it.

Watermarking screenshots serves three purposes. First, brand consistency — when every screenshot your team shares has a small logo in the corner, recipients immediately associate the quality of the documentation with your product. Second, content protection — if you create screenshots for tutorials, product comparisons, or marketing, a watermark discourages others from reusing your work without credit. Third, provenance — in support threads and bug reports, a branded screenshot signals that it came from an official source, not a random user's machine.

Method 1: Add a logo overlay in Preview

macOS Preview can overlay images using its Markup tools. It's manual but requires no extra software:

  1. Open your screenshot in Preview
  2. Open your logo file (PNG with transparent background works best) in a separate Preview window
  3. In the logo window, press Cmd+A to select all, then Cmd+C to copy
  4. Switch to your screenshot window and press Cmd+V to paste
  5. The logo appears as a movable object — drag it to your preferred corner
  6. Drag the corner handles to resize the logo
  7. Save the file (Cmd+S)

Preview doesn't have an opacity slider for pasted images, so your logo needs to already have the opacity you want. Prepare your watermark as a semi-transparent PNG (20–40% opacity works well) before pasting it.

This method is fine for one or two screenshots but quickly becomes tedious for batch operations. The logo positioning is also imprecise — you're eyeballing the placement every time.

Method 2: Automate with macOS Shortcuts

The Shortcuts app can build an automated watermarking pipeline that processes screenshots with a single click or hotkey:

  1. Open the Shortcuts app
  2. Create a new shortcut and name it "Watermark Screenshot"
  3. Add a Receive Input action and set it to accept Images or Files
  4. Add an Overlay Image action:
    • Set the overlay image to your logo file (tap the image field and select your watermark PNG)
    • Set position to "Bottom Right" (or your preferred corner)
    • Set opacity to 30–40%
    • Adjust size as a percentage of the base image width (10–15% usually works)
  5. Add a Save to Photo Album or Save File action for the output
  6. To trigger automatically, set up a Folder Action:
    • Add an Automations tab trigger in Shortcuts that watches your screenshot folder
    • Or use Automator's Folder Actions to run the shortcut when new files appear in ~/Desktop

Once set up, you can right-click any screenshot in Finder, choose Quick Actions, and select your watermark shortcut. Or assign a keyboard shortcut via System Settings → Keyboard → Keyboard Shortcuts → Services.

Method 3: ImageMagick for batch watermarking

For developers and power users, ImageMagick provides precise control over watermark placement, sizing, and opacity from the command line:

# Install ImageMagick via Homebrew
brew install imagemagick

# Add a logo watermark to a single screenshot
magick composite -dissolve 30 -gravity SouthEast \
  -geometry +20+20 logo.png screenshot.png watermarked.png

Breaking down the flags:

Flag Purpose
-dissolve 30 Sets watermark opacity to 30%
-gravity SouthEast Positions watermark in the bottom-right corner
-geometry +20+20 Adds 20px padding from the corner

To batch-process an entire folder of screenshots:

# Watermark all PNGs in a folder
for img in ~/Desktop/screenshots/*.png; do
  magick composite -dissolve 30 -gravity SouthEast \
    -geometry +20+20 logo.png "$img" \
    ~/Desktop/watermarked/$(basename "$img")
done

Text watermarks with ImageMagick

If you don't have a logo file, you can add a text watermark directly:

# Add a text watermark
magick screenshot.png \
  -gravity SouthEast \
  -pointsize 24 \
  -fill "rgba(255,255,255,0.3)" \
  -annotate +20+20 "© YourCompany 2026" \
  watermarked.png

For a diagonal tiled watermark across the entire image:

# Create a tiled watermark
magick -size 300x100 xc:none \
  -fill "rgba(128,128,128,0.15)" \
  -pointsize 20 -gravity Center \
  -annotate 30 "CONFIDENTIAL" \
  mpr:tile +delete \
  screenshot.png -tile mpr:tile \
  -draw "color 0,0 reset" \
  -composite watermarked.png

Method 4: sips for simple overlays (no install required)

macOS ships with sips (Scriptable Image Processing System), which can handle basic image operations without installing anything. While sips doesn't have a direct watermark command, you can use it with Python's built-in imaging capabilities:

# Quick watermark using sips + Python (no pip install needed)
python3 -c "
from PIL import Image
base = Image.open('screenshot.png')
logo = Image.open('logo.png').convert('RGBA')

# Resize logo to 10% of screenshot width
ratio = (base.width * 0.1) / logo.width
logo = logo.resize((int(logo.width * ratio), int(logo.height * ratio)))

# Reduce opacity
logo.putalpha(logo.getchannel('A').point(lambda x: int(x * 0.3)))

# Paste in bottom-right with 20px padding
pos = (base.width - logo.width - 20, base.height - logo.height - 20)
base.paste(logo, pos, logo)
base.save('watermarked.png')
"

Note: This requires Pillow (pip3 install Pillow). For truly zero-dependency watermarking on Mac, the Shortcuts method is simpler.

Best practices for screenshot watermarks

Sizing and placement

Aspect Recommendation Why
Logo size 8–12% of image width Visible but not distracting
Opacity 20–40% Readable without obscuring content
Position Bottom-right corner Least likely to cover important content
Padding 15–25px from edges Prevents the logo from looking cramped
Format PNG with transparency Blends cleanly with any background

Logo vs. text watermarks

Logo watermarks work better for brand recognition. They're visually distinct, don't require the viewer to read anything, and reinforce your visual identity. Use them for marketing screenshots, product documentation, and anything shared externally.

Text watermarks work better for content protection and access control. "CONFIDENTIAL" or "INTERNAL ONLY" labels communicate restrictions. "DRAFT" watermarks prevent screenshots from being treated as final. Use them for internal documents, pre-release materials, and compliance-sensitive content.

Preparing your watermark file

  1. Start with your logo in SVG or high-resolution PNG format
  2. Export it as a PNG with a transparent background
  3. For light screenshots (white backgrounds), use a dark-colored logo
  4. For dark screenshots (terminal, code editors), use a white or light-colored logo
  5. Consider creating two versions — one for light backgrounds and one for dark
  6. Save at 2x resolution (e.g., 200x50 for a watermark that will display at 100x25) to look sharp on Retina displays

Automating watermarks in a team workflow

For teams that need consistent branding across all shared screenshots, manual watermarking doesn't scale. Here are approaches that work for teams:

Folder Actions + Shortcuts: Set up a shared folder where team members drop screenshots. A Folder Action automatically applies the company watermark and moves the result to an "output" folder. Everyone uses the same logo, position, and opacity.

Git pre-commit hook: If your team stores screenshots in a repository (documentation, README files), a pre-commit hook can check for and apply watermarks to any new images being committed.

CI/CD pipeline step: For product documentation built from source, add a build step that watermarks all screenshots during the documentation build process. This keeps source screenshots clean while ensuring published versions are branded.

Screenshot tool with built-in branding: The most efficient approach is using a screenshot tool that applies your branding at capture time. You set up the watermark once, and every screenshot automatically includes it — no post-processing required.

LazyScreenshots lets you add custom watermarks, logos, and backgrounds to every screenshot at capture time. Set it up once and every capture is branded automatically. $29 one-time.

Try LazyScreenshots — $29 one-time