Public gateway checker
Checks which public gateways are online or not
**A site displaying public IPFS gateways and their online/offline status.** The project is written primarily in TypeScript, distributed under the Other license, first published in 2017. It has gained significant community traction with 2,101 stars and 382 forks on GitHub. Key topics include: ipfs, ipfs-gui.
IPFS Public Gateway Checker
A site displaying public IPFS gateways and their online/offline status.
View the Public Gateway Checker in action
- on GitHub Pages: https://ipfs.github.io/public-gateway-checker/
Public gateways are best-effort, with no SLA. They run as a public good and can rate-limit, change, or go offline at any time, so they suit demos and testing only. Production apps that can't run full peer-to-peer and need an HTTP Gateway or Delegated Routing should run a self-hosted IPFS stack end-to-end.
SECURITY NOTES
- For complex websites and apps, only use gateways with ✅ in the Origin column. Gateways marked ⚠️ lack origin isolation: all sites share localStorage, cookies, and session data. Learn more.
- For wallets and dapps, self-host your gateway on your local machine using IPFS Desktop or Kubo.
- No central authority governs this list. IPFS Foundation operates only:
ipfs.io,dweb.link, andtrustless-gateway.link.
Adding a new public gateway
Regular gateways
Edit ./gateways.json:
- Add the gateway's address to the top of the list
- If you care about security of websites loaded via your gateway, make sure it is set up as a subdomain gateway. See config docs and recipes for Kubo, and learn more here.
Tor onion gateways
Edit ./onion-gateways.json:
- Add the
.oniongateway address to the list - Note: these gateways are only testable via Tor Browser
Then, submit a pull request for this change. Be sure to follow all the directions in the pull request template so your PR can be triaged as quickly as possible.
Testing locally
bashnpm ci npm run build npm start
Then open http://localhost:3000/
Testing in Tor Browser: To access localhost:3000, go to about:config and set:
network.proxy.allow_hijacking_localhost=truenetwork.proxy.no_proxies_on=localhost, 127.0.0.1
Remember to reset these settings after testing.
Contributors
Showing top 12 contributors by commit count.

