explaingit

hyperium/hyper

Analysis updated 2026-06-24

16,060RustAudience · developerComplexity · 4/5LicenseSetup · moderate

TLDR

Low-level async HTTP/1 and HTTP/2 library for Rust. Used as the foundation for higher-level Rust web frameworks like axum, warp, and reqwest.

Mindmap

mindmap
  root((hyper))
    Inputs
      HTTP requests
      Tokio runtime
      TLS adapters
    Outputs
      HTTP responses
      Streaming bodies
      Client and server APIs
    Use Cases
      Build a custom HTTP server
      Power a web framework
      Write a high-performance client
    Tech Stack
      Rust
      Tokio
      HTTP/1
      HTTP/2
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build a custom HTTP server in Rust with full control over the protocol layer

USE CASE 2

Write a high-throughput HTTP client when reqwest is too opinionated

USE CASE 3

Use hyper as the transport behind your own web framework

What is it built with?

RustTokioHTTP/2

How does it compare?

hyperium/hyperlsd-rs/lsdredox-os/redox
Stars16,06016,00016,312
LanguageRustRustRust
Setup difficultymoderateeasyhard
Complexity4/51/55/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Low-level API means you wire up Tokio, services, and body types yourself. Most users want axum or reqwest instead.

MIT licensed. Use it for anything including commercial work as long as you keep the copyright notice.

In plain English

Hyper is a low-level HTTP library for the Rust programming language. HTTP is the protocol (communication standard) that powers the web, it's how browsers ask servers for pages, and how servers respond. A library like hyper handles all the details of speaking that protocol correctly so developers don't have to implement it themselves. Hyper supports both HTTP/1 and HTTP/2, works asynchronously (meaning it can handle many connections at once without waiting for each to finish), and provides both client (making requests) and server (receiving requests) interfaces. It is described as "low-level," meaning it's intended as a foundation for other tools to build on rather than something most developers use directly. Popular Rust web frameworks like axum and warp are built on top of hyper. If you want a simpler HTTP client for Rust, the README points to reqwest, which is built on hyper as well. Hyper is aimed at Rust developers building web servers, HTTP clients, or higher-level frameworks. It is licensed under the MIT license, meaning it is free to use and modify.

Copy-paste prompts

Prompt 1
Show me a minimal hyper server in Rust that responds to GET / with hello world
Prompt 2
Write a hyper client example that streams a large download to disk without buffering it in memory
Prompt 3
Explain when I should reach for hyper directly vs using axum or reqwest on top of it
Prompt 4
Help me upgrade my hyper 0.14 server to the 1.x API with the new service traits

Frequently asked questions

What is hyper?

Low-level async HTTP/1 and HTTP/2 library for Rust. Used as the foundation for higher-level Rust web frameworks like axum, warp, and reqwest.

What language is hyper written in?

Mainly Rust. The stack also includes Rust, Tokio, HTTP/2.

What license does hyper use?

MIT licensed. Use it for anything including commercial work as long as you keep the copyright notice.

How hard is hyper to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is hyper for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub hyperium on gitmyhub

Verify against the repo before relying on details.