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 411 kB 106 kB
@uppy/core 38.3 kB 11.9 kB
@uppy/dashboard 91.6 kB 26.1 kB
@uppy/drag-drop 18 kB 6.67 kB
@uppy/file-input 12.1 kB 4.84 kB
@uppy/webcam 20.4 kB 7.23 kB
@uppy/dropbox 42.4 kB 12.9 kB
@uppy/google-drive 43.3 kB 13 kB
@uppy/instagram 44 kB 13.6 kB
@uppy/url 24.9 kB 8.41 kB
@uppy/tus 47.1 kB 13.3 kB
@uppy/xhr-upload 22.2 kB 6.68 kB
@uppy/aws-s3 27.4 kB 8.08 kB
@uppy/aws-s3-multipart 24.5 kB 6.91 kB
@uppy/status-bar 24.6 kB 8.82 kB
@uppy/progress-bar 9.84 kB 4.11 kB
@uppy/informer 9.83 kB 4.16 kB
@uppy/transloadit 178 kB 46.9 kB
@uppy/form 5.36 kB 2.06 kB
@uppy/golden-retriever 12.1 kB 3.48 kB
@uppy/react 112 kB 29.7 kB
@uppy/thumbnail-generator 5.26 kB 1.99 kB
@uppy/store-default 795 B 398 B
@uppy/store-redux 2.26 kB 1 kB

Browser support

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

Sauce Test Status