Hometus.io logo

tus – resumable file uploads

People are sharing more and more photos and videos every day, but mobile networks remain fragile. Platform APIs are often a mess and every project builds its own file uploader. There are a thousand one-week projects that barely work, when all we need is one real project. One project done right.

We are going to do this right. Our aim is to make file uploads reliable once and for all. tus is a new, open protocol for resumable uploads built on HTTP. It offers simple, cheap and reusable stacks for clients and servers. It supports any language, any platform and any network.

It may seem to be an impossible dream. Perhaps that is because no one has solved it yet. Still, we are confident and we are going to give it our best shot. Join us on GitHub and help us make the world a better place. Say "No!" to lost cat videos! Say "Yes!" to tus!

HTTP-based

Built as a layer on top of the popular HTTP protocol, tus can easily be integrated into applications using existing libraries, proxies and firewalls, and can be used directly from any website.

Production-ready

tus is ready for use in production. It has undergone numerous rounds of improvements and received valuable feedback from people working at Vimeo, Google and multiple other well-known companies.

Open source

tus is brought to you by the people behind Transloadit logo Transloadit but the source code to all of our implementations, this website and even the protocol itself is accessible to everyone under MIT license, directly from our GitHub organization.

Minimalistic design…

The specification only requires a very small set of features to be implemented by clients and servers. tus embraces simplicity, fast development and iteration speed for everyone.

…yet still extensible

tus nevertheless features a sizable list of extensions that introduce additional functionality, such as parallel uploading or checksums and expiration. All of these may be implemented according to your preferences.

Community-owned

We believe in an open and accessible evolution of this protocol. At any stage since the beginning of tus, feedback has been appreciated and integrated. We look forward to your contributions as well.

Say Hello 👋

We are still actively improving the protocol and all of its implementations. We welcome your involvement and are happy to answer any questions!

Official implementations

Additionally, there are many other projects built and maintained by our community.

Blog posts

Who is using tus?

Do you (plan to) use tus? Add your company

tus on GitHub

  1. Avatar of engJoe99

    engJoe99 is now watching tus/tus-java-client

  2. Avatar of reinforceColumn

    reinforceColumn commented on Invalid value "undefined" for header "*" in tus/tus-node-server

  3. Avatar of Murderlon

    Murderlon commented on Invalid value "undefined" for header "*" in tus/tus-node-server

  4. Avatar of socket-security

    socket-security commented on Bump node-mocks-http from 1.16.1 to 1.17.2 in tus/tus-node-server

  5. Avatar of coderabbitai

    coderabbitai commented on Bump node-mocks-http from 1.16.1 to 1.17.2 in tus/tus-node-server

  6. Avatar of changeset-bot

    changeset-bot commented on Bump node-mocks-http from 1.16.1 to 1.17.2 in tus/tus-node-server

  7. Avatar of dependabot

    dependabot opened pull request Bump node-mocks-http from 1.16.1 to 1.17.2 for tus/tus-node-server

  8. Avatar of dependabot

    dependabot created a new branch in tus/tus-node-server: dependabot/npm_and_yarn/node-mocks-http-1.17.2

  9. Avatar of socket-security

    socket-security commented on Bump srvx from 0.2.8 to 0.8.1 in tus/tus-node-server

  10. Avatar of coderabbitai

    coderabbitai commented on Bump srvx from 0.2.8 to 0.8.1 in tus/tus-node-server

  11. Avatar of changeset-bot

    changeset-bot commented on Bump srvx from 0.2.8 to 0.8.1 in tus/tus-node-server

  12. Avatar of dependabot

    dependabot opened pull request Bump srvx from 0.2.8 to 0.8.1 for tus/tus-node-server

  13. Avatar of dependabot

    dependabot created a new branch in tus/tus-node-server: dependabot/npm_and_yarn/srvx-0.8.1

  14. Avatar of webdesignberlin

    webdesignberlin is now watching tus/tus-js-client

  15. Avatar of socket-security

    socket-security commented on Bump @aws-sdk/client-s3 from 3.758.0 to 3.840.0 in tus/tus-node-server

  16. Avatar of coderabbitai

    coderabbitai commented on Bump @aws-sdk/client-s3 from 3.758.0 to 3.840.0 in tus/tus-node-server

  17. Avatar of changeset-bot

    changeset-bot commented on Bump @aws-sdk/client-s3 from 3.758.0 to 3.840.0 in tus/tus-node-server

  18. Avatar of dependabot

    dependabot opened pull request Bump @aws-sdk/client-s3 from 3.758.0 to 3.840.0 for tus/tus-node-server

  19. Avatar of dependabot

    dependabot created a new branch in tus/tus-node-server: dependabot/npm_and_yarn/aws-sdk/client-s3-3.840.0

  20. Avatar of Acconut

    Acconut commented on Add RootStore in tus/tusd

As seen on