Works with any backend npm install Zero dependencies
Full Image Pipeline

Combine resize, compress, auto-orient, watermark, and hash in one configuration.

(function() {
    var logEl = document.getElementById('log');
    function log(m) { var d = document.createElement('div'); d.className='pkg-log-entry'; d.textContent=m; logEl.appendChild(d); logEl.scrollTop=logEl.scrollHeight; }
    new MultipleUpload('#demo', {
        uploadUrl: '/api/upload',
        multiple: true,
        accept: 'image/*',
        showThumbnails: true,
        autoOrient: true,
        imageResize: { maxWidth: 1280, maxHeight: 1280, quality: 0.88 },
        imageCompress: { quality: 0.78, outputType: 'image/jpeg' },
        watermark: { text: 'SAMPLE', fontSize: 30, position: 'bottom-right', color: 'rgba(0,0,0,0.25)', padding: 16 },
        computeHash: true,
        hashAlgorithm: 'sha256',
        onImageProcessed: function(p, o) { log(o.name + ': ' + Math.round(o.size/1024) + 'KB -> ' + Math.round(p.size/1024) + 'KB'); },
        onHashComputed: function(t, h) { log(t.fileName + ' hash: ' + h.slice(0,20) + '...'); }
    });
})();