The Uppy File Uploader Blog

Uppy 0.30: Introducing Robodog

Mar 6, 2019

In 0.30 we are introducing a new friend for Uppy — the Robodog.

Robodog: easy to assemble

Continue reading ...

Uppy 0.29: separate Core and Plugin styles, React Native in tus-js-client

Dec 11, 2018

0.29 brings bug fixes and improvements, while we are busy working on Uppy React Native support (which first had to land in the js client for our resumable file upload protocol: and a Preset (still debating the name) which will make it easier to leverage Transloadit’s encoding platform, and offer a smooth migration path for users not yet on Uppy. The highlights of this release are: separating Core and Plugin styles, more accurate progress reporting by factoring in sizes across files, adding a responseType option for XHR Upload, and fixing visual Webcam bugs.

Continue reading ...

Uppy 0.28: A look behind the scenes

Nov 5, 2018

In 0.28, we are introducing a new “Single Upload” mode, improving on the Status Bar plugin with a spinner and different pause/resume/cancel buttons. We’ll also share some progress on bringing back unified locale packs and a Transloadit Preset 🍁

Continue reading ...

Uppy 0.27: First Swing at React Native Support

Aug 23, 2018

In 0.27, we have some more iterations on the Dashboard UI for you in store again. We are getting rid of the permanent tab bar and made tons of other improvements!

Continue reading ...

Uppy 0.26: Lerna

Jul 12, 2018

Uppy 0.26 replaces the monolithic Uppy package with a separate npm package for every plugin.

Continue reading ...

Uppy 0.25: Drag & Drop Links Urls & Images, Improved File Selecting in Providers, Interactive Components In i18n

Jun 7, 2018

Uppy 0.25 comes with a couple of new features, like drag-and-dropping URLs and images with the Url plugin, Dashboard modal animation and interactive components in i18n strings, as well as a ton of under the hood fixes and improvements.

Continue reading ...

Uppy 0.24: Refreshed Dashboard, StatusBar and Provider UI, revamped XHR Response Handling

Apr 17, 2018

Uppy 0.24.2 brings a refreshed UI in the Dashboard and StatusBar plugins, a synchronous addFile() method, a cancel button, style protections, documentation on writing your own Uppy plugin, revamped XHR response handling and tons of bugfixes.

Continue reading ...

Uppy 0.23: Import from Url, refactored thumbnail generation, XHR bundle

Feb 12, 2018

Hi all! We are back from holidays with a shiny new 0.23.0 release for you! It’s packed with a new Url plugin (imports files from urls), refactored ThumbnailGenerator, Webcam improvements and more.

Import from Url

Meet our new “Provider” plugin, Url. It’s simple, yet powerful: paste a link to any file on the web, and Uppy with Uppy Server will upload it wherever you need.

uppy.use(Url, { target: Dashboard, host: YOUR_UPPY_SERVER_URL })
Continue reading ...

Uppy 0.22: Preact, Form, Improved Dashboard, Custom Stores

Dec 23, 2017

Uppy is featured on Product Hunt! To our fellow hunters: welcome! Quick intro: Uppy is the next open source file uploader for web browsers. We’re very close to launching 1.0 and would love to get your feedback in, leave your thoughts on Product Hunt or start a discussion below.

Hi all! It’s New Year and Christmas time, and this year Santa is brining you Uppy 0.22 🎁 This release packs a lot of neat stuff, but it also breaks things in quite a few places, so please read on.

And, if you are celebrating, happy holidays from the Uppy Team! 🎄

Continue reading ...

Uppy 0.21: End to End Tests, Accessibility, Additional Security for Uppy Server

Nov 24, 2017

Hi all! We’ve been busy with Halloween, but also another release, so here is Uppy 0.21! This one improves accessibility, features new end-to-end tests and improved security in Uppy Server.

Continue reading ...

Uppy 0.20: React, Retry & Time Travel

Oct 5, 2017

We are proud to present Uppy 0.20. This one focuses on React and Redux support, adding storage expirations to GoldenRetriever and upload retries. Enjoy!

Uppy React components

Uppy now ships with React components! We’ve been exploring different approaches to React components for several months, so we’re excited to finally have them in ✨ There are components for each of Uppy’s UI elements, like the Dashboard and the StatusBar.

const uppy = Uppy()
uppy.use(Tus10, { endpoint: '/upload' })

const Dashboard = require('uppy/lib/react/Dashboard')
const Uploader = () => (
    note="Hey! It's a React component!"

ReactDOM.render(<Uploader />, document.querySelector('#uploader'))
Continue reading ...

Uppy 0.19: Tests, Informer details and better APIs

Sep 21, 2017

Hello! The 0.19 release is about internal fixes, optimizations and refactoring, as well as some work on PRs that we’ll hopefully tell you about soon!

Jest tests

Thanks to our contributer, @richardwillars, and following the example set by Uppy Server, we’ve switched to Jest for Uppy’s unit tests, and added a bunch of new tests as well. And even more are being added as we speak!

We’re also happy to report that more tests have been added for Uppy Server.

Dashboard APIs

We’ve exposed show/hide/isOpen APIs for the Dashboard UI plugin. Now you can open and close the modal dialog programmatically:

var modal = uppy.getPlugin('Dashboard')


button.addEventListener('click', () => {
  if (modal.isOpen()) {
  } else {

Check out the docs.

Continue reading ...

Uppy 0.18: Dogumentation and The GoldenRetriever

Sep 15, 2017

Hi! Another month — a new Uppy release 🎉

Note: current latest release is actually 0.19, but this post got delayed, so we are publishing it first. 0.19 post is coming next.

New documentation

Documentation for Uppy has been re-written, and now features chapters on Uppy’s settings and API, using various plugins, and running Uppy Server. Check it out: More chapters to come!

The GoldenRetriever

The GoldenRetriever has been released as a public beta. For details, please refer to the previous post, The GoldenRetriever: Making uploads survive browser crashes, but the gist is: when enabled, this plugin will save uppy-state to localStorage on every change, and then if your browser crashes, or you accidentaly navigate away from a tab,later when you return, your uploads will resume like nothing happened. Spoiler: it uses Service Workers and IndexedDB.

Continue reading ...

The Golden Retriever: Making uploads survive browser crashes

Jul 31, 2017

TL;DR: We’re on a mission to improve file uploading on the web. We released tus: the open protocol for resumable file uploads, as well as Uppy: the next open source file uploader for web browsers. Uppy uses tus, which makes it resilient to poor network conditions and crashing servers. Today we’re launching an Uppy feature that also makes it resilient to browser crashes, which we believe is an industry first. We’re sharing a quick demo video, a bit of background, how exactly we achieved this, and how you can try it yourself.


Don’t you just hate it when you’re about to share the perfect photos from your trip to Iceland, and halfway through, your cat jumps on the keyboard and trashes your browser? Or the battery in your laptop dies? Or you accidentally close the tab or navigate away? We hate that too!

If action games have had checkpoints since 1687 — why can’t file uploaders? Well, as it turns out, they can! We found a way to get those Iceland pics into the hands of your loved ones with near-zero levels of frustration, even after a dreaded Blue Screen of Death! (if that is still a thing ;)

Continue reading ...

Uppy 0.17: Restrictions

Jul 11, 2017

Hi! We are back with yet another Uppy release that contains some often requested features such as file restrictions and better file type detection, alongside a brand new Instagram plugin, UI improvements and more!

Continue reading ...

Uppy 0.16: Transloadit!

May 24, 2017

Hello there! Missed us much? :) We’re chomping at the bits, at least, to tell you about our latest release. This one has been in the works longer than usual, but then again, it’s also way cooler than usual, so let’s get right to it.

Continue reading ...

Uppy 0.15: Spring cleanup

Mar 15, 2017

Spring is in the air and Uppy is feeling particularly full of life. In this post about Uppy 0.15, we have some exciting stories about babel-plugin-yo-yoify, progress event throttling, and new friends.

Continue reading ...

Uppy 0.14: Responsive Dashboard, Standalone & Pluggable Server, Dropbox

Feb 13, 2017

Hi! Hope y’all have had great holidays! 🎄 Which reminds us, we still have a gift for you — and we even wrapped it in a package (npm). Look inside and you’ll find that Uppy 0.14!

“But wait”, you might ask, “where is the 0.13 release that we have been waiting for?”

Well, let’s just say we are superstitious like that. You won’t see us coding under any ladders either! And we were also in the middle of the holiday season, so we decided to call 0.13 “The Release That Wasn’t” and skip it.

Let’s take a look at what Uppy 0.14 has in store for you.

Continue reading ...

Uppy 0.12: Responsive. Cancel. Feedback. Refreshed ES6 server

Dec 7, 2016

Hello! Here’s what’s new in Uppy 0.12.

Dashboard: local mode and multipart uploads support in UI

Prior to this release, we’ve optimized the Dashboard for usage with multiple “acquire plugins”, say Webcam + Google Drive. But sometimes all you need is “local disk” with drag & drop support, nice file previews and progress. And now the Dashboard UI works great with that use case out of the box. When you don’t add (.use) any acquire plugins, it looks like this:

Also (prior to this release), we’ve built the Dashboard to work well with tus resumable uploads. That’s why you can pause and resume individual uploads, as well as all at once. But if you use an endpoint that is not yet ready for the future and upload resumability (here’s how to fix that, by the way), the Dashboard UI will show regular “cancel” buttons instead of pause/resume.

Dashboard is gradually becoming more mobile friendly too, but we’ll be saving some of that stuff for the next release.


Uppy server has undergone a quite a few changes, including the build setup:

  • We are using ES2015, transpiling to ES5 with Babel.
  • Added linting, lint-staged, pre-commit all that good stuff.
  • Added npm run release command that publishes releases for us.
  • Google Drive is working again on the Uppy Server side.
  • Refactoring, error handling and more minor improvements.
Continue reading ...

Uppy 0.11: StatusBar, research, https and API docs

Nov 15, 2016

Hey everyone! It has been a while since we last shared some news about our progress and we can’t wait to let you know what’s up(py)!

In October, we have been working hard to get Uppy 0.11 ready for release. This entailed, among other things, doing a write-up of our general architecture, bringing in a friend to look at what we’ve been up to, experimenting with Redux, and updating the Dashboard UI and website example.

Here’s what we have been up to, in some more detail.

Continue reading ...

Uppy 0.10: Getting together, the future, Google Drive UI, exposed events

Sep 28, 2016

Hi! Another month has passed and we have just released a new version of Uppy. Here’s what we’ve been up to.

Thinking about the future 🔮

We have been spending quite a lot of time thinking about Uppy’s future and the direction in which we would like to take this project. Our primary concern is making Uppy as flexible as possible as well as compatible with popular libraries, such as React and React Native. We also want to make it easy to port Uppy to any environments or ecosystems that are not officially supported.

We have done a lot of research. We created prototypes of Uppy React components and we also created a new module that we like to call “Uppy Base.” uppy-base is a thin module containing reusable functionality from some of our plugins that can be used in any ecosystem or environment, without being opinionated about the UI.

Continue reading ...

Uppy 0.9: Making Progress, then pause & resume. Remote file uploads, Informer.

Aug 26, 2016

We have just released Uppy 0.9.0. This release features some changes that we think you will be very excited about. Let’s see what’s new!

Continue reading ...

Uppy version 0.8 released: The Webcam Edition and Meta Data

Aug 17, 2016

We have just released Uppy 0.8.0 and we can’t wait to tell you more about it. Along with various under-the-hood improvements, this release also contains some very visible upgrades. You can read below for further details.

Including Meta Data

While fetching your files, Uppy is now also able to supply some custom metadata to go along with them. So far, there are three components in place for that: Core API (core:update-meta event), MetaData plugin, and a new panel in Dashboard UI called File Card, which looks like this:

metadata dashboard UI, editing file name, future size and adding description

Continue reading ...

Uppy: let’s teach an old dog some new tricks

Jul 15, 2016

For the past six months, we have been working hard on We feel that it is high time we gave you a look behind the scenes: what are we working on, and why.

The way uploading works has not changed in a meaningful way since the days of our trusty old 56 kbit/s modems. Of course, files have gotten bigger and speeds have increased, but that is more or less all there is to say. If it were up to us – and we hope it is – that is all about to change.

We at Transloadit are on a mission to change the way the world does uploading. To accomplish this, our first step has been to develop an open protocol for resumable file uploads, called ‘tus’. Finally, that 2GB video upload from your smartphone doesn’t have to start over when your train passes through a tunnel! The protocol got Hacker News excited on several occasions and is being deployed by, among others, our friends at Vimeo. Now that a stable version 1.0 of ‘tus’ has been released, it is time to put it to the test. A protocol without real-world applications is nothing more than a meaningless document, after all.

We are therefore excited to tell you about Uppy: the file uploader that will certainly fetch more than just your newspaper.

Continue reading ...