| MsQuic | |
|---|---|
| Developer | Microsoft |
| Initial release | November 27, 2019; 6 years ago (2019-11-27) |
| Stable release | v2.5.4 / August 27, 2025; 5 months ago (2025-08-27) |
| Written in | C,C++ |
| Operating system | Windows 11 and later, Windows Server,Linux,Xbox Series X/S software |
| Platform | Cross-platform |
| Type | Software library |
| License | MIT License |
| Repository | |
MsQuic is afree and open source implementation of theIETFQUIC protocol written inC[1] that is officially supported on theMicrosoft Windows (includingServer),Linux, andXbox platforms. The project also provides libraries formacOS andAndroid, which are unsupported.[2] It is designed to be across-platform general purpose QUIC library optimized for client and server applications benefitting from maximal throughput and minimal latency. By the end of 2021 the codebase had over 200,000 lines of production code, with 50,000 lines of "core" code,[3] sharable across platforms. The source code is licensed underMIT License and available onGitHub.[4]
Among its features are, in part, support forasynchronous IO,receive-side scaling (RSS),UDP send and receive coalescing, and connection migrations that persist connections between client and server to overcome client IP or port changes,[5] such as when moving throughout mobile networks.[6]
Both theHTTP/3[7] andSMB stacks[8] ofMicrosoft Windows leverage MsQuic, withmsquic.sys providingkernel-mode functionality. Being dependent uponSchannel forTLS 1.3, kernel mode therefore does not support 0-RTT.[9]
User-mode programs can implement MsQuic, with support 0-RTT, throughmsquic.dll, which can be built from source code or downloaded as ashared library through binary releases on the repository.[9]
Its support for theMicrosoft Game Development Kit makes MsQuic usable on both Xbox and Windows.