juhaku

    juhaku/utoipa

    Simple, Fast, Code first and Compile time generated OpenAPI documentation for Rust

    documentation
    api
    auto-generated
    compile-time
    generated
    openapi
    openapi-documentation
    Rust
    Apache-2.0
    4.1K stars
    415 forks
    4.1K GitHub watchers
    Updated Nov 5, 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...

    Where it stands

    Rank, growth pace and release cadence relative to everything GStars tracks.

    5 releases in the last 90 days, the latest 16 days ago, with 145 contributors on GitHub.

    Peaked at #52 in the weekly ranking the week of Jul 26, its best in the past year.

    Use Cases & Benefits

    • Generates OpenAPI 3.1 documentation for Rust REST APIs using a code-first, compile-time approach with procedural macros.
    • Enables fast, minimal, and framework-agnostic API documentation generation tightly integrated with Rust code and popular web frameworks.
    • Use for auto-generating type-safe OpenAPI specs in Rust projects using actix-web, axum, or rocket frameworks.
    • Use for embedding OpenAPI documentation generation directly into Rust libraries or services without relying on external YAML/JSON files.
    • Use for customizing and modifying OpenAPI specs at runtime or build time with Rust-native types and traits.

    Should you depend on it?

    License terms, project hygiene and risks, from GitHub metadata and GStars' snapshots.

    License

    Apache 2.0

    Permissive: commercial use, modification and redistribution are allowed with attribution; includes an explicit patent grant from contributors.

    Community files

    • README: present

    Watch-outs

    No watch-outs from GStars' checks.

    General guidance from repository metadata, not legal advice. How we score

    From the README

    Pronounced /u:ˈtoʊ:i.pɑ/ or /u:ˈtoʊˌaɪ.piˈeɪ/ whatever works better for you.

    Want to have your API documented with OpenAPI? But don't want to be bothered with manual YAML or JSON tweaking? Would like it to be so easy that it would almost be utopic? Don't worry: utoipa is here to fill this gap. It aims to do, if not all, then most of the heavy lifting for you, enabling you to focus on writing the actual API logic instead of documentation. It aims to be minimal, simple and fast. It uses simple proc macros which you can use to annotate your code to have items documented.

    The utoipa crate provides auto-generated OpenAPI documentation for Rust REST APIs. It treats code-first approach as a first class citizen and simplifies API documentation by providing simple macros for generating the documentation from your code.

    It also contains Rust types of the OpenAPI spec, allowing you to write the OpenAPI spec only using Rust if auto generation is not your flavor or does not fit your purpose.

    Long term goal of the library is to be the place to go when OpenAPI documentation is needed in any Rust codebase.

    Utoipa is framework-agnostic, and could be used together with any web framework, or even without one. While being portable and standalone, one of its key aspects is simple integration with web frameworks.

    Others* = For example warp but could be anything.

    Refer to the existing examples to find out more.

    Excerpt from the juhaku/utoipa README on GitHub (Apache-2.0 license). © its authors.Read the full README on GitHub

    Daily snapshots

    Stars gained per day, and how forks and open issues moved, from GStars' daily snapshots

    Forks

    415-24

    Open issues

    258+20

    Compared with peers in Documentation

    Fastest-growing repositories GStars tracks in this cohort for the week of Nov 1, by 7-day star growth

    juhaku/utoipa compared with Documentation repositories by stars, 7-day star growth, health score and last release
    RepositoryStars+7dHealthLast release
    Tencent/WeKnora36.5K+721556 days ago
    github/docs21.3K+13645—
    getzola/zola17.6K—5747 days ago
    scalar/scalar16.3K—652 days ago
    Tencent/cherry-markdown4.9K—606 days ago
    juhaku/utoipa4.1K—5416 days ago
    Category median17.6K+42957—

    Discover Repositories

    Search across tracked repositories by name or description