Works with any backend npm install Zero dependencies

Custom Button

Replace the default upload button with a fully custom-styled element. Any element can trigger the file browser.

Choose Your Files
Drag & drop files here
<div id="myUploader" class="mu-uploader">
 <div class="mu-select-btn" style="display:inline-flex; align-items:center; gap:8px;
 background:linear-gradient(135deg,#6366f1,#8b5cf6); padding:12px 24px;
 border-radius:12px; color:#fff; cursor:pointer; font-weight:600;">
 <svg width="20" height="20" ...>...</svg>
 Choose Your Files
 </div>
 <input type="file" class="mu-file-input" multiple style="display:none" />
 ...
</div>
// The mu-select-btn class automatically binds click to open file dialog
var uploader = new MultipleUpload(document.getElementById('myUploader'), {
 uploadUrl: '/api/upload'
});