To keep Uppy lightweight, we’re aiming to carefully select what packages we include. The graph below will help us discover low hanging fruit. Sizes and dependencies shown here are for the bundled version of Uppy, which includes all plugins we offer. In production, when you pick and choose just the ones you need, the size will be much smaller:

  • Drag & Drop + Multipart uploads ≈ 18 Kb mingz
  • Full-featured Dashboard with image previews and progress indicators + tus resumable uploads ≈ 36 Kb mingz

This graph is built with Hugh Kennedy’s excellent disc.

Bundle Sizes

Below are the minified and gzipped sizes for each Uppy package. Note that this includes the dependencies for each package, some of which are shared when you install multiple plugins—for example, the @uppy/dropbox and @uppy/instagram package are both over 11kB including dependencies, but only sum up to about 15kB when they are used together.

Package Minified Gzip
uppy 339 kB 90.9 kB
@uppy/core 36.1 kB 11.1 kB
@uppy/dashboard 79.8 kB 23.1 kB
@uppy/drag-drop 17.9 kB 6.61 kB
@uppy/file-input 11.8 kB 4.77 kB
@uppy/webcam 20.2 kB 7.19 kB
@uppy/dropbox 42.7 kB 13 kB
@uppy/google-drive 43.5 kB 13.2 kB
@uppy/instagram 45.1 kB 13.8 kB
@uppy/url 23.3 kB 8 kB
@uppy/tus 28.6 kB 8.12 kB
@uppy/xhr-upload 19.6 kB 6.02 kB
@uppy/aws-s3 25 kB 7.46 kB
@uppy/aws-s3-multipart 22.6 kB 6.42 kB
@uppy/status-bar 22.7 kB 8.28 kB
@uppy/progress-bar 9.8 kB 4.09 kB
@uppy/informer 9.78 kB 4.14 kB
@uppy/transloadit 133 kB 38.2 kB
@uppy/form 4.97 kB 1.94 kB
@uppy/golden-retriever 12.1 kB 3.48 kB
@uppy/react 93.1 kB 25 kB
@uppy/thumbnail-generator 3.96 kB 1.61 kB
@uppy/store-default 795 B 398 B
@uppy/store-redux 2.1 kB 921 B

Browser support

This reflects the current state of Uppy and is updated with every change.

Sauce Test Status