GlossaryTUS protocol

TUS protocol

The TUS protocol is an open, HTTP-based standard for resumable file uploads. A client creates an upload on the server, sends the file in pieces, and asks the server how much has arrived if the connection breaks. Ready-made TUS libraries exist for browsers, mobile apps and servers, so teams do not need to design resumable uploads themselves.

Why it matters

TUS saves teams from designing their own resumable upload system and keeps them off proprietary formats. Because client and server libraries already exist, a business can add reliable uploads to web and mobile apps faster. It reduces lost uploads on weak networks, which protects the flow of content into the product.

How it works

  1. The client sends a request to create an upload and gets back a unique upload URL.
  2. It sends the file data to that URL, recording the byte offset reached.
  3. After a dropped connection, it asks the server for the current offset with a HEAD request.
  4. It continues sending from that offset until the server has the full file.

Is TUS better than S3 multipart upload?

Neither is better in every case: TUS is an open protocol designed for resumable uploads from any client, while S3 multipart upload is tied to Amazon S3 and similar storage. TUS suits apps that want one resumable standard across browsers and phones. S3 multipart suits uploads that go straight into object storage, especially very large files sent in parallel parts.

Does TUS work with mobile apps?

Yes, TUS works with mobile apps, and open-source client libraries exist for iOS and Android as well as browsers. Mobile is where TUS helps most, because connections drop when users move between Wi-Fi and cellular. The app can resume the upload from the last confirmed byte instead of starting again.

Where it's used

Creator apps and video platforms use TUS to make large uploads survive patchy mobile networks, so users never lose a long video halfway through.

By the numbers