Flutter Gems is a curated list of 6700+ useful Dart & Flutter packages that are categorized based on functionality.
Top Flutter Desktop (Windows, Linux and macOS) packages
Last updated: January 26, 2025
Flutter ecosystem has various packages that provide developers with a suite of utilities and tools for building robust desktop Flutter applications that work seamlessly on Windows, Linux, and macOS. Some of the provided features are:
- Customizable UI components, window utilities and design system packages to build native-like user interfaces across Windows, Linux, and macOS while adhering to each platform's design guidelines.
- Utilities to help developers create responsive and adaptive layouts for their applications, adapting to different screen sizes and orientations.
- Handle file system interactions, ensuring consistent behavior for file operations across different operating systems.
- APIs for accessing system-specific features like notifications, clipboard management, and system-wide shortcuts.
- Show platform-native dialogs such as file pickers, save dialogs, and message boxes.
- A unified interface for managing application data storage, supporting databases, file storage, and other data persistence mechanisms.
- Utilities to seamlessly handle multiple monitors and adapt application windows to different display configurations.
- A notification system that allows applications to display system notifications with consistent behavior on all supported platforms.
The complete list of Dart and Flutter packages provided below can help streamline the desktop application development process, making it easier for developers to create cross-platform apps with consistent user experiences while leveraging the strengths of each operating system.
![flutter_local_notifications Card Image](/media-cards/flutter_local_notifications.png)
flutter_local_notifications
👍 6.75K ⬇️ 924.3K
Dart 3 compatibleMaintenance Status: Good
A cross platform plugin for displaying and scheduling local notifications for Flutter applications with the ability to customise for each platform.
win32
👍 831 ⬇️ 4.1M
Dart 3 compatibleMaintenance Status: Good
Access common Win32 APIs directly from Dart using FFI — no C required!
xdg_directories
👍 40 ⬇️ 2.8M
Dart 3 compatibleMaintenance Status: Good
A Dart package for reading XDG directory configuration information on Linux.
dbus
👍 67 ⬇️ 2M
Dart 3 compatibleMaintenance Status: Good
A native Dart implementation of the D-Bus message bus client. This package allows Dart applications to directly access services on the Linux desktop.
win32_registry
👍 58 ⬇️ 1.8M
Dart 3 compatibleMaintenance Status: Good
A package that provides a friendly Dart API for accessing the Windows Registry.
nm
👍 20 ⬇️ 1.3M
Dart 3 compatibleMaintenance Status: Poor
Provides a client to connect to NetworkManager - the service that manages network connections on Linux.
posix
👍 7 ⬇️ 1.3M
Dart 3 compatibleMaintenance Status: Average
Exposes the POSIX api on OSx and Linux
system_info2
👍 61 ⬇️ 944.6K
Dart 3 compatibleMaintenance Status: Average
Provides easy access to useful information about the system (architecture, bitness, kernel, memory, operating system, CPU, user).
window_manager
👍 956 ⬇️ 106.7K
Dart 3 compatibleMaintenance Status: Good
This plugin allows Flutter desktop apps to resizing and repositioning the window.
![bitsdojo_window Card Image](/media-cards/bitsdojo_window.png)
bitsdojo_window
👍 985 ⬇️ 10.4K
Dart 3 compatibleMaintenance Status: Average
A package to help with creating custom windows with Flutter desktop (custom border, titlebar and minimize/maximize/close buttons) and common desktop window operations (show/hide/position on screen) for Windows and macOS
msix
👍 867 ⬇️ 62.7K
Dart 3 compatibleMaintenance Status: Good
A command-line tool that create Msix installer from your flutter windows-build files.
gtk
👍 38 ⬇️ 452.8K
Dart 3 compatibleMaintenance Status: Average
GTK+ utilities for Flutter Linux applications.
![flutter_acrylic Card Image](/media-cards/flutter_acrylic.png)
flutter_acrylic
👍 545 ⬇️ 3.8K
Dart 3 compatibleMaintenance Status: Good
Window acrylic, mica & transparency effects for Flutter on Windows, macOS & Linux.
desktop_window
👍 336 ⬇️ 66.1K
Dart 3 compatibleMaintenance Status: Good
Flutter desktop plugin(macOS/Linux/Windows) to get and change window size.
screen_retriever
👍 48 ⬇️ 299.5K
Dart 3 compatibleMaintenance Status: Good
This plugin allows Flutter desktop apps to Retrieve information about screen size, displays, cursor position, etc.
process_run
👍 318 ⬇️ 47.9K
Dart 3 compatibleMaintenance Status: Good
Process run helpers for Linux/Win/Mac and which like feature for finding executables.
process_runner
👍 22 ⬇️ 258.8K
Dart 3 compatibleMaintenance Status: Average
A process invocation abstraction for Dart that manages a multi-process queue.
![system_tray Card Image](/media-cards/system_tray.jpg)
system_tray
👍 275 ⬇️ 4K
Dart 3 compatibleMaintenance Status: Average
system_tray that makes it easy to customize tray and work with your Flutter desktop app.
![webview_windows Card Image](/media-cards/webview_windows.png)
webview_windows
👍 223 ⬇️ 30K
Dart 3 compatibleMaintenance Status: Good
A WebView2-powered webview implementation for the Windows platform.
flutter_custom_cursor
👍 14 ⬇️ 197.7K
Dart 3 compatibleMaintenance Status: Average
Create/Set a custom mouse cursor directly from a memory buffer.
tray_manager
👍 213 ⬇️ 13.3K
Dart 3 compatibleMaintenance Status: Good
This plugin allows Flutter desktop apps to defines system tray.
desktop_multi_window
👍 219 ⬇️ 4K
Dart 3 compatibleMaintenance Status: Good
A flutter plugin that create and manager multi window in desktop.
screen_brightness
👍 130 ⬇️ 58.5K
Dart 3 compatibleMaintenance Status: Good
A Plugin for controlling screen brightness with application life cycle reset implemented
neat_periodic_task
👍 154 ⬇️ 8.1K
Dart 3 compatibleMaintenance Status: Average
Auxiliary classes for reliably running a periodic task in a long-running process such as web-server.
![desktop Card Image](/media-cards/desktop.png)
desktop
👍 161 ⬇️ 161
Dart 3 compatibleMaintenance Status: Good
Flutter design standard for desktop. Just simple, usable wigdets to create apps. See the gallery for examples of the components used.
window_to_front
👍 17 ⬇️ 106.9K
Dart 3 compatibleMaintenance Status: Poor
To have the application automatically bring itself to the front of the stack of application windows for Mac, Linux & Desktop.
launch_at_startup
👍 132 ⬇️ 4.3K
Dart 3 compatibleMaintenance Status: Good
This plugin allows Flutter desktop apps to Auto launch on startup / login.
![windows_taskbar Card Image](/media-cards/windows_taskbar.png)
windows_taskbar
👍 125 ⬇️ 5K
Dart 3 compatibleMaintenance Status: Average
Flutter plugin serving utilities related to Windows taskbar.
hotkey_manager
👍 120 ⬇️ 4.6K
Dart 3 compatibleMaintenance Status: Good
This plugin allows Flutter desktop apps to defines system/inapp wide hotkey (i.e. shortcut).
![local_notifier Card Image](/media-cards/local_notifier.png)
local_notifier
👍 101 ⬇️ 8.6K
Dart 3 compatibleMaintenance Status: Good
This plugin allows Flutter desktop apps to displaying local notifications.
multi_window
👍 105 ⬇️ 196
Dart 3 compatibleMaintenance Status: Poor
A package for adding multi window support to Flutter on Desktop.
![flutter_window_close Card Image](/media-cards/flutter_window_close.png)
flutter_window_close
👍 92 ⬇️ 10.4K
Dart 3 compatibleMaintenance Status: Good
Let your Flutter app has a chance to confirm if the user wants to close your app.
quick_usb
👍 104 ⬇️ 166
Dart 3 compatibleMaintenance Status: Poor
A cross-platform (Android/Windows/macOS/Linux) USB plugin for Flutter
![macos_window_utils Card Image](/media-cards/macos_window_utils.png)
macos_window_utils
👍 65 ⬇️ 32.6K
Dart 3 compatibleMaintenance Status: Good
macos_window_utils is a Flutter package that provides a set of methods for modifying the NSWindow of a Flutter application on macOS.
upower
👍 8 ⬇️ 67.3K
Dart 3 compatibleMaintenance Status: Poor
Provides a client to connect to UPower - the service that does power management on Linux.
desktop_notifications
👍 79 ⬇️ 3K
Dart 3 compatibleMaintenance Status: Poor
Allows notifications to be sent on Linux desktops using the desktop notifications specification.
![windows_notification Card Image](/media-cards/windows_notification.png)
windows_notification
👍 76 ⬇️ 3.6K
Dart 3 compatibleMaintenance Status: Good
flutter windows notification, Ability to send notification with desired template in Windows.
protocol_handler
👍 64 ⬇️ 2.7K
Dart 3 compatibleMaintenance Status: Average
This plugin allows Flutter apps to register and handle custom protocols (i.e. deep linking).
video_player_win
👍 56 ⬇️ 7.7K
Dart 3 compatibleMaintenance Status: Good
Video player for Windows, lightweight, using Windows built-in Media Foundation API. Windows implementation of the video_player plugin.
serial_port_win32
👍 57 ⬇️ 1.2K
Dart 3 compatibleMaintenance Status: Good
A SerialPort library using win32 API, for connecting real device by serial port. Only supports Windows.
desktop_context_menu
👍 58 ⬇️ 67
Dart 3 compatibleMaintenance Status: Poor
A plugin that opens a context menu on the cursor position.
windows_single_instance
👍 46 ⬇️ 5.5K
Dart 3 compatibleMaintenance Status: Average
Forces a single instance of your Windows app, bringing the existing window to the front when a new instance is opened.
win_toast
👍 38 ⬇️ 819
Dart 3 compatibleMaintenance Status: Good
a flutter plugin that allows users to create and display toast notifications to notification center on the Windows operating system.
![handy_window Card Image](/media-cards/handy_window.png)
handy_window
👍 33 ⬇️ 4.1K
Dart 3 compatibleMaintenance Status: Good
This package enhances the looks of Flutter applications on Linux by providing modern-looking Handy windows with rounded bottom corners.
![updat Card Image](/media-cards/updat.png)
updat
👍 34 ⬇️ 845
Dart 3 compatibleMaintenance Status: Average
Updat is a simple-to-use reliable flutter-native updater that handles your application's updates.
flutter_native_view
👍 33 ⬇️ 1.2K
Dart 3 compatibleMaintenance Status: Poor
Flutter plugin to embed native windows into Flutter window.
window_manager_plus
👍 32 ⬇️ 470
Dart 3 compatibleMaintenance Status: Good
This plugin allows Flutter desktop apps to create and manage multiple windows, such as resizing and repositioning, and communicate between them.
desktop_lifecycle
👍 30 ⬇️ 1.2K
Dart 3 compatibleMaintenance Status: Average
Allow your flutter desktop application to perceive whether the window is activated.
titlebar_buttons
👍 30 ⬇️ 1.2K
Dart 3 compatibleMaintenance Status: Poor
A package which provides most of the titlebar buttons from windows, linux and macos.
![mouse_follower Card Image](/media-cards/mouse_follower.gif)
mouse_follower
👍 29 ⬇️ 191
Dart 3 compatibleMaintenance Status: Good
Enhance your application with Mouse Follower, enabling easy customization of cursor effects. Designing your own effects has never been easier.
animated_cursor
👍 29 ⬇️ 38
Dart 3 compatibleMaintenance Status: Good
Animated Cursor designed to enhance user interface interactions
win32_runner
👍 27 ⬇️ 70
Dart 3 compatibleMaintenance Status: Good
Compile and run a Flutter app without needing any C/C++ code. Just Dart!
libusb
👍 27 ⬇️ 3
Dart 3 compatibleMaintenance Status: Poor
Dart wrapper via dart:ffi for libusb
flutter_desktop_cursor
👍 1 ⬇️ 15K
Dart 3 compatibleMaintenance Status: Poor
flutter desktop cursors for macOS
os_ui
👍 11 ⬇️ 33
Dart 3 compatibleMaintenance Status: Good
os_ui helps you to showcase your project or play with computer OS interface for any kind of projects.
windows_ime_manager
👍 4 ⬇️ 32
Dart 3 compatibleMaintenance Status: Good
A Flutter plugin for managing Input Method Editors (IME) on Windows, supporting seamless switching between different languages.
![window_focus Card Image](/media-cards/window_focus.png)
window_focus
👍 1 ⬇️ 136
Dart 3 compatibleMaintenance Status: Good
Window Focus is a convenient plugin for Flutter that allows you to track user inactivity and obtain information about the title of the active window on Mac OS and Windows.