Overview
Leptos is a web framework for Rust, developed in the open since July 2022 by Greg Johnston (gbj) and hundreds of contributors. Components return views built with a JSX-like view! macro or a builder syntax, and state lives in fine-grained reactive signals, so updates touch only the DOM nodes that depend on changed values rather than re-rendering components.
For full-stack apps, pages render on the server and are progressively enhanced with client-side interactivity compiled to WebAssembly. #[server] functions let a component call backend code, such as a SQL query, without writing an API endpoint by hand. Apps can also run client-side only.
Deployment means shipping a Rust server binary plus the WASM and static assets. The Leptos book stresses always building in --release mode, testing release builds locally because some optimisations only apply there, and optimising WASM binary size to keep time-to-interactive down. The latest line was 0.9 in beta (July 2026), so the API still changes between minor versions.
Pricing and plans
What it does
- Fine-grained signals
- Reactive signals update exactly the affected DOM nodes.
- Server functions
- #[server] functions run on the server and are called like normal functions from the client.
- SSR with hydration
- Server-rendered HTML that hydrates via WebAssembly for interactivity.
- view! macro
- JSX-like templates in Rust, or a builder syntax.
- Type safety end to end
- Rust types shared between server and client code.
Strengths and limitations
Strengths
- One language and type system across frontend and backend.
- Fine-grained reactivity avoids virtual-DOM overhead.
- Active community with a published book, examples and awesome-leptos list.
Limitations
- Pre-1.0: versions such as 0.9 bring breaking changes.
- WASM bundles need size optimisation for good time-to-interactive, per the Leptos book.
- Release and debug builds can behave differently; the book advises testing release builds locally before deploying.
- Much smaller ecosystem of UI components and hosting integrations than JavaScript frameworks.
Who it suits
Good for
- Rust teams building full-stack web apps
- Apps that want shared types between server and client
- Performance-sensitive interactive UIs
Look elsewhere if
- Teams without Rust experience
- Content sites where a static generator is simpler
Alternatives to Leptos
| Tool | From | Free option | Stages |
|---|---|---|---|
| React Router (framework mode) React router and full-stack framework | — | ||
| Next.js Full-stack React framework | — | ||
| TanStack Start Full-stack React (and Solid) framework | — | ||
| Astro Content-focused web framework | — | ||
| Nuxt Full-stack Vue framework | — | ||
| Fresh Server-rendered web framework for Deno | — |
Questions
Can I build a full-stack app with Leptos?
Yes. Leptos supports server rendering, hydration and #[server] functions so backend and frontend code live in one Rust project.
How do I deploy a Leptos app?
Build in --release mode and run the server binary with the generated WASM and static assets on any host that runs Linux binaries or containers.
Is Leptos 1.0?
No. At the time of writing the latest release line was 0.9 in beta.
Sources read for this page