tus is an open source project by Transloadit
New: Transloadit Community Plan — get free hosted Companion & tusd, unlimited uploading, and 5GB/month encoding traffic!

Resumable File Upload Demo

This demo is a working and production-ready example for resumable file uploads built using the tus-js-client. It sends your files to our public tusd instance, which is the official reference implementation for the tus protocol, written in the Go programming language.

⚠️ Please be aware that the uploaded files will be removed from our servers after a few hours, for privacy, and to combat people uploading malicious content.


  1. Select a large file.
  2. Watch it upload for a bit, then close this tab before it finishes.
  3. Come back to this page, select the same file again and you can resume the upload where it left off.
  4. Inspect the HTTP traffic (see below) to understand how tus works.

HTTP Traffic

Below you can find a list of the outgoing HTTP requests and incoming responses that tus is using to upload your files:


The tus-js-client used in this demo has been automatically tested and works with the following browsers:

  • Internet Explorer 10+
  • Microsoft Edge 12+
  • Mozilla Firefox 14+
  • Google Chrome 20+
  • Safari 6+
  • Opera 12.1+
  • iOS 6.0+
  • Android 5.0+

Using the X-HTTP-Method-Override header, it’s possible to run tus even on platforms that won’t let you do PUT and PATCH requests.

Source Code

The source code for this demo is available on GitHub.

comments powered by Disqus