Browser extension that routes ipfs:// addresses and content-addressed websites through your own local IPFS node
See the codeUse IPFS directly in your browser
[!IMPORTANT] There is no dedicated maintainer at the moment.
After Protocol Labs nucleation, the Shipyard team maintained this project in 2024, 2025 and 2026. Shipyard's IPFS maintenance work ended on September 30, 2026.
Bring support and transition questions to the community forum.
IPFS Companion connects your browser to your local IPFS Kubo node (either through the IPFS Desktop app or the command-line daemon), running inside your Chromium-based or Firefox browser, with support for ipfs:// addresses, redirecting content-addressed websites and file paths to your local Gateway, easy IPFS file import and sharing, and more.
IPFS is a peer-to-peer hypermedia protocol designed to make the web faster, safer, more resilient, and more open. It enables completely distributed sites and applications that don’t rely on centralized hosting and stay true to the original vision of an open, flat web. Visit the IPFS Project website to learn more.
IPFS Companion detects requests for IPFS-like paths (such as /ipfs/{cid} or /ipns/{peerid_or_host-with-dnslink}) on any website. If a path is a valid IPFS address, it is redirected to load from your local gateway. The gateway at localhost will also automatically switch to a subdomain gateway to provide a unique origin for each website:
[!NOTE] Path gateway redirect flow:
- Step 1: Public gateway URL detected
https://ipfs.io/ipfs/QmbWqxBEKC3P8tqsKc98xmWNzrzDtRLMiMPL8wBuTGsMnR- Step 2: Redirect to local gateway
http://localhost:8080/ipfs/QmbWqxBEKC3P8tqsKc98xmWNzrzDtRLMiMPL8wBuTGsMnR- Step 3: Automatic upgrade to subdomain with origin isolation
http://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi.ipfs.localhost:8080
[!NOTE] Subdomain gateway redirect flow:
- Step 1: Subdomain gateway URL detected
https://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi.ipfs.dweb.link- Step 2: Redirect to local subdomain with origin isolation
http://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi.ipfs.localhost:8080
IPFS Companion detects DNSLink info in the DNS records of websites. If a site uses DNSLink (a few examples are https://docs.ipfs.tech, https://ipld.io, and http://tr.wikipedia-on-ipfs.org), IPFS Companion redirects the HTTP request to your local gateway:
[!NOTE] DNSLink redirect flow:
- Step 1: DNSLink-enabled website detected
http://docs.ipfs.tech- Step 2: Redirect to local gateway
http://localhost:8080/ipns/docs.ipfs.tech- Step 3: Automatic upgrade to subdomain with origin isolation
http://docs.ipfs.tech.ipns.localhost:8080/
DNSLink lookups run in the background and are cached, so they don't slow down your browsing. The first time you open a DNSLink website, IPFS Companion upgrades the tab to your local gateway as soon as the record resolves, with no manual refresh. You can turn detection off under "Detect DNSLink Websites" in Preferences. Learn more.
You can disable and re-enable local gateway redirects by several means:
x-ipfs-companion-no-redirect to the URL as a query parameter (example). You can turn this opt-out off under "Honor ?x-ipfs-companion-no-redirect opt-out" in Preferences.IPFS Companion enables you to quickly and easily access common actions from your browser bar with just a few clicks:
You can toggle redirects for an individual website under the Current Tab section of the main menu. If that site uses DNSLink, toggling off will restore the site's original URL, too.
To temporarily suspend all IPFS integrations (redirects, API status content scripts, protocol handlers, etc.), use the on/off button at the top of the IPFS Companion menu.
IPFS Companion ships with a variety of experimental features. Some are disabled by default, so be sure to check out IPFS Companion's Preferences to see them all.
ipfs://$cidipns://$cid_or_fqdnImportant! Make sure you have IPFS installed on your computer as well. IPFS Companion requires a local IPFS Kubo node running on your computer to function properly.
It's also possible to grab vendor-specific packages for each release,
but these builds are not signed, nor will they automatically update. .zip bundles are meant only to be manually loaded via chrome://extensions (Chromium) or about:debugging (Firefox) for smoke-testing.
To work on IPFS Companion's code, you'll need to install it from source. Quick steps are below, but see the full developer notes for more detailed instructions and tips.
$ npm run dev-build chromium
$ npm run dev-build firefox # firefox:nightly works too!
Contributions are welcome.
The release process has been documented here.
[!TIP] The best place to ask about IPFS Companion (or IPFS in general!) is in the official IPFS Forums, where you can search past discussions for others who may have had the same questions, too.
These frequently encountered troubleshooting situations may be helpful:
# Enable IPFS redirect to LOCAL
Site ^http://127.0.0.1:8080/(ipfs|ipns)*
Anonymize
# Prevent Internet sites from requesting LAN resources.
Site LOCAL
Accept from LOCAL
Deny
501 followers · starred Oct 2020
230 followers · starred Feb 2016
1,795 followers · starred Feb 2016
272 followers · starred Aug 2017
Browser extension that routes ipfs:// addresses and content-addressed websites through your own local IPFS node
See the codeUse IPFS directly in your browser
[!IMPORTANT] There is no dedicated maintainer at the moment.
After Protocol Labs nucleation, the Shipyard team maintained this project in 2024, 2025 and 2026. Shipyard's IPFS maintenance work ended on September 30, 2026.
Bring support and transition questions to the community forum.
IPFS Companion connects your browser to your local IPFS Kubo node (either through the IPFS Desktop app or the command-line daemon), running inside your Chromium-based or Firefox browser, with support for ipfs:// addresses, redirecting content-addressed websites and file paths to your local Gateway, easy IPFS file import and sharing, and more.
IPFS is a peer-to-peer hypermedia protocol designed to make the web faster, safer, more resilient, and more open. It enables completely distributed sites and applications that don’t rely on centralized hosting and stay true to the original vision of an open, flat web. Visit the IPFS Project website to learn more.
IPFS Companion detects requests for IPFS-like paths (such as /ipfs/{cid} or /ipns/{peerid_or_host-with-dnslink}) on any website. If a path is a valid IPFS address, it is redirected to load from your local gateway. The gateway at localhost will also automatically switch to a subdomain gateway to provide a unique origin for each website:
[!NOTE] Path gateway redirect flow:
- Step 1: Public gateway URL detected
https://ipfs.io/ipfs/QmbWqxBEKC3P8tqsKc98xmWNzrzDtRLMiMPL8wBuTGsMnR- Step 2: Redirect to local gateway
http://localhost:8080/ipfs/QmbWqxBEKC3P8tqsKc98xmWNzrzDtRLMiMPL8wBuTGsMnR- Step 3: Automatic upgrade to subdomain with origin isolation
http://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi.ipfs.localhost:8080
[!NOTE] Subdomain gateway redirect flow:
- Step 1: Subdomain gateway URL detected
https://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi.ipfs.dweb.link- Step 2: Redirect to local subdomain with origin isolation
http://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi.ipfs.localhost:8080
IPFS Companion detects DNSLink info in the DNS records of websites. If a site uses DNSLink (a few examples are https://docs.ipfs.tech, https://ipld.io, and http://tr.wikipedia-on-ipfs.org), IPFS Companion redirects the HTTP request to your local gateway:
[!NOTE] DNSLink redirect flow:
- Step 1: DNSLink-enabled website detected
http://docs.ipfs.tech- Step 2: Redirect to local gateway
http://localhost:8080/ipns/docs.ipfs.tech- Step 3: Automatic upgrade to subdomain with origin isolation
http://docs.ipfs.tech.ipns.localhost:8080/
DNSLink lookups run in the background and are cached, so they don't slow down your browsing. The first time you open a DNSLink website, IPFS Companion upgrades the tab to your local gateway as soon as the record resolves, with no manual refresh. You can turn detection off under "Detect DNSLink Websites" in Preferences. Learn more.
You can disable and re-enable local gateway redirects by several means:
x-ipfs-companion-no-redirect to the URL as a query parameter (example). You can turn this opt-out off under "Honor ?x-ipfs-companion-no-redirect opt-out" in Preferences.IPFS Companion enables you to quickly and easily access common actions from your browser bar with just a few clicks:
You can toggle redirects for an individual website under the Current Tab section of the main menu. If that site uses DNSLink, toggling off will restore the site's original URL, too.
To temporarily suspend all IPFS integrations (redirects, API status content scripts, protocol handlers, etc.), use the on/off button at the top of the IPFS Companion menu.
IPFS Companion ships with a variety of experimental features. Some are disabled by default, so be sure to check out IPFS Companion's Preferences to see them all.
ipfs://$cidipns://$cid_or_fqdnImportant! Make sure you have IPFS installed on your computer as well. IPFS Companion requires a local IPFS Kubo node running on your computer to function properly.
It's also possible to grab vendor-specific packages for each release,
but these builds are not signed, nor will they automatically update. .zip bundles are meant only to be manually loaded via chrome://extensions (Chromium) or about:debugging (Firefox) for smoke-testing.
To work on IPFS Companion's code, you'll need to install it from source. Quick steps are below, but see the full developer notes for more detailed instructions and tips.
$ npm run dev-build chromium
$ npm run dev-build firefox # firefox:nightly works too!
Contributions are welcome.
The release process has been documented here.
[!TIP] The best place to ask about IPFS Companion (or IPFS in general!) is in the official IPFS Forums, where you can search past discussions for others who may have had the same questions, too.
These frequently encountered troubleshooting situations may be helpful:
# Enable IPFS redirect to LOCAL
Site ^http://127.0.0.1:8080/(ipfs|ipns)*
Anonymize
# Prevent Internet sites from requesting LAN resources.
Site LOCAL
Accept from LOCAL
Deny
501 followers · starred Oct 2020
230 followers · starred Feb 2016
1,795 followers · starred Feb 2016
272 followers · starred Aug 2017