Choosing a WebSocket Library for Delphi — 2026 Buyer's Guide

· Reviews

Why this guide exists

WebSocket is no longer a niche transport. Trading dashboards, chat backends, multiplayer games, IoT control planes, AI streaming responses, browser-based admin consoles — almost every modern interactive application opens at least one WebSocket. Delphi developers asking “which library should I use?” in 2026 face a smaller field than they might think: not every classic Delphi networking package has caught up with RFC 6455, and some of the ones that have are aimed at very specific niches.

This guide surveys the realistic options as of 2026 — sgcWebSockets, Indy, TMS FNC WX, mORMot, Synapse — and gives a decision matrix at the end. Where claims depend on a vendor's current release, this article describes the situation as of writing; always confirm details against the vendor's latest changelog before committing.

The contenders

sgcWebSockets (eSeGeCe)

Commercial library focused on WebSocket and the broader modern protocol family (HTTP/2, HTTP/3, MQTT, AMQP, STOMP, SSE, WAMP, WebRTC, IoT, AI APIs). Full RFC 6455, per-message deflate, sub-protocols, channels, broadcast helpers, WatchDog auto-reconnect, IOCP server scaling, JavaScript client mirror, .NET port. Free Edition for non-commercial use; four paid editions. Delphi 7 through 13, plus C++Builder and .NET.

Indy (stock)

Stock Indy that ships with Delphi does not include a native WebSocket client or server. Several community add-ons exist (search GitHub for “Indy WebSocket”) but none are part of the official IndyProject distribution as of writing. If you build a WebSocket on top of Indy directly you are essentially writing the framer yourself. Free, ships in the box.

TMS FNC WX (formerly TMS WEB Core / FNC WebSocket)

TMS Software ships a cross-framework WebSocket component as part of the FNC family (TTMSFNCWebSocketClient and a server side via TMS XData / TMS Sparkle). It works on VCL, FMX, LCL and TMS WEB Core. Client-side is solid; server-side is primarily delivered through the TMS XData / Sparkle stack as a feature of those products. Commercial, with per-developer subscription pricing. Delphi 10.x and newer.

mORMot 2

Open-source full-stack framework by Synopse (Arnaud Bouchez). Includes a WebSocket client and server tightly integrated with its SOA/ORM/REST infrastructure. mORMot's WebSocket is mature, fast, supports binary framing and per-message deflate, and is widely used in production for high-scale services. The trade-off is that mORMot is opinionated — using just its WebSocket layer is possible but the natural fit is when you adopt the wider framework. Open source (MPL/GPL/LGPL tri-license), Delphi 7 and up, plus FreePascal.

Synapse

Classic open-source Pascal networking library. As of writing, stock Synapse does not include a WebSocket implementation. Some third-party WebSocket layers built on top of Synapse exist but they are unmaintained or single-author projects. Free.

Feature matrix

