shadcn-rs

August 6, 2026 · View on GitHub

egui and iced component set with shadcn/ui aesthetics.

shadcn-rs logo

Translations: RU PT-BR

License: MIT OR Apache-2.0 egui-shadcn iced-shadcn iced-shadcn-v2 shadcn-common

Warning

API STABILITY NOTICE: shadcn-rs API is currently unstable and may change between versions, including breaking changes. Always pin exact crate versions and review release notes before upgrading.

Overview

  • Rust workspace for shadcn-style UI component libraries.
  • Two public API styles: props-first (*Props / free functions) and builder-first (fluent Component::new(…).variant(…) chains).
  • Theming and style packs in shadcn-common are built on twill.

Crates

  • egui-shadcn — egui components, props-first API (some thin builder wrappers on top of props; see crates/egui-shadcn/README.md).
  • iced-shadcn — iced components, v1 props-first API (see crates/iced-shadcn/README.md).
  • iced-shadcn-v2 — iced components, v2 builder-first API; does not depend on v1 (see crates/iced-shadcn-v2/README.md).
  • shadcn-common — shared design tokens, style packs, and backend-agnostic helpers for egui/iced (see crates/shadcn-common/README.md).

Demos

egui-shadcn — WASM showcase

Full interactive showcase for egui-shadcn (and iced) in the browser:

ferrismind.github.io/shadcn-rs

https://github.com/user-attachments/assets/8a3e7f25-fc51-4434-99d8-b9eb0de99e8f

Source: crates/wasm-demo.

iced-shadcn v1 — desktop apps

These desktop apps use the v1 (iced-shadcn) props-first API and are still under development. See also issue #5.

Nova Code

Minimal VS Code–style editor UI on iced.

https://github.com/user-attachments/assets/04ddafcb-adf1-42fa-bb0e-97676792973b

Zver

Minimal desktop browser using system web engines via wry.

https://github.com/user-attachments/assets/0afa7180-efd5-496e-8f28-5a371fe2a12d

NeuroLang

Local desktop translator (text for now; more formats planned).

https://github.com/user-attachments/assets/e4908f23-5f14-486b-8200-9164f4136322

License

Dual-licensed under MIT OR Apache-2.0 (see workspace Cargo.toml).

Acknowledgements

  • egui — immediate-mode GUI framework for the egui-shadcn crate.
  • iced — retained-mode GUI framework for the iced-shadcn and iced-shadcn-v2 crates.
  • Lucide Icons — icon set used via lucide-icons.
  • Radix UI — interaction patterns and accessibility cues.
  • shadcn/ui — design language and component inspiration.
  • shadcn-svelte — Svelte port of shadcn/ui; reference for component patterns and API shape.