Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Rust
  3. iced

iced

MITRust0.14.0

A cross-platform GUI library for Rust focused on simplicity, type-safety, and a reactive programming model inspired by Elm.

Visit WebsiteGitHubGitHub
30.7k stars1.6k forks0 contributors

What is iced?

Iced is a cross-platform GUI library for Rust that allows developers to build native desktop and web applications with a simple, type-safe API. It solves the challenge of creating maintainable and predictable user interfaces by adopting a reactive programming model inspired by Elm, splitting UI logic into state, messages, view, and update components.

Target Audience

Rust developers looking to build desktop or web applications with a focus on simplicity, type safety, and a clean architectural pattern. It's ideal for those who appreciate Elm's reactive model and want a batteries-included solution.

Value Proposition

Developers choose Iced for its straightforward, type-safe API and the predictability of its Elm-inspired architecture. Its modular design, cross-platform capabilities, and built-in tooling like debug metrics offer a comprehensive yet flexible solution for GUI development in Rust.

Overview

A cross-platform GUI library for Rust, inspired by Elm

Use Cases

Best For

  • Building desktop applications in Rust that need to run on Windows, macOS, and Linux
  • Creating web applications with Rust and WebAssembly using a single codebase
  • Implementing reactive user interfaces with a clear separation of state and view logic
  • Developing custom widgets or extending GUI functionality in Rust projects
  • Prototyping or building applications where type safety and maintainability are priorities
  • Integrating async operations and futures directly into GUI event handling

Not Ideal For

  • Projects requiring immediate, production-grade stability and long-term support
  • Applications with highly complex UI animations or real-time graphics rendering needs
  • Teams that prefer HTML/CSS-based styling or have extensive web UI expertise
  • Scenarios where a large ecosystem of third-party components and plugins is critical

Pros & Cons

Pros

Reactive Architecture Clarity

Inspired by Elm, it enforces a clean separation of state, messages, view, and update logic, making UI code predictable and maintainable, as demonstrated in the counter example with type-safe message handling.

Cross-Platform Simplicity

Builds native applications for Windows, macOS, Linux, and the web from a single Rust codebase, leveraging renderers like wgpu and tiny-skia for performance without platform-specific code.

Built-in Debugging Tools

Includes performance metrics and time-travel debugging, allowing developers to optimize and troubleshoot applications efficiently, as highlighted in the debug tooling features.

First-Class Async Support

Integrates Rust futures directly into the update logic, enabling seamless handling of asynchronous operations in GUI events without boilerplate code.

Cons

Experimental Status

As admitted in the README, Iced is currently experimental software, meaning it may have breaking changes, unstable APIs, and is not recommended for critical production use without careful evaluation.

Limited Widget Library

While it includes basic widgets, the ecosystem is smaller compared to mature GUI frameworks, often requiring custom widget development for advanced or niche UI components.

Learning Curve for Elm Model

Developers unfamiliar with reactive programming or The Elm Architecture might find the paradigm shift challenging, despite the provided examples and documentation.

Frequently Asked Questions

Quick Stats

Stars30,679
Forks1,580
Contributors0
Open Issues351
Last commit1 day ago
CreatedSince 2019

Tags

#interface#user-interface#webassembly#graphics#native-apps#async#elm-architecture#widget#renderer-agnostic#reactive-ui#wgpu#widgets#type-safe#gui#cross-platform#elm#gui-library#rust#toolkit

Built With

w
winit
t
tiny-skia
R
Rust
w
wgpu

Links & Resources

Website

Included in

Rust56.6k
Auto-fetched 19 hours ago

Related Projects

TauriTauri

Build smaller, faster, and more secure desktop and mobile applications with a web frontend.

Stars107,600
Forks3,676
Last commit1 day ago
DioxusDioxus

Fullstack app framework for web, desktop, and mobile.

Stars36,286
Forks1,693
Last commit4 days ago
eguiegui

egui: an easy-to-use immediate mode GUI in Rust that runs on both web and native

Stars29,324
Forks2,050
Last commit3 days ago
SlintSlint

Slint is an open-source declarative GUI toolkit to build native user interfaces for Rust, C++, JavaScript, or Python apps.

Stars22,834
Forks898
Last commit22 hours ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub