Works with any backend npm install Zero dependencies

Client Validation

Combined client-side validation with a visible error panel. Validates extensions, file size, and file count together.

Drag & drop files here
<div id="myUploader" class="mu-uploader">...</div>
<div id="errors"></div>
var uploader = new MultipleUpload(document.getElementById('myUploader'), {
 uploadUrl: '/api/upload',
 allowedExtensions: ['jpg', 'png', 'pdf'],
 maxFileSize: 2 * 1024 * 1024,
 maxFiles: 5,
 onError: function(file, error) {
 var div = document.createElement('div');
 div.style.cssText = 'color:#dc2626; padding:4px 0;';
 div.textContent = file.name + ': ' + error;
 document.getElementById('errors').appendChild(div);
 }
});