# ngtcp2/ngtcp2

ngtcp2 project is an effort to implement IETF QUIC protocol

Repository: https://github.com/ngtcp2/ngtcp2
Canonical: https://ross.abutalabs.com/products/ngtcp2
Homepage: https://nghttp2.org/ngtcp2/
Language: C
License: MIT
License Family: permissive
Topics: quic, udp, networking, protocol, c, rfc9000, rfc9001, rfc9002, rfc9221, rfc9287, rfc9368, rfc9369
Last push: 2026-08-25T12:58:02+00:00

## Health v2 (maintenance only)
Score: 98/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 99, release rhythm 95, longevity 100
- inputs: {"age_days": 3356, "days_push": 8, "days_rel": 38, "gap_med": 28, "n_releases_24m": 22}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1508, forks 303 (observed 2026-08-28T04:04:55.511061+00:00)

## What it is
ngtcp2 is a C library implementing the IETF QUIC transport protocol (RFC9000) with no external library dependencies for the core. It includes example QUIC client and server applications and supports multiple TLS backends such as OpenSSL, GnuTLS, BoringSSL, and wolfSSL.

## Use cases
- implement QUIC protocol support in a C or C++ application
- build an HTTP/3 client or server on top of QUIC
- test QUIC interoperability against a public endpoint
- embed QUIC transport in a proxy or load balancer
- experiment with QUIC RFC extensions like datagrams and address validation

## When to choose
- you need a low-level, dependency-free QUIC implementation in C
- you want flexibility to pick among multiple TLS backends
- you are building HTTP/3 infrastructure and need a mature QUIC transport layer

## When to avoid
- you want a high-level HTTP/3 API out of the box (pair it with nghttp3 instead)
- you need QUIC in a managed language like Python or Go without C bindings
- you only need a ready-made QUIC client/server application rather than a library

## Facets
- artifact type: library
- maturity: active
- function: networking, http-server, http-client, developer-tools
- domain: networking, web-development, developer-tools, performance
- platform: windows, cross-platform, c
- tags: quic, http3, rfc9000, udp, transport-protocol, tls, linux, macos

## Member repositories
- ngtcp2/ngtcp2 (main) score 98

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:55.511061+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T04:32:33.922674+00:00, confidence not recorded.
  - readme: https://github.com/ngtcp2/ngtcp2 (fetched 2026-08-28T04:04:55.511061+00:00, sha f654c8b0f22f)
  - homepage: https://nghttp2.org/ngtcp2/ (fetched 2026-08-29T11:36:47.135765+00:00, sha 4ca20a922a06)
- Data as of 2026-08-30T08:39:29.467469+00:00.
