Works with any backend npm install Zero dependencies

Image Watermark

Add a text watermark to every uploaded image, with configurable position and style.

(function() {
 new MultipleUpload('#demo', {
 uploadUrl: '/api/upload',
 multiple: true,
 accept: 'image/*',
 showThumbnails: true,
 watermark: {
 text: 'CONFIDENTIAL',
 fontSize: 32,
 fontFamily: 'Arial',
 color: 'rgba(255,0,0,0.35)',
 position: 'center',
 padding: 20
 }
 });
})();

Applied before the upload

watermark takes an object and stamps every image on a canvas before it is sent, so the server only ever receives the marked version. The keys the engine reads are text, fontSize, fontFamily, color, position and padding.

What client-side marking is, and is not

It is a convenience — consistent branding without a server-side image pipeline, and no round trip. It is not a control: the marking happens in the browser, so anyone willing to post to your endpoint directly can send an unmarked file. If the watermark has to be guaranteed, apply it on the server; use this when it is a nicety rather than a requirement.