IPFS powers the Distributed Web

A peer-to-peer hypermedia protocol
designed to preserve and grow humanity's knowledge
by making the web upgradeable, resilient, and more open.

The web of tomorrow needs IPFS today

IPFS aims to surpass HTTP in order to build a better web for all of us.

Today's web is inefficient and expensive

HTTP downloads files from one server at a time — but peer-to-peer IPFS retrieves pieces from multiple nodes at once, enabling substantial bandwidth savings. With up to 60% savings for video, IPFS makes it possible to efficiently distribute high volumes of data without duplication.

Today's web can't preserve humanity's history

The average lifespan of a web page is 100 days before it's gone forever. The medium of our era shouldn't be this fragile. IPFS makes it simple to set up resilient networks for mirroring data, and thanks to content addressing, files stored using IPFS are automatically versioned.

Today's web is centralized, limiting opportunity

The Internet has turbocharged innovation by being one of the great equalizers in human history — but increasing consolidation of control threatens that progress. IPFS stays true to the original vision of an open, flat web by delivering technology to make that vision a reality.

Today's web is addicted to the backbone

IPFS powers the creation of diversely resilient networks that enable persistent availability — with or without internet backbone connectivity. This means better connectivity for the developing world, during natural disasters, or just when you're on flaky coffee shop wi-fi.

Install IPFS

Join the future of the web right now — just choose the option that's right for you.

Store and provide files

IPFS Desktop icon

IPFS Desktop

IPFS for everyone

The IPFS Desktop app offers menubar/tray shortcuts and an easy interface for adding, pinning, and sharing files — plus a full IPFS node ready for heavy-duty hosting and development. Great for developers and less experienced users alike.

Screenshot of IPFS command-line interface

Command-line install

All IPFS, no frills

Just want to use IPFS from your terminal? Follow these step-by-step instructions for getting up and running on the command line using the Go implementation of IPFS. Includes directions for Windows, macOS, and Linux.

IPFS Companion icon

IPFS Companion

Add IPFS to your browser

Get ipfs:// address support and more in your browser with this extension for Chromium and Firefox.

IPFS Cluster logo

IPFS Cluster

Orchestrate multiple IPFS nodes

Automatically allocate, replicate, and track your data as a global pinset distributed among a swarm of peers.

For developers

IPFS icon with a superimposed Go logo

Go implementation

The original IPFS implementation: IPFS core, daemon server, CLI tooling, and more.

js-ipfs logo

JS implementation

IPFS implemented entirely in JavaScript for a world of possibilities in the browser and Node.js.

How IPFS works

Here's what happens when you add a file to IPFS — whether you're storing that file on your own local node or one operated by a pinning service or IPFS-enabled app.

When you add a file to IPFS, your file is split into smaller chunks, cryptographically hashed, and given a unique fingerprint called a content identifier (CID). This CID acts as an permanent record of your file as it exists at that point in time.

When other nodes look up your file, they ask their peer nodes who's storing the content referenced by the file's CID. When they view or download your file, they cache a copy — and become another provider of your content until their cache is cleared.

A node can pin content in order to keep (and provide) it forever, or discard content it hasn't used in a while to save space. This means each node in the network stores only content it is interested in, plus some indexing information that helps figure out which node is storing what.

If you add a new version of your file to IPFS, its cryptographic hash is different, and so it gets a new CID. This means files stored on IPFS are resistant to tampering and censorship — any changes to a file don't overwrite the original, and common chunks across files can be reused in order to minimize storage costs.

However, this doesn't mean you need to remember a long string of CIDs — IPFS can find the latest version of your file using the IPNS decentralized naming system, and DNSLink can be used to map CIDs to human-readable DNS names.

Take a closer look

Want to dig in?

Check out the docs

Hands-on learner?

Explore ProtoSchool

Curious where it all began?

Read the whitepaper

IPFS can help here and now

No matter what you do with the web, IPFS helps make it better today.


Storing archival data using IPFS enables deduplication, clustered persistence, and high performance — empowering you to store the world's information for future generations.

Service providers

Providing large amounts of data to users? Storing on IPFS could help you slash bandwidth costs thanks to its use of secure, peer-to-peer content delivery.


If you're working with or distributing large datasets, storing that data using IPFS can help speed up performance and unlock decentralized archiving.

Blockchain developers

IPFS content addressing enables you to store large files off-chain and put immutable, permanent links in transactions — timestamping and securing content without having to put the data itself on-chain.

Content creators

IPFS empowers creators to build and share on the decentralized web — whether that's delivering content free from intermediary control or minting NFTs that stand the test of time.

Offline users

High-latency networks cause major obstacles for those with poor internet infrastructure. Peer-to-peer IPFS offers resilient access to data independent of latency or backbone connectivity.

Who's already using IPFS?

Meet the Builders: Pinata

Explore the ecosystem

Companies and organizations worldwide are building amazing apps, services, and developer tools on IPFS. Check out the video to hear straight from IPFS builders, and explore the interactive IPFS ecosystem directory to learn more.

View the ecosystem directory

News and more

Latest blog posts

    In the media

      Latest videos

      More videos