# Welcome to the IPFS docs
The InterPlanetary File System (IPFS) is a set of composable, peer-to-peer protocols for addressing, routing, and transferring content-addressed data in a decentralized file system. Many popular Web3 projects are built on IPFS - see the ecosystem directory (opens new window) for a list of some of these projects.
# Get started
You can quickly store and retrieve data and interact with the network via a simple GUI app or a standard browser. If you'd rather develop applications, learn how to build IPFS-native apps or use standard HTTP in the Build section.
New to IPFS? Start with the 3-page Basic Concepts.
# Store and retrieve data
Quickly store data and retrieve data, no complex applications or programming required:
- Publish content to the IPFS network with a pinning service by following this quickstart guide.
- Fetch data via it's
content identifier (CID) using an IPFS gateway. - For long-term storage, use Filecoin (opens new window), the peer-to-peer network with built-in economic incentives that stores data on IPFS.
# Interact with the network
You can quickly interact the IPFS network using a simple GUI or a standard browser:
- For a simple, easy-to-use GUI application that bundles an IPFS node, file manager, peer manager, and content explorer, use IPFS Desktop.
- Interact with the network using any Brave, Chrome, Edge, Firefox, Opera, and any other Chromium-based web browser using the IPFS Companion browser extension.
# 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
- To develop IPFS applications using Go and/or interact with IPFS from the terminal, use the IPFS Kubo implementation in Go.
- If you'd rather use JavaScript, try the IPFS Helia implementation in JavaScript (opens new window).
- 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
Connect your Web2 application to the IPFS network using standard HTTP:
- 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