iced-rs / iced
A cross-platform GUI library for Rust, inspired by Elm
github.com/iced-rs/icedIndexed at 56b706fUp to date with upstream
What is iced?
iced is a cross-platform GUI library for building user interfaces in Rust. It uses a type-safe, reactive programming model inspired by Elm, with state, messages, view logic, and update logic as its core concepts. The library supports Windows, macOS, Linux, and the Web.
Written by a model from the README and the source
497 files and 11,102 symbols in 22 modules, led by Rust (364 files) and Python (1).
Code health
This codebase scores 5.5 out of 10 for code health, which we rate fair. It also scores maintainability 6.2 and static performance 9.9 out of 10. The three are scored separately and never blended into one number. Risk is concentrated, as it usually is: 27 of 497 files are git hotspots, and they average 2.4 — which is where the fixes pay off most.
On the leaderboards:#3 of 3 Rust UI libraries#8 of 13 Rust repos
Use iced-rs/iced in your agent
Point Claude Code, Cursor, Codex or VS Code at this repository. Your agent gets the index this page is built from: cited answers, callers, history and health for any file.
- 1.In Claude, open Customize → Connectors, click +, then Add custom connector. On a Team or Enterprise plan an owner adds it first under Organization settings → Connectors.
- 2.Paste the server URL below as the Remote MCP server URL, then click Add.
- 3.Click Connect. A Repowise sign-in window opens. Approve access.
- 4.Repowise's tools are now available in your Claude chats.
Connect with one click. Sign in with Repowise (OAuth), no API key to copy. Works in Claude on the web, desktop, and mobile.
Docshttps://api.repowise.dev/mcp/iced-rs/iced
This repo is public, so anyone with a Repowise account and an API key can connect.
Try asking
- get_overview()
- get_answer("how is iced put together?")
- get_why("why is iced structured this way?")
Explore iced
- DocumentationModule-by-module documentation, written from the source.
- ArchitectureDependency graph, layers and third-party dependencies.
- Code healthEvery file's score and the findings behind it.
- CommitsEach commit's effect on code health.
- OverviewEverything else the index found: contributors, decisions, what changed this week.
Key features of iced
- iced provides a type-safe, reactive programming model.
- iced supports Windows, macOS, Linux, and the Web.
- iced includes responsive layout and built-in widgets such as text inputs and scrollables.
- iced allows developers to create custom widgets.
- iced supports asynchronous actions through futures.
- iced includes debug tooling with performance metrics and time traveling.
How iced-rs/iced works
An application stores its data as state and represents user interactions or meaningful events as messages. View logic turns state into widgets that can produce messages, while update logic reacts to messages and changes the state. iced then lays out the widgets, processes system events, and draws the resulting interface. The core module provides central GUI functionality, while the widget module supplies built-in and custom widget support. The runtime module provides a renderer-agnostic native runtime, and the graphics module connects rendering components. The wgpu module provides a renderer supporting Vulkan, Metal, and DX12, while the examples directory demonstrates how the parts are used.
The codebase has 497 files and 11,102 symbols in 22 modules, led by Rust and Python. Code health is 5.5 out of 10, rated fair.
iced-rs/iced FAQ
What is iced?
iced is a cross-platform GUI library for Rust focused on simplicity and type-safety. It provides a reactive programming model inspired by Elm.
How does iced work?
iced turns application state into widgets through view logic, processes events into messages, and uses update logic to change state before drawing the interface.
What language is iced written in?
iced is written primarily in Rust. Its repository also includes one Python file.
How is the iced code organized?
iced is organized into modules including core, widget, graphics, wgpu, futures, and runtime. The examples directory demonstrates how these modules are used.
Who is iced for?
iced is for Rust developers building cross-platform graphical user interfaces. It is designed for end-user-oriented applications with a modular ecosystem.
What license does iced use?
iced uses the MIT license.
The summary, features and answers on this page are written by a model from the README and the source, and refreshed with each index.
About this page
Get a page like this for your own codebase
Repowise built this map of iced-rs/iced from its source and git history. It parses every symbol, draws the dependency graph, scores each file's health from complexity, duplication, coverage and churn, finds hotspots and owners in the history, and writes documentation for every module. Your coding agent reads the same index over MCP, so its answers cite real files.
Prefer local? pip install repowise && repowise init indexes your own checkout, no account needed.
Maintain iced-rs/iced?
Claim this page, add a badge to the README, or re-index it.
Claim this page
Sign in with GitHub and we check that you are an admin or maintainer of iced-rs/iced. Then add a badge to the README that links readers here.
Add a badge to your README
Every badge is public, cached, and updates on its own after every index. Nothing to install.
Repowise badge
Links to this page, with no score on it. Adding it also re-indexes the repo every week.
[](https://repowise.dev/repo/iced-rs/iced?src=badge_wiki)Code health badge
The repo's health score out of 10, from the latest index.
[](https://repowise.dev/repo/iced-rs/iced?src=badge_health)Code health card
A larger card with the score, its change since the last index, and when it was measured. The HTML version follows the reader's light or dark theme.
[](https://repowise.dev/repo/iced-rs/iced?src=badge_card)