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.
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 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.
Additionally, there are many other projects built and maintained by our community.
tus is an open protocol for resumable file uploads, with open-source clients and servers for the web, mobile and the backend. Video platforms, cloud providers, databases and developer tools rely on it to get large files across flaky networks without starting over.
Keeping it reliable takes steady work: reviewing pull requests, fixing bugs, cutting releases, keeping implementations interoperable, and bringing resumable uploads to the IETF as an HTTP standard. Funding lets maintainers spend dedicated time on that. Contributions and expenses are public on Open Collective.
If your product depends on tus, please consider sponsoring it, either as a company or as an individual.
Sponsor tus on Open Collectivekvz opened pull request for tus/tus.io
github-merge-queue created a new branch in tus/tus-node-server: gh-readonly-queue/main/pr-898-a7bfaa4d0e3c3706a254c0af9cfec2de3c1d070b
github-merge-queue created a new branch in tus/tus-node-server: gh-readonly-queue/main/pr-903-670e47bf92bcef83dfee7ac8a1932864396c571e
github-actions pushed to tus/tus-node-server
dependabot created a new branch in tus/tus-node-server: dependabot/npm_and_yarn/npm_and_yarn-248d7b855a
dependabot created a new branch in tus/tus.io: dependabot/npm_and_yarn/zod-4.6.7
github-merge-queue created a new branch in tus/tus-node-server: gh-readonly-queue/main/pr-899-e94dad4a2b8edc880ed6e8a4b5297f8c62490c59
github-merge-queue pushed to tus/tus-node-server
github-merge-queue pushed to tus/tus-node-server
github-actions created a new branch in tus/tus-node-server: changeset-release/main
github-merge-queue pushed to tus/tus-node-server
TopCaver is now watching tus/tus-py-client
Acconut pushed to tus/tus.io
samsonjs opened pull request for tus/TUSKit
changeset-bot commented on Bump the npm_and_yarn group across 1 directory with 2 updates in tus/tus-node-server
Acconut pushed to tus/tus.io
ferhatelmas merged pull request for tus/tus-node-server