Hometus.io logo

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:

Start an upload to see a list of outgoing HTTP requests and incoming responses.


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

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.