Fast. Non-Blocking. Type-Safe.

Suave is a lightweight, high-performance web server written in F#. Async from the ground up with modern optimizations for production workloads.

Why Suave?

High Performance

Async, non-blocking I/O with low-allocation hot paths. Built for throughput and steady latency under load.

🔒

Type-Safe

Leverage F#'s powerful type system. Catch errors at compile time. Domain modeling with discriminated unions and records.

⚙️

Async Native

Completely non-blocking I/O throughout. Native async/await with task computation expressions. Scales to thousands of concurrent connections.

🔧

Easy to Use

Simple, composable API. Build REST APIs, WebSockets, and microservices with minimal code. No magic, just pure F#.

📦

Production Ready

HTTPS/TLS support, keep-alive connections, HTTP compression, rate limiting, and comprehensive logging built-in.

🚀

HTTP/2 Built-in

Multiplexed binary framing with HPACK, server push and ALPN — automatic, zero-config, same WebPart for HTTP/1.1 and HTTP/2.

🌍

Cross-Platform

Runs on Linux, macOS, and Windows. .NET 8+ support. Deploy as executable or container.

Hello World - 30 Seconds

The simplest Suave application:

open Suave
open Suave.Successful

let app = OK "Hello, Suave!"

startWebServer defaultConfig app

That's it! Your web server is running on http://localhost:8080.

→ Read the getting started guide

What Can You Build?

  • REST APIs - Fast, type-safe REST backends
  • Microservices - Lightweight services with minimal overhead
  • Real-time Apps - WebSocket support for live features
  • GraphQL Servers - Built on top of Suave's composition model
  • Static File Server - Efficient static content delivery
  • Embedded Web Servers - Add web capabilities to any F# application

Installation

Add Suave to your F# project via NuGet:

dotnet add package Suave

Or add to paket.dependencies:

nuget Suave

→ Get started with your first project

Ready to build something fast?