A progress bar for Uppy, with many bells and whistles.

Usage no npm install needed!

<script type="module">
  import uppyStatusBar from 'https://cdn.skypack.dev/@uppy/status-bar';



Uppy logo: a superman puppy in a pink suit

npm version CI status for Uppy tests CI status for Companion tests CI status for browser tests

The status-bar shows upload progress and speed, ETAs, pre- and post-processing information, and allows users to control (pause/resume/cancel) the upload. Best used together with a basic file source plugin, such as @uppy/file-input or @uppy/drag-drop, or a custom implementation. It’s also included in the @uppy/dashboard plugin.

Uppy is being developed by the folks at Transloadit, a versatile file encoding service.


import Uppy from '@uppy/core'
import StatusBar from '@uppy/status-bar'

const uppy = new Uppy()
uppy.use(StatusBar, {
  target: 'body',
  hideUploadButton: false,
  showProgressDetails: false,
  hideAfterFinish: true,


$ npm install @uppy/status-bar

We recommend installing from npm and then using a module bundler such as Webpack, Browserify or Rollup.js.

Alternatively, you can also use this plugin in a pre-built bundle from Transloadit’s CDN: Edgly. In that case Uppy will attach itself to the global window.Uppy object. See the main Uppy documentation for instructions.


Documentation for this plugin can be found on the Uppy website.


The MIT License.