Skip to main content
iroh is available in Rust, Python, Swift, Kotlin, and JavaScript. Pick the language that fits your app and follow its guide to get a working endpoint in minutes.
LanguageStatusPlatform notes
RustOfficialPrimary implementation
PythonOfficialPrebuilt wheels
SwiftOfficialiOS + macOS
KotlinOfficialJVM + Android
JavaScriptOfficialNode.js via N-API
All five official bindings share the same basic API surface for sending streams or datagrams over QUIC. The Rust language bindings are the most complete and up-to-date, and contain custom configuration and protocol features.

hello-iroh-ffi example app

One demo, four languages: SwiftUI and Jetpack Compose apps plus Python and Node console readers, all speaking the same protocol over iroh. A good starting point for any of the bindings.

Platform support

The n0.computer team offers official support for the following platforms.
PlatformRustPythonSwiftKotlinJavaScript
iOS (device + sim)
Android (aarch64, armv7)
macOS arm64
macOS x86_64
Linux x86_64 (glibc)
Linux x86_64 (musl)
Linux aarch64 (glibc)
Linux aarch64 (musl)
Linux armv7
Windows x86_64
Windows aarch64

Need a language we don't support?

Get in touch and tell us what you’re building. We can prioritize new bindings or help you maintain your own.

Build your own wrapper

If you’re comfortable with a little bit of Rust, you can write your own wrapper around iroh, a small application-specific binary that exposes functionality over a local HTTP server or daemon, or a full FFI wrapper from Rust to your target language. Either way, this gives you:
  • Full control over the API surface you expose
  • The ability to tailor it to your specific use case
  • Type-safe bindings for your language (with FFI)
  • Calls from any language (with an HTTP wrapper)
While it’s easy to get a first version working, ongoing maintenance and testing is the hard part. iroh is under active development, and keeping wrappers up to date with new releases, testing across platforms, and handling edge cases takes sustained effort. The number0 team runs a testing lab for this purpose. If you need help, schedule a meeting or contact us.

WebAssembly and browsers

iroh compiles to WebAssembly for use in browsers. See WebAssembly browser support for the constraints and a working browser-echo example.