Works with any backend npm install Zero dependencies

Dark Mode

Enable dark mode by adding the mu-dark class to the uploader container. All internal elements adapt automatically.

Drag & drop files here
<!-- Add mu-dark class for dark mode -->
<div id="myUploader" class="mu-uploader mu-dark">
 ...
</div>
// No JavaScript changes needed for dark mode
var uploader = new MultipleUpload(document.getElementById('myUploader'), {
 uploadUrl: '/api/upload'
});

Theming through the class names

This demo passes only uploadUrl; everything visual comes from CSS acting on the component's class names. So a dark theme is your stylesheet, applied the same way you theme anything else on the page — there is no theme option to set, and nothing to keep in sync.

Follow the user's setting

Driving the palette from prefers-color-scheme means the uploader matches the rest of the page automatically, including when the user changes the setting while the page is open. Check the contrast of the queue text and the progress fill against the dark ground specifically: a grey that reads well on white often does not survive the inversion.