dioxus-compose

Dioxus in HTML and CSS,drawn natively by Compose.

Write your app the way you would for the web: div, h1, flexbox, a stylesheet, hooks and signals. dioxus-compose lays it out in Rust and hands the result to Compose Multiplatform, through compose-rust, to draw.

No webview and no JVM in what you ship. Compose widget names work in rsx! too.

  • No webview
  • No JVM in the shipped binary
  • Your CSS, laid out in Rust
  • Platform IME, including Korean
rsx! {
    main { class: "page",
        h1 { "Hello, Dioxus" }
        p {
            a {
                href: "#",
                onclick: move |event| {
                    event.prevent_default();
                    hellos += 1;
                },
                "Say hello"
            }
        }
    }
}

CSS in Rust, pixels in Compose

blitz-dom resolves your stylesheet and lays the page out inside the Rust process, the same engines Dioxus's own native renderer uses. Compose receives rectangles, colours and runs of text, never CSS, and draws them with its own text stack and input method.

Today the HTML path lays screens out and plans the drawing, and the bridge that draws them is being built (status). The widget path draws now.

324 / 326Boxes within 1px of VS Code, with VS Code's text sizes
11HTML and CSS examples, laid out and tested on the Host
28.76 MBA whole widget-path app on macOS, one file
No JVMRuns on a machine without Java

The VS Code comparison covers the activity bar, sidebar tree and editor tabs, measured on 2026-10-03 on macOS. The size is the notepad sample, release build, on a Mac mini (M1).

Where it stands today

PartState
HTML and CSS: layout, events, forms, images, scrollingimplemented in the Host, tested by the examples
HTML and CSS: drawing on screenpartial the renderer bridge is being built (#43, #67)
Text measured by Composepartial (#43)
CSS transforms beyond translate, transitions and animationsplanned (#46, #47)
HTML and widgets on one screenplanned
Compose widgets in rsx!implemented drawn on macOS, Android and the web; Windows, Linux and iOS build and start

This is an early project and it says so plainly. The status page lists every item with the issue that tracks it.

Start here