actix

    actix/actix-web

    #233 this week

    Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust.

    backend
    messaging
    actix
    actix-web
    async
    rust
    web
    Rust
    Apache-2.0
    24.7K stars
    1.9K forks
    24.7K GitHub watchers
    Updated 7/8/2026
    View on GitHub

    Backblaze Generative Media Hackathon

    Build the next generation of AI media apps with Genblaze, stored on Backblaze B2. $10,000 in prizes.

    Enter the hackathon

    Loading star history...

    Use Cases & Benefits

    • Provides a fast, pragmatic web framework for building asynchronous web applications in Rust.
    • Delivers high performance with full HTTP/1.x and HTTP/2 support and seamless Tokio async runtime integration.
    • Use for developing scalable RESTful APIs with advanced routing and middleware support in Rust.
    • Use for implementing real-time WebSocket servers and clients with built-in protocol handling.
    • Use for serving static assets and handling multipart form data in secure HTTPS web services.

    About actix-web

    Actix Web

    Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust

    crates.io Documentation MSRV MIT or Apache 2.0 licensed Dependency Status
    CI codecov downloads Chat on Discord

    Features

    • Supports HTTP/1.x and HTTP/2
    • Streaming and pipelining
    • Powerful request routing with optional macros
    • Full Tokio compatibility
    • Keep-alive and slow requests handling
    • Client/server WebSockets support
    • Transparent content compression/decompression (br, gzip, deflate, zstd)
    • Multipart streams
    • Static assets
    • SSL support using OpenSSL or Rustls
    • Middlewares (Logger, Session, CORS, etc)
    • Integrates with the awc HTTP client
    • Runs on stable Rust 1.72+

    Documentation

    Example

    Dependencies:

    [dependencies]
    actix-web = "4"
    

    Code:

    use actix_web::{get, web, App, HttpServer, Responder};
    
    #[get("/hello/{name}")]
    async fn greet(name: web::Path<String>) -> impl Responder {
        format!("Hello {name}!")
    }
    
    #[actix_web::main] // or #[tokio::main]
    async fn main() -> std::io::Result<()> {
        HttpServer::new(|| {
            App::new().service(greet)
        })
        .bind(("127.0.0.1", 8080))?
        .run()
        .await
    }
    

    More Examples

    You may consider checking out this directory for more examples.

    Benchmarks

    One of the fastest web frameworks available according to the TechEmpower Framework Benchmark.

    License

    This project is licensed under either of the following licenses, at your option:

    Code of Conduct

    Contribution to the actix/actix-web repo is organized under the terms of the Contributor Covenant. The Actix team promises to intervene to uphold that code of conduct.

    Discover Repositories

    Search across tracked repositories by name or description