Looking for the old web3.storage? Read more about our changes or log in to the old web3.storage.

Say hello to
the data layer

Start now

Use decentralized protocols like IPFS and UCAN to liberate your data.

We'll take care of the rest.

Connecting the web of data

Eliminate silos with web3.storage. Using IPFS and other decentralized protocols, create a true data layer that connects you, your users, and the Web, regardless of where content is stored - client-side, in the cloud, or elsewhere.

Sounds hard? It isn't. Our client libraries are super easy-to-use, abstracting the complexity of these decentralized protocols. And our hosted object storage provides best-in-class IPFS write and read performance and competitive pricing to web2 solutions, giving you the ability to write innovative applications without compromise.

import * as Client from '@web3-storage/w3up-client'
import { filesFromPaths } from 'files-from-path'

const client = await Client.create()

// first time setup!
if (!Object.keys(client.accounts()).length) {
  // waits for you to click the link in your email to verify your identity
  const account = await client.login('[email protected]')
  // create a space for your uploads
  const space = await client.createSpace('lets-go')
  // save the space to the store, and set as "current"
  await space.save()
  // associate this space with your account
  await account.provision(space.did())

// content-address your files
const files = await filesFromPaths(['./best-gifs'])
const root = await client.uploadDirectory(files)

console.log(root.toString()) // bafy...

web3.storage is built for scale



Why web3.storage?

With web3.storage you get all the benefits of decentralized storage and other cutting-edge protocols with the frictionless experience you expect in a modern dev workflow. Check out our docs pages to learn more.

Read docs


All data is accessible via IPFS and backed by Filecoin storage, with service authentication using decentralized identity. No servers needed, no lock-in, no trust necessary.


We take the best of web2 and web3 to provide infra you can rely on to scale with you. Frustration with decentralized storage is a thing of the past.


Start storing in minutes using w3up, our simple client library, to see how decentralized protocols can work together to unlock your data layer.

Get started with web3.storage

Choose your own way to store and retrieve using Web3.Storage. Use your email address to get 5 GiB storage for free, with paid plans starting at $10.

Create an account

JS Client

$ npm i @web3-storage/w3up-client

Import the library into your project, and enjoy a simple and familiar way to store and retrieve.

Command Line

$ w3 up ./anything

Install w3cli to store data from your command line for the fastest way to programmatically upload data.

Web App

Drop file to upload

Keep it simple? Upload your files directly through the console Web UI to try out web3.storage now.