# N2O

Erlang message protocol loop library for WebSocket, HTTP, MQTT and TCP servers, usable as a web framework or application server.


Source: https://findsoftware.frbit.cloud/n2o/
Last reviewed: 2026-10-26
Listed since: 2026-10-26

## Record

### Links

- home: https://n2o.dev/
- repository: https://github.com/synrc/n2o
- docs: https://ws.n2o.dev/

### Identity

- status: active
- maintainer: Synrc Research
- maintainerType: unknown
- parent: unknown
- firstRelease: 2013
- hqCountry: unknown

### Kind

- category: framework
- hosting: elixir
- language: erlang
- runtime: beam
- runtimeMin: beam 25
- basedOn: unknown

### Content

- contentStore: unknown
- databases: unknown
- adminUi: unknown
- headlessApi: unknown
- templating: dtl, nitro
- i18n: unknown

### Rendering and deploy

- runsAs: unknown
- renderingModes: unknown
- installMethod: mad get n2o, a rebar dependency

### License

- licenseModel: open-source
- license: ISC, DHARMA License

### Releases

- currentMajor: 13
- latestReleaseDate: 2026-04-14

### Adoption

- githubStargazers: 1340
- packagistDownloads: not applicable
- npmWeeklyDownloads: not applicable
- contributors: 59
- pluginCount: unknown
- packagistMonthlyDownloads: unknown
- ecosystemsMonthlyDownloads: unknown
- httpArchiveSites: unknown
- wordpressActiveInstalls: unknown
- dependentRepos: unknown
- dependentPackages: unknown

### Sources

- urls: https://n2o.dev/ (read 2026-10-26)
- urls: https://api.github.com/repos/synrc/n2o (read 2026-10-26)
- urls: https://ws.n2o.dev/ (read 2026-10-26)
- maintainer: https://raw.githubusercontent.com/synrc/n2o/master/LICENSE (read 2026-10-26)
- language: https://api.github.com/repos/synrc/n2o (read 2026-10-26)
- category: https://ws.n2o.dev/ (read 2026-10-26)
- runtime: https://n2o.dev/ (read 2026-10-26)
- runtimeMin: https://n2o.dev/ (read 2026-10-26)
- templating: https://raw.githubusercontent.com/synrc/n2o/master/README.md (read 2026-10-26)
- installMethod: https://ws.n2o.dev/ (read 2026-10-26)
- installMethod: https://n2o.dev/ (read 2026-10-26)
- license: https://raw.githubusercontent.com/synrc/n2o/master/README.md (read 2026-10-26)
- license: https://raw.githubusercontent.com/synrc/n2o/master/LICENSE (read 2026-10-26)
- licenseModel: https://raw.githubusercontent.com/synrc/n2o/master/LICENSE (read 2026-10-26)
- firstRelease: https://n2o.dev/articles/history.htm (read 2026-10-26)
- currentMajor: https://hex.pm/api/packages/n2o (read 2026-10-26)
- latestReleaseDate: https://hex.pm/api/packages/n2o (read 2026-10-26)
- githubStargazers: https://api.github.com/repos/synrc/n2o (read 2026-10-26)
- contributors: https://api.github.com/repos/synrc/n2o/contributors (read 2026-10-26)

## Notes

N2O is an Erlang library that relays messages for WebSocket, MQTT and TCP servers. Its core runs a loop that routes each request through a ring of virtual nodes and a set of managed processes, and it ships optional session storage, BERT and JSON encoders, and message-bus backends. The project describes normal use as a web framework or web application server over WebSockets. An application adds the library as a dependency with the mad build tool, and the package is published on Hex. The project's documentation also covers a Nitrogen web framework protocol module and a business process engine protocol module.

## Worth knowing

The README gives the license as ISC, but the LICENSE file in the repository is the DHARMA License, so a reader needs to check which terms apply before reuse.

---

Data licensed CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Attributes are recorded, never scored; absent means unknown.
Credit, in full: FindSoftware, CC BY 4.0
