Skip to main content

Supporting IE11

We officially support recent versions of Chrome, Firefox, Safari and Edge.

Internet Explorer is not officially supported, as in we don’t run tests for it, but you can be mostly confident it works with the right polyfills. But it does come with a risk of unexpected results in styling or functionality.


npm install core-js whatwg-fetch abortcontroller-polyfill md-gum-polyfill resize-observer-polyfill
import 'core-js';
import 'whatwg-fetch';
import 'abortcontroller-polyfill/dist/polyfill-patch-fetch';
// Order matters: AbortController needs fetch which needs Promise (provided by core-js).

import 'md-gum-polyfill';
import ResizeObserver from 'resize-observer-polyfill';

window.ResizeObserver ??= ResizeObserver;

export { default } from '@uppy/core';
export * from '@uppy/core';

Legacy CDN bundle


The bundle consists of most Uppy plugins, so this method is not recommended for production, as your users will have to download all plugins when you are likely using only a few.

It can be useful to speed up your development environment, so don't hesitate to use it to get you started.

<!-- 1. Add CSS to `<head>` -->
<link href="" rel="stylesheet">

<!-- 2. Initialize -->
<div id="uppy"></div>

<script type="module">
import { Uppy, DragDrop, Tus } from ""
const uppy = new Uppy()
uppy.use(DragDrop, { target: '#uppy' })
uppy.use(Tus, { endpoint: '//' })