Tauri

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

Framework
Cargo
v2.12.5
112,152 stars
Apache License 2.0

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
90 /100 Excellent
Development Activity 96
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
68%
Other

GitButler

AI Development · Developer Tools · Devops

21,841

Git, but better — a modern version control client with stacked branches, parallel workflows, unlimited undo, and first-class support for AI-powered development.

View details
89
Repo Health
84
Technical
66
Dependency
Built with
Rust 68%
TypeScript 20%
Updated 6 days ago
Rust
68%
Other

GitButler

AI Development · Developer Tools · Devops

21,841

Git, but better — a modern version control client with stacked branches, parallel workflows, unlimited undo, and first-class support for AI-powered development.

View details
89
Repo Health
84
Technical
66
Dependency
Built with
Rust 68%
TypeScript 20%
Updated 6 days ago
Rust
60%
MIT

Handy

Productivity · Voice AI

34,484

Free, offline, open-source speech-to-text that pastes directly into any app on Windows, macOS, and Linux.

View details
88
Repo Health
78
Technical
71
Dependency
Built with
Rust 60%
TypeScript 30%
Updated 6 days ago
Rust
60%
MIT

Handy

Productivity · Voice AI

34,484

Free, offline, open-source speech-to-text that pastes directly into any app on Windows, macOS, and Linux.

View details
88
Repo Health
78
Technical
71
Dependency
Built with
Rust 60%
TypeScript 30%
Updated 6 days ago
Rust
60%
MIT

Handy

Productivity · Voice AI

34,484

Free, offline, open-source speech-to-text that pastes directly into any app on Windows, macOS, and Linux.

View details
88
Repo Health
78
Technical
71
Dependency
Built with
Rust 60%
TypeScript 30%
Updated 6 days ago
TypeScript
68%
MIT

Hoppscotch

Developer Tools

80,676

A lightweight, offline-capable API development ecosystem for testing HTTP, GraphQL, WebSocket, MQTT, and SSE endpoints across web, desktop, and CLI.

View details
91
Repo Health
83
Technical
62
Dependency
Built with
TypeScript 68%
Vue 24%
Updated 1 weeks ago
TypeScript
68%
MIT

Hoppscotch

Developer Tools

80,676

A lightweight, offline-capable API development ecosystem for testing HTTP, GraphQL, WebSocket, MQTT, and SSE endpoints across web, desktop, and CLI.

View details
91
Repo Health
83
Technical
62
Dependency
Built with
TypeScript 68%
Vue 24%
Updated 1 weeks ago
TypeScript
68%
MIT

Hoppscotch

Developer Tools

80,676

A lightweight, offline-capable API development ecosystem for testing HTTP, GraphQL, WebSocket, MQTT, and SSE endpoints across web, desktop, and CLI.

View details
91
Repo Health
83
Technical
62
Dependency
Built with
TypeScript 68%
Vue 24%
Updated 1 weeks ago
Rust
56%
Other

Jan

AI Assistants

45,052

Run LLMs 100% locally with full privacy, or connect to cloud AI — your machine, your data, your control.

View details
90
Repo Health
81
Technical
65
Dependency
Built with
Rust 56%
TypeScript 40%
Updated 6 days 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