Tauri Ui

screenshot of Tauri Ui

Tauri Ui

🦀 Create modern Tauri desktop apps in just a few simple steps with shadcn/ui. React, Next.js, Sveltekit.


Tauri UI Template is a starting point for building modern desktop applications with web technologies. It provides customizable UI components, a lightweight and secure desktop app framework called Tauri 2, and integration with React-based framework Next.js 13 and utility-first CSS framework Tailwind. The template supports dark and light modes and utilizes components-based UI design.


  • Customizable UI components with shadcn/ui
  • Lightweight and secure desktop app framework Tauri 2
  • Integration with React-based framework Next.js 13
  • Support for dark and light modes
  • Components-based UI design
  • Draggable titlebar with minimize, maximize, and close buttons
  • Radix UI for UI primitives
  • TypeScript
  • Lucide Icons
  • Bundle size optimized Cargo.toml (.exe 3mb, .msi 2mb)
  • Tauri GitHub Action


To get started with Tauri UI Template, follow these steps:

  1. Customize the template by editing the following files:

    • src-tauri/tauri.conf.json
    • package.json
    • src-tauri/cargo.toml
  2. To change the app icon, update "app-icon.png" and run the command "pnpm tauri icon". This will automatically generate icon files into "src-tauri/icons".

  3. Note that shadcn/ui is not a library, so you will need to update the components manually. Download the "shadcn/ui/apps/www/components/ui" directory and paste it into "src/components/ui".

  4. To-Do list:

    • [x] Titlebar draggable.
    • [x] Titlebar minimize, maximize, close buttons.
    • [x] Titlebar double-click maximize.
    • [x] Decomposing UI into components.
    • [x] Dark-Light mode switch.
    • [x] Get simple data from the Rust backend code.
  5. Folder structure: Recommended IDE Setup:

    • VS Code
    • Tauri
    • rust-analyzer


Tauri UI Template is a flexible and customizable starting point for building modern desktop applications. It offers a range of features, including customizable UI components, a lightweight and secure desktop app framework, integration with popular web technologies, and support for dark and light modes. The template provides clear installation instructions and allows for customization of various aspects, including the app icon and UI components. With a recommended IDE setup, developers can easily get started with Tauri UI Template and create their desired desktop applications.


Next.js is a React-based web framework that enables server-side rendering, static site generation, and other powerful features for building modern web applications.


React is a widely used JavaScript library for building user interfaces and single-page applications. It follows a component-based architecture and uses a virtual DOM to efficiently update and render UI components


Svelte is a modern front-end framework that compiles your code at build time, resulting in smaller and faster applications. It uses a reactive approach to update the DOM, allowing for high performance and a smoother user experience.


Tailwind CSS is a utility-first CSS framework that provides pre-defined classes for building responsive and customizable user interfaces.

Radix UI

Radix Primitives is a low-level UI component library with a focus on accessibility, customization and developer experience. You can use these components either as the base layer of your design system, or adopt them incrementally.

Shadcn UI

Beautifully designed components that you can copy and paste into your apps. Accessible. Customizable. Open Source.


PostCSS is a popular open-source tool that enables web developers to transform CSS styles with JavaScript plugins. It allows for efficient processing of CSS styles, from applying vendor prefixes to improving browser compatibility, ultimately resulting in cleaner, faster, and more maintainable code.


TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.