// the find
ipfs/helia
An implementation of IPFS in TypeScript
Helia is the official TypeScript rewrite of the IPFS JavaScript implementation, replacing the long-deprecated js-ipfs. It's aimed at developers who need IPFS in browser environments or Node.js and want something that isn't the heavy Go daemon wrapped in a shell. The architecture is genuinely modular — you pull in only the pieces you need (UnixFS, IPNS, CAR, etc.) rather than getting a monolith.
The split between the full p2p implementation (bitswap + libp2p) and the lightweight HTTP gateway-only variant (`@helia/http`) is a practical design decision — browser apps rarely need the full DHT stack. The interop test suite that runs against a real Kubo node is the right call; p2p protocol compatibility is the kind of thing that only breaks in integration, not unit tests. The benchmarks directory comparing Helia against Kubo directly is honest engineering — they're not hiding the performance gap. Active maintenance from Protocol Labs with daily commits as of mid-2026 means the underlying libp2p and multiformats dependencies are kept current.
Performance against Kubo is still a known gap for large file transfers — the benchmarks exist precisely because it's a problem they're still working on. The modular split is good in theory but the package count (helia, http, unixfs, ipns, car, dag-cbor, dag-json, strings, json, bitswap, dnslink, interop, delegated-routing-client, fallback-router) creates real version-pinning friction in practice; mismatched package versions will ruin your day. Browser WebRTC transport is complicated and the docs around which transports actually work in which environments aren't consolidated in one place. At 1.3k stars this is still a Protocol Labs internal project with Protocol Labs rhythm — if PL deprioritizes IPFS in JS again (as they did with js-ipfs), there's no independent community large enough to carry it.