On this page
Overview
Hyper is an asynchronous HTTP library for Rust. It provides HTTP/1 and HTTP/2 client and server APIs and is designed as a lower-level building block for frameworks, clients, gateways, and custom network applications.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Handle HTTP/1 and HTTP/2 on both client and server sides
The README highlights HTTP/1, HTTP/2, asynchronous design, and both client and server APIs. Applications can compose connection-level handling and services when they need control below a full web framework.
Sources: [2]
Compose low-level HTTP pieces into servers, proxies, and upgrades
The examples cover basic clients and servers as well as reverse proxies, graceful shutdown, HTTP proxies, upgrades, shared state, and other lower-level patterns.
Sources: [3]
Best fit
Before adoption
Use a higher-level abstraction when routing or convenience is the main requirement
Hyper's README explicitly describes it as low level and points application-level HTTP clients toward Reqwest and server users toward frameworks such as Axum. Version 1.11.1 also contains several HTTP/1 bug fixes, so patch-level updates remain relevant within the 1.x line.
Official sources
- [1]hyperium/hyper — GitHub repository(2026-10-06)
- [2]Hyper 1.11.1 — README(2026-10-06)
- [3]Hyper 1.11.1 — examples README(2026-10-06)
- [4]Hyper 1.11.1 release(2026-10-06)
Supplemental curator note
Hyper is a lower-level HTTP building block rather than a batteries-included web framework or convenience client. Compare Axum for routing-focused servers and Reqwest for application-level HTTP clients before choosing the abstraction layer.
Try it in 3 steps
- 1
Clone the reviewed Hyper release
Clone the reviewed Hyper 1.11.1 tag. A Rust toolchain with Cargo is required.
git clone --depth 1 --branch v1.11.1 https://github.com/hyperium/hyper.git && cd hyper - 2
Start the official hello server
Follow the examples README and run the official hello example with the full feature set. It listens on 127.0.0.1:3000.
cargo run --example hello --features="full" - 3
Check the HTTP response
Send a localhost request from another terminal and confirm that the Hello World response is returned.
curl http://127.0.0.1:3000/
Growth
Growth trends · Last 30 days
16,351 Stars
Trend data is still being collected.
Built with
Categories and tags
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- http
- hyper
- rust
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- Actix Web24,855 Stars
2 shared tag(s) · 2 shared category(s) · Same language
build high-performance HTTP APIs and WebSocket services in Rust on the Tokio async ecosystem
Rust - redis-rs4,258 Stars
2 shared tag(s) · 2 shared category(s) · Same language
connect Rust applications to Redis and Valkey with synchronous or asynchronous clients
Rust - Uvicorn11,009 Stars
2 shared tag(s) · 2 shared category(s)
serve ASGI applications over HTTP/1.1, HTTP/2, and WebSockets with a Python web server
Python - Gunicorn10,694 Stars
2 shared tag(s) · 2 shared category(s)
serve Python WSGI and ASGI applications with a prefork worker model on UNIX
Python - Apache HTTP Server4,036 Stars
2 shared tag(s) · 2 shared category(s)
run web serving, TLS, virtual hosts, and reverse proxying through a modular server configuration
C - Diesel14,193 Stars
2 shared tag(s) · 1 shared category(s) · Same language
validate SQL queries and schemas with Rust's type system through an ORM and query builder
Rust
Report incorrect information
Tell us if any listing information is incorrect or outdated.