Feature sgcWebSockets Indy (stock) TMS FNC WX mORMot 2 Synapse
WebSocket clientYesNoYesYesNo
WebSocket serverYesNoVia TMS XData/SparkleYesNo
RFC 6455 (frames, masking, control frames)Yesn/aYesYesn/a
Per-message deflate (RFC 7692)Yesn/aPartialYesn/a
Sub-protocols / channels / broadcastYes, built-inn/aManualManualn/a
Auto-reconnect / WatchDogYesn/aManualManualn/a
WebSocket over TLS (wss://)Yes (OpenSSL, SChannel, BoringSSL)n/aYesYesn/a
WebSocket-MQTT / STOMP / WAMP sub-protocolsYesn/aNoLimitedn/a
HTTP/2, HTTP/3YesNoNoLimitedNo
IOCP / epoll server scalingYes (Windows IOCP, Linux epoll)Thread-per-connectionDepends on host serverYesn/a
JavaScript client mirrorYes (ships JS lib)n/aYes (TMS WEB Core integration)Manualn/a
.NET portYes (same API)n/aNoNon/a
Delphi versionsD7 - D13D7 - D13D10.x - D13D7 - D13, FPCD7 - D13, FPC
LicenseCommercial (Free Edition exists)Free, MIT-styleCommercialOpen source tri-licenseFree
Vendor supportIncluded with paid editionsCommunity (IndyProject)Included with subscriptionCommercial support via SynopseCommunity / single author
Active maintenanceMonthly releasesSlow but stableRegularVery activeSlow

Picking by scenario

Scenario 1: VCL desktop app that connects to a third-party WebSocket API

You need a client that connects to wss://, sends JSON, receives JSON, reconnects on disconnect, handles TLS. The shortest path is sgcWebSockets (drop the component, set URL, set WatchDog.Attempts, done) or TMS FNC WX if you already license the FNC pack. Indy and Synapse will require writing the framer yourself, which is a lot of work to get RFC 6455 edge cases right.

Scenario 2: Building a WebSocket server for hundreds of clients

sgcWebSockets is the natural choice if you want a standalone server component that serves HTTP and WebSocket on the same port with channels and broadcast. mORMot 2 is the natural choice if you are already building a SOA/REST service inside the mORMot framework — its WebSocket layer integrates with the rest of the stack and is battle-tested at scale.

Scenario 3: Tens of thousands of concurrent connections

Both sgcWebSockets (IOCP on Windows, epoll on Linux) and mORMot 2 have been deployed in production at that scale. Stock Indy's thread-per-connection model is unlikely to keep up without significant architectural work. TMS FNC WX scaling depends on the chosen host server (XData/Sparkle).

Scenario 4: WebSocket inside a Pascal full-stack framework (REST, ORM, SOA)

mORMot 2. It is what mORMot is for. Adopting just the WebSocket layer in isolation is possible but you get the most value when you embrace the wider framework.

Scenario 5: Cross-framework client (VCL, FMX, LCL, TMS WEB Core)

TMS FNC WX is designed for that exact case — one API across all four. sgcWebSockets covers VCL, FMX and C++Builder plus a .NET port, but does not target Lazarus/FPC.

Scenario 6: Need WebSocket plus MQTT, AMQP, WebRTC, HTTP/2, AI APIs

sgcWebSockets is the only library in this comparison that ships all of the above under a single product and a single component model. If your project is on a trajectory from “just a WebSocket client” to “a full real-time stack”, consolidating early is usually cheaper than gluing several libraries together later.

Scenario 7: Tight budget, open-source only, hobby project

mORMot 2 (open source) gives you a serious WebSocket implementation for free. sgcWebSockets' Free Edition is an option for non-commercial use. Indy with a community WebSocket add-on is technically possible but expect to read the relevant RFCs yourself.

Decision matrix

What matters mostRecommended pick
Fastest time to working client + vendor supportsgcWebSockets
Open-source full-stack frameworkmORMot 2
Cross-framework (VCL/FMX/LCL/WEB Core)TMS FNC WX
Highest concurrent connections, commercialsgcWebSockets
Highest concurrent connections, open sourcemORMot 2
One product covering WebSocket + MQTT + HTTP/2 + WebRTC + AIsgcWebSockets
Free / no-commit hobby projectmORMot 2 or sgcWebSockets Free Edition
Already inside a TMS XData / Sparkle projectTMS FNC WX
Already inside a mORMot projectmORMot 2

Checklist before you commit

Closing thoughts

The Delphi WebSocket landscape in 2026 is healthier than it looks at first glance. For a quick client, sgcWebSockets gets you working in minutes. For an open-source full-stack project, mORMot 2 is hard to beat. For cross-framework GUI clients, TMS FNC WX is a natural fit. Stock Indy and Synapse remain valuable for their classic Internet protocols but neither owns WebSocket. The right choice depends on where your project sits on the spectrum from “single endpoint” to “full real-time platform” — pick the library that matches both today's requirement and where you expect the project to be in two years.