Need help with nghttp3?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

415 Stars 49 Forks MIT License 442 Commits 6 Opened issues


HTTP/3 library written in C

Services available


Need anything else?

Contributors list


nghttp3 is an implementation of HTTP/3 mapping over QUIC and QPACK in C.

It does not depend on any particular QUIC transport implementation.

Branching strategy

As of the beginning of draft-23 development, the new branching strategy has been introduced. The main branch tracks the latest QUIC draft development. When new draft-NN is published, the new branch named draft-NN-1 is created based on the main branch. Those draft-NN branches are considered as "archived", which means that no update is expected. PR should be made to the main branch only.

For older draft implementations:

  • draft-32 
  • draft-31 
  • draft-30 
  • draft-29 
  • draft-28 
  • draft-27 
  • draft-25 
  • draft-24 
  • draft-23 
  • draft-22 


Online documentation 
_ is available.


This library implements HTTP/3 draft-33. It can exchange basic HTTP request, and response, but does not fully implement the specification at the moment. It does not support server push.

It also partially implements

Extensible Prioritization Scheme for
. Both Priority HTTP header field and HTTP/3 PRIORITYUPDATE frame are implemented.


This library implements QPACK draft-20. It supports dynamic table.


The MIT License

Copyright (c) 2019 nghttp3 contributors

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.