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 359 kB 95 kB
@uppy/core 37.6 kB 11.7 kB
@uppy/dashboard 92.4 kB 26.6 kB
@uppy/drag-drop 18.1 kB 6.68 kB
@uppy/file-input 12 kB 4.83 kB
@uppy/webcam 20.4 kB 7.23 kB
@uppy/dropbox 41.1 kB 12.7 kB
@uppy/google-drive 42 kB 12.8 kB
@uppy/instagram 42.7 kB 13.3 kB
@uppy/url 23.5 kB 8.04 kB
@uppy/tus 32.2 kB 9.5 kB
@uppy/xhr-upload 19.8 kB 6.08 kB
@uppy/aws-s3 25.1 kB 7.5 kB
@uppy/aws-s3-multipart 22.7 kB 6.45 kB
@uppy/status-bar 23.8 kB 8.63 kB
@uppy/progress-bar 9.84 kB 4.11 kB
@uppy/informer 9.82 kB 4.15 kB
@uppy/transloadit 144 kB 39 kB
@uppy/form 4.97 kB 1.94 kB
@uppy/golden-retriever 12.1 kB 3.48 kB
@uppy/react 106 kB 28.6 kB
@uppy/thumbnail-generator 4.96 kB 1.88 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