actix

    actix/actix-web

    #296 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.8K stars
    1.9K forks
    24.8K GitHub watchers
    Updated 9/13/2026
    View on GitHub

    Build with Backblaze B2

    SDKs, agent skills, IDE extensions, and reference pipelines from Backblaze Labs. All open source.

    Explore Backblaze Labs

    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 creating real-time applications leveraging WebSocket client and server capabilities.
    • Use for serving static assets and handling multipart form data with built-in compression and SSL support.

    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