wmk is a free Python command-line tool for applying image or text watermarks to image files. It supports JPG, JPEG, PNG, WEBP, TIFF, BMP, and GIF, and can process folders recursively or take glob patterns for batch jobs. Watermarks can be placed in any corner or at the center, with opacity adjustable from 0 to 100. A dry-run option prints the planned outputs without writing files. By default, folder batches go into a watermarked directory while preserving relative folder structure; existing destination files are not replaced without the overwrite option, and a _watermarked suffix helps avoid collisions. The README describes it as an offline tool that keeps images on the user's machine. Install it with pip, pipx, or from a repository clone; it requires Python 3.10 or newer. The CLI is the primary interface, with an optional Python library interface. The project is MIT-licensed and lists Windows, Linux, and macOS support. GIF processing handles only the first frame. The package metadata links to GitHub Issues for support.
Who it is for
wmk suits desktop users who want to watermark images in repeatable or batch workflows using a command line. It may also suit Python users who want the optional library interface.
What is good
- Batch processing supports folders and glob patterns.
- Opacity ranges from 0 to 100.
- Dry runs show planned outputs without writing files.
- The README describes offline processing.
What to know first
- Requires Python 3.10 or newer.
- GIF processing handles only the first frame.
- The primary interface is command-line based.
Verdict
wmk offers batch watermarking, placement controls, and local processing for users comfortable with a command line. Its Python requirement and first-frame-only GIF handling are important limits to check.
Get started with wmk
- Install Python 3.10 or newer.
- Install wmk with pip or pipx, or clone its repository.
- Choose image or text watermarking for your files.
- Set a position and opacity from 0 to 100.
- Use a dry run to preview planned outputs, or run the batch job.
What the free plan stops at
GIF processing handles only the first frame.
Questions about wmk
How much does wmk cost?
The listed plan is free. No paid plans are listed.
Which operating systems does it support?
The listed platforms are Linux, macOS, and Windows.
Is wmk open source?
Yes. It is offered under the MIT License, which permits use, copying, modification, distribution, sublicensing, and sale subject to its conditions.
Which image formats does it support?
It supports JPG, JPEG, PNG, WEBP, TIFF, BMP, and GIF for input and output. GIF processing handles only the first frame.
How can I install it?
Install it with pip or pipx, or from a cloned repository. It requires Python 3.10 or newer.
Does wmk offer an API?
API access is listed. The project also provides an optional Python library interface, while the command-line interface is its primary interface.
wmk plans and pricing
All plansCompared on photo watermarking software
- Batch watermarking
- Yes
- Logo marks
- Yes
- Supported platforms
- Windows and Linux
- API access
- Yes


