Tauri

Build tiny, fast, and secure desktop and mobile apps with a Rust backend and a web frontend.

Framework
Cargo
v3.0.0-alpha.3
111,435 stars
Apache License 2.0

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
91 /100 Excellent
Development Activity 100
Maintenance 100
Community 64
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
91 /100 Excellent
Architecture 95
Code Quality 90
Innovation 88
Learning Curve 88

Tauri is a framework for building cross-platform desktop and mobile applications that pair a Rust backend with a web-based user interface. Instead of shipping an entire browser engine, it renders your HTML/CSS/JS through each operating system’s native webview (WKWebView, WebView2, WebKitGTK), producing binaries that are dramatically smaller and more memory-efficient than typical Electron apps.

Beyond rendering, Tauri owns the full application lifecycle: it scaffolds projects, wires a secure IPC bridge between JavaScript and Rust commands, enforces a capability-based permission system, and bundles finished apps into platform-native installers (.dmg, .deb, .rpm, .AppImage, .msi, .exe) with an optional built-in updater. You can bring any frontend framework that compiles to HTML, JS, and CSS.

What You Get

  • A Rust application core that renders your existing web frontend through the OS-native webview, keeping binaries small and memory usage low.
  • A type-safe IPC layer that exposes Rust functions to JavaScript via the #[command] macro and generate_handler!.
  • A capability- and permission-based security model (ACL) that scopes what the frontend is allowed to invoke.
  • A built-in bundler that produces native installers for macOS, Windows, and Linux, plus a self-updater for desktop.
  • First-class mobile support for iOS and Android alongside the desktop targets.

Common Use Cases

  • Porting an existing web application into a lightweight, installable desktop app without the overhead of Electron.
  • Shipping a single codebase to desktop and mobile with native installers and app-store bundles.
  • Building security-sensitive desktop tools where a granular permission system over native APIs matters.
  • Creating developer tools, dashboards, and utilities that need system tray icons, native notifications, and auto-updates.

Under The Hood

Architecture — Tauri is a multi-crate workspace layered around a runtime abstraction. The public tauri crate (crates/tauri, ~1,260 lines in lib.rs and a 2,664-line app.rs) exposes the app builder, Manager, AppHandle, window/webview, menu, tray, and plugin APIs. Windowing and webview are delegated through the tauri-runtime trait and its default implementation tauri-runtime-wry, which drives tao for window handling and WRY for a unified interface over WKWebView, WebView2, and WebKitGTK. A codegen layer (tauri-codegen, tauri-macros) compiles tauri.conf.json, embeds assets, and generates the IPC command dispatch, while a RuntimeAuthority enforces the capability/permission ACL on every frontend call routed through the ipc module. Tech Stack — Written in Rust (edition 2021+) with Tokio as the async runtime; serde/serde_json for configuration and IPC serialization; thiserror and anyhow for errors; url and uuid utilities; and the tao/WRY stack for native windowing. The repo is a Cargo + pnpm hybrid, splitting Rust crates (tauri, tauri-build, tauri-cli, tauri-bundler, tauri-runtime, etc.) from TypeScript API/CLI packages. Code Quality — The codebase is mature and well-tested: roughly 20 source files under the core crate carry inline #[cfg(test)] coverage, and a dedicated test module ships a mock_runtime so applications and Tauri itself can be exercised without a real webview. Extensive //! module docs, a documented feature-flag matrix, and a large examples/ tree (api, multiwindow, isolation, resources, and more) back the public surface. API Design — The developer experience centers on ergonomic macros — #[command], generate_handler!, and mobile_entry_point — that reduce IPC boilerplate to annotated functions, plus a fluent Builder pattern for assembling the app. Feature flags are granular and documented, and the CLI (create-tauri-app) scaffolds a working project in one command.

Used by 116 apps in this directory

Rust
98%
GPL 3.0

Pake

Developer Tools

61,763

Turn any webpage into a lightweight native desktop app with one command — built on Rust/Tauri instead of Electron, producing installers nearly 20x smaller (typically under 10MB) for macOS, Windows, and Linux.

View details
92
Repo Health
75
Technical
73
Dependency
Built with
Rust 98%
Updated 2 weeks ago
Rust
98%
GPL 3.0

Pake

Developer Tools

61,763

Turn any webpage into a lightweight native desktop app with one command — built on Rust/Tauri instead of Electron, producing installers nearly 20x smaller (typically under 10MB) for macOS, Windows, and Linux.

View details
92
Repo Health
75
Technical
73
Dependency
Built with
Rust 98%
Updated 2 weeks ago
Rust
98%
GPL 3.0

Pake

Developer Tools

61,763

Turn any webpage into a lightweight native desktop app with one command — built on Rust/Tauri instead of Electron, producing installers nearly 20x smaller (typically under 10MB) for macOS, Windows, and Linux.

View details
92
Repo Health
75
Technical
73
Dependency
Built with
Rust 98%
Updated 2 weeks ago
Rust
66%
GPL 3.0

Pipedash

Developer Tools · Devops · Monitoring

1,085

One dashboard to monitor, trigger, and cancel CI/CD pipelines across GitHub, GitLab, Jenkins, Tekton, Buildkite, ArgoCD, and Bitbucket — desktop, Docker, or iOS.

View details
50
Repo Health
64
Technical
73
Dependency
Built with
Rust 66%
TypeScript 33%
Updated 1 months ago
Rust
66%
GPL 3.0

Pipedash

Developer Tools · Devops · Monitoring

1,085

One dashboard to monitor, trigger, and cancel CI/CD pipelines across GitHub, GitLab, Jenkins, Tekton, Buildkite, ArgoCD, and Bitbucket — desktop, Docker, or iOS.

View details
50
Repo Health
64
Technical
73
Dependency
Built with
Rust 66%
TypeScript 33%
Updated 1 months ago
Rust
66%
GPL 3.0

Pipedash

Developer Tools · Devops · Monitoring

1,085

One dashboard to monitor, trigger, and cancel CI/CD pipelines across GitHub, GitLab, Jenkins, Tekton, Buildkite, ArgoCD, and Bitbucket — desktop, Docker, or iOS.

View details
50
Repo Health
64
Technical
73
Dependency
Built with
Rust 66%
TypeScript 33%
Updated 1 months ago
TypeScript
42%
MIT

Portpal

Developer Tools · Monitoring

519

A native desktop dashboard that shows every port your machine is listening on, kills the process blocking it in one click, and visualizes how your services are actually connected.

View details
28
Repo Health
44
Technical
78
Dependency
Built with
TypeScript 42%
Rust 24%
CSS 23%
Updated 6 months ago
TypeScript
42%
MIT

Portpal

Developer Tools · Monitoring

519

A native desktop dashboard that shows every port your machine is listening on, kills the process blocking it in one click, and visualizes how your services are actually connected.

View details
28
Repo Health
44
Technical
78
Dependency
Built with
TypeScript 42%
Rust 24%
CSS 23%
Updated 6 months ago
TypeScript
42%
MIT

Portpal

Developer Tools · Monitoring

519

A native desktop dashboard that shows every port your machine is listening on, kills the process blocking it in one click, and visualizes how your services are actually connected.

View details
28
Repo Health
44
Technical
78
Dependency
Built with
TypeScript 42%
Rust 24%
CSS 23%
Updated 6 months ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers