Sunday, October 25, 2026 4,350 lists 78,100 records on file
List your app or device

  1. Home
  2. Photo Watermarking Software
  3. wmk

wmk

What it is

wmk is a free, open-source Python command-line tool for adding image or text watermarks. It runs on Linux, macOS and Windows and supports JPG, JPEG, PNG, WEBP, TIFF, BMP and GIF files. Watermarks can be placed in any corner or at the center, with opacity from 0 to 100. Recursive folders and glob patterns enable batch processing, while a dry-run option prints planned outputs without writing files. Batch results normally go into a watermarked directory while preserving relative structure. Existing destination files are not replaced unless overwrite is selected, and a _watermarked suffix helps avoid collisions. The README describes offline processing, keeping images on the user's machine. Installation is available through pip, pipx or a cloned repository, and package metadata requires Python 3.10 or newer. The CLI is primary, with an optional Python library interface. GIF handling processes only the first frame. The project uses the MIT License.

For and against

For

  • Processes common raster image formats
  • Supports recursive and glob-based batches
  • Offers five placement positions
  • Runs offline on the user's machine
  • MIT-licensed with optional library interface

Against

  • Requires Python 3.10 or newer
  • GIF processing handles only the first frame
  • CLI is the primary interface
  • No paid plans are listed

The verdict

wmk provides local, scriptable watermarking with batch controls and predictable output behavior. Its format coverage and offline design fit repeatable image-processing workflows, with first-frame-only GIF handling as a stated limit.

Who it suits

It suits desktop users and multimedia graphics workflows needing scriptable, local watermarking. It is also useful for repeatable product-photo or photography-delivery batches.

Plans and prices

add-watermark

Free

MIT-licensed Python CLI; no paid plans listed

Every plan, in full

On the record

Automation
The CLI is scriptable and the README describes it for repeatable workflows such as product photos and photography delivery.github.com · read 11 Oct 2026
Batch processing
It can process folders recursively or accept glob patterns for batch watermarking.github.com · read 11 Oct 2026
Dry run
A dry-run option prints planned outputs without writing files.github.com · read 11 Oct 2026
GIF limitation
GIF processing handles only the first frame.github.com · read 11 Oct 2026
Image formats
It supports JPG, JPEG, PNG, WEBP, TIFF, BMP, and GIF input and output.github.com · read 11 Oct 2026
Input formats
The listed input and output formats are JPG, JPEG, PNG, WEBP, TIFF, BMP, and GIF.github.com · read 11 Oct 2026
Install
The package can be installed with pip or pipx, or from a repository clone.github.com · read 11 Oct 2026
Installation
The package can be installed with pip or pipx, or from a cloned source repository.github.com · read 11 Oct 2026
Intended audience
The package metadata classifies the project for desktop end users and multimedia graphics.github.com · read 11 Oct 2026
License
The repository provides the software under the MIT License, which permits use, copying, modification, distribution, sublicensing, and sale subject to its conditions.github.com · read 11 Oct 2026
Local processing
The README describes the CLI as offline and says images stay on the user's machine.github.com · read 11 Oct 2026
Output behavior
By default, batch folder output goes into a watermarked directory and preserves the folder's relative structure.github.com · read 11 Oct 2026
Overwrite behavior
Without the overwrite option, existing destination files are not replaced and a _watermarked suffix is used to avoid collisions.github.com · read 11 Oct 2026
Placement and opacity
Watermarks can be positioned at the top-left, top-right, bottom-left, bottom-right, or center, with opacity set from 0 to 100.github.com · read 11 Oct 2026
Privacy
The README describes wmk as an offline tool and says images stay on the user's machine.github.com · read 11 Oct 2026
Purpose
wmk is a Python command-line tool for adding image or text watermarks to images.github.com · read 11 Oct 2026
Python library
The project also provides an optional Python library interface, while identifying the CLI as its primary interface.github.com · read 11 Oct 2026
Python requirement
The package metadata requires Python 3.10 or newer.github.com · read 11 Oct 2026

Alternatives to wmk

Every alternative, ranked