# Welcome to the IPFS Docs
IPFS is a set of building blocks for a better web. Open protocols to make your data smarter: content-addressed, verifiable, and unstoppable.
On a more technical level, IPFS is a set of open protocols for addressing, routing, and transferring data on the web, built on the ideas of content addressing and peer-to-peer networking.
Many popular projects are built with IPFS - see the ecosystem directory (opens new window) and the awesome-ipfs (opens new window) list to find some of these projects.
# Get started
You can get started retrieving data and providing data to the IPFS network. If you'd rather develop applications, learn how to build IPFS-native apps or use standard HTTP in the Build section.
# Retrieve data
Quickly retrieve data from the IPFS network, no programming required:
- Fetch data via it's content identifier (CID)using an IPFS gateway.
- Install the IPFS Companion browser extension to add support for
ipfs://
andipns://
addresses to your browser.
# Provide data
Provide data to the IPFS network with IPFS Desktop or a pinning service:
- Install IPFS Desktop which bundles an IPFS node (Kubo) and a UI to manage files, peers, and explore content on IPFS.
- Publish content to the IPFS network with IPFS Desktop.
- Deploy static sites to the IPFS network with a GitHub Action.
# Build
You can build apps that leverage IPFS implementations, or use HTTP instead:
# Using IPFS
Build an IPFS-native app using one of the many IPFS implementations and tools:
- If you are familiar with JavaScript, checkout the IPFS in web apps guide, which covers how to use Helia (opens new window) and related libraries to build IPFS-native apps.
- To develop IPFS applications using Go and/or interact with IPFS from the terminal, use the IPFS Kubo implementation.
- Try any of the many other tools and implementations, which are written in different languages and tailored to specific needs and use cases.
# Using HTTP
As the IPFS ecosystem has grown and evolved with multiple implementations in different languages, HTTP has become an important foundation for interoperability. Check out the following resources to learn more:
- Control an IPFS Kubo node via HTTP using the Kubo RPC API, which supports multiple clients in multiple languages.
- For an implementation and runtime agnostic HTTP interface for retrieving data, use an IPFS gateway.
# Learn
- Learn what IPFS is and isn't, the problems it solves, the different subsystems that it is composed of and how each one works in the Basic Concepts.
- Dive into ideas like hashing, immutability, persistence (and more) that underlie IPFS in Ideas and theory.
- Learn more about the subsystems that IPFS is composed of in Subsystems and components
- Get an overview of IPFS implementations.
- Compare IPFS to other similar systems.
- Understand the project history, ecosystem status and more in the Project section.
- See how other software systems leverage IPFS in the Case Studies section.
# Join the IPFS community
TIP
Are you developing with IPFS implementations and tools, and looking for technical support from IPFS experts? For the fastest possible assistance and resolution of your support needs, see the guide to getting technical help and support.
IPFS has a bustling community of designers, developers, writers, and activists who are all helping to improve the project. Find out about the events and resources available, and how to get involved in the Community section