Storj is a free, open source storage solutions project written in Go and released under AGPL-3.0. It has 3,282 GitHub stars, 429 forks and 361 open issues, and was last pushed 9 hours ago. On this registry it ranks #6 of 8 tracked projects in Storage Solutions, with 5 head-to-head comparisons available.

What is Storj?

What it is

Storj V3 Network is an open-source, Go-based distributed cloud object storage project. It lives in the S3-compatible storage ecosystem and provides a platform and suite of distributed applications for storing files across a global network of computers. The project addresses the problem of keeping data available without depending on a single centralized storage provider. It encrypts files, breaks them into pieces, and stores those pieces across the network, while owner-controlled retrieval is included.

The concrete problem it solves is secure distributed object storage for data that must remain private and retrievable. Instead of placing all file copies in one provider-controlled location, Storj splits encrypted objects across many machines and exposes access through tools such as Uplink and an S3 Gateway. This design targets object-storage workflows where encryption, distribution, and S3 compatibility matter.

Key capabilities

  • Distributed object storage: files are encrypted, split into pieces, and stored across a global network of computers.
  • S3 compatibility: the README describes Storj as an S3-compatible platform, and the wiki includes an S3 Gateway tutorial.
  • Owner-controlled retrieval: the project states that only the owner can retrieve files stored in the network.
  • Go client tooling: the repository is Go code, references uplink as a client library, and lists a Uplink CLI tutorial.
  • Test network access: the wiki provides a Storj Test Network tutorial for trying the distributed network.

Who uses it and how

  • Developers evaluating distributed storage can follow the Storj Test Network tutorial to try the distributed network.
  • Users needing command-line access can follow the Uplink CLI tutorial to store and retrieve encrypted object data.
  • Teams with existing S3 tooling can use the S3 Gateway path to interact with Storj through an S3-compatible interface.
  • Go developers and contributors can inspect the repository, review the white paper, and follow the contributing guide for feedback or pull requests.

Getting started

Start with the Storj wiki tutorials for the Test Network, Uplink CLI, and S3 Gateway. The repository is Go code under AGPL-3.0, and the README states that it is not intended for use through Go modules.

When to use it — and when not to

Use Storj when the goal is open-source distributed object storage with S3-compatible access, encrypted pieces, and client tools such as Uplink. Do not choose it when a stable Go module API is required, because the repository does not follow semantic versioning and may have backwards-incompatible changes between minor and patch releases. The facts do not describe a self-hosted deployment stack or required database, storage, or SMTP services, so teams needing a self-hosted deployment should verify deployment scope before adoption.

project readme (upstream, from github) — read inline
Storj logo

Storj V3 Network

Go Report Card Go Doc

Storj is building a distributed cloud storage network. Check out our white paper for more info!


Storj is an S3-compatible platform and suite of distributed applications that allows you to store data in a secure and distributed manner. Your files are encrypted, broken into little pieces and stored in a global distributed network of computers. Luckily, we also support allowing you (and only you) to retrieve those files!

Table of Contents

Contributing to Storj

All of our code for Storj v3 is open source. If anything feels off, or if you feel that some functionality is missing, please check out the contributing page. There you will find instructions for sharing your feedback, building the tool locally, and submitting pull requests to the project.

A Note about Versioning

While we are practicing semantic versioning for our client libraries such as uplink, we are not practicing semantic versioning in this repo, as we do not intend for it to be used via Go modules. We may have backwards-incompatible changes between minor and patch releases in this repo.

Start using Storj

Our wiki has documentation and tutorials. Check out these three tutorials:

License

This repository is currently licensed with the AGPLv3 license.

For code released under the AGPLv3, we request that contributors sign our updated Contributor License Agreement (CLA) v2 so that we can relicense the code under Apache v2, or other licenses in the future.

Support

If you have any questions or suggestions please reach out to us on our community forum or file a ticket at https://support.storj.io/.

Frequently asked questions

Is Storj free to use?

Storj is open source under the AGPL-3.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does Storj do?

Secure, decentralized cloud storage for your data

What is Storj written in?

Storj is primarily written in Go. Its source is publicly available at https://github.com/storj/storj, and it has 3,282 GitHub stars.