# rust-windowing/winit

Window handling library in pure Rust

Repository: https://github.com/rust-windowing/winit
Canonical: https://ross.abutalabs.com/products/winit
Homepage: https://docs.rs/winit/
Language: Rust
License: Apache-2.0
License Family: permissive
Topics: rust, windowing, android, ios, macos, wasm, wayland, windows, x11, gui, rust-lang
Last push: 2026-08-21T12:08:47+00:00

## Health v2 (maintenance only)
Score: 85/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 98, release rhythm 60, longevity 100
- inputs: {"age_days": 3844, "days_push": 12, "days_rel": 184, "gap_med": 33, "n_releases_24m": 8}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 6120, forks 1318 (observed 2026-08-28T04:09:36.142957+00:00)

## What it is
winit is a cross-platform window creation and management library written in pure Rust. It provides a unified API for creating windows and handling events (resize, keyboard, mouse, etc.) across desktop, mobile, and web platforms, serving as a low-level building block for GUI and game frameworks.

## Use cases
- create cross-platform windows in rust
- handle keyboard and mouse events in a rust app
- build a rust gui application
- create a window for a rust game engine
- render to a native window with wgpu
- support wayland and x11 in a rust app
- build a mobile app window in rust
- run a rust windowed app in the browser via wasm

## When to choose
- you need low-level window creation and event handling across many platforms in Rust
- you are building a game engine, renderer, or GUI toolkit that needs a windowing foundation
- you want a pure-Rust, dependency-light windowing layer with no rendering opinions

## When to avoid
- you need a full GUI toolkit with widgets and layouts - use egui, iced, or slint on top of winit instead
- you want built-in drawing or rendering - winit only creates windows and delivers events
- you are not writing Rust or a Rust-compatible ecosystem

## Facets
- artifact type: library
- maturity: active
- function: gui, graphics, game-engine, developer-tools
- domain: cross-platform, graphics, desktop-applications, web-development
- platform: rust, windows, wasm, cross-platform
- tags: windowing, event-loop, wayland, x11, input-handling, raw-window-handle, game-development, desktop-applications, linux, macos, android, ios

## Member repositories
- rust-windowing/winit (main) score 85

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:09:36.142957+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:48:00.327912+00:00, confidence not recorded.
  - readme: https://github.com/rust-windowing/winit (fetched 2026-08-28T04:09:36.142957+00:00, sha 89a9512a8f90)
  - homepage: https://docs.rs/winit/ (fetched 2026-08-29T08:44:42.099735+00:00, sha 75f318423ba1)
  - site_page: https://docs.rs/ (fetched 2026-08-29T08:44:42.109180+00:00, sha 0867b88bcf6e)
  - site_page: https://docs.rs/crate/winit/latest (fetched 2026-08-29T08:44:42.111078+00:00, sha 0cb72673f3d3)
  - site_page: https://docs.rs/crate/winit/latest/features (fetched 2026-08-29T08:44:42.112965+00:00, sha 90b97a7f8512)
  - site_page: https://docs.rs/about (fetched 2026-08-29T08:44:42.114628+00:00, sha 29ab7986fbf5)
  - site_page: https://docs.rs/about/badges (fetched 2026-08-29T08:44:42.116263+00:00, sha 6588cac258af)
  - site_page: https://docs.rs/about/builds (fetched 2026-08-29T08:44:42.117874+00:00, sha 811231ca4680)
  - site_page: https://docs.rs/about/metadata (fetched 2026-08-29T08:44:42.119749+00:00, sha 0dcdccb2b2b2)
  - site_page: https://docs.rs/about/redirections (fetched 2026-08-29T08:44:42.121552+00:00, sha 1b1efd93105f)
- Data as of 2026-08-30T08:39:29.467469+00:00.
