Ranch is a socket acceptor pool for TCP protocols.

Ranch aims to provide everything you need to accept TCP connections with a small code base and low latency while being easy to use directly as an application or to embed into your own.


It is assumed the developer already knows Erlang and has some experience with socket programming and TCP protocols.

Supported platforms

Ranch is tested and supported on Linux, FreeBSD, macOS and Windows.

Ranch is developed for Erlang/OTP 22+.

Ranch may be compiled on earlier Erlang versions with small source code modifications but there is no guarantee that it will work as expected.


Ranch uses Semantic Versioning 2.0.0

Ranch 2.1 User Guide


Version select

Like my work? Donate!

Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and is fantastic:

Recurring payment options are also available via GitHub Sponsors. These funds are used to cover the recurring expenses like food, dedicated servers or domain names.