unique_device_identifier
A Flutter plugin that provides a unique device identifier on all platforms including Android, iOS, Windows, macOS, Linux, Web.
2.1.0
3.8K downloads/mo
#4266 most downloaded on pub.dev
jonghoon023/unique_device_identifier
What this package is like to depend on
Last release 11 days ago
13 Aug 2026
Release timing varies
gaps range from 2 months to 1.2 years
Nearly every release is documented
notes for 7 of 7 stable releases
Nothing withdrawn
no release was ever pulled
1 years old
7 releases · first in 2025
1 release in the last 12 months
see the full history below
Release timeline
7 releases · Apr 2025 to Aug 2026Releases
latest 7-
2.1.013 Aug 2026Release notes
Open source →- Updates minimum supported SDK version to Flutter 3.44/Dart 3.12.
- Migrates to built-in Kotlin
Thanks to @Mytrin for their contribution.
Release notes
Open source →- Updates minimum supported SDK version to Flutter 3.44/Dart 3.12.
- Migrates to built-in Kotlin
Thanks to @mytrin for their contribution.
-
2.0.416 Jun 2025Release notes
Open source →- Fixed a bug on the Web platform where all devices were generating the same UUID (
00000000-0000-4000-8000-000000000000) - Implemented Web-specific UUID generation: attempts to generate a UUID using a browser fingerprint; if that fails, falls back to a randomly generated UUID using Dart
- The randomly generated UUID is stored in
window.localStorageand reused across page reloads and browser sessions
Release notes
Open source →- Fixed a bug on the Web platform where all devices were generating the same UUID (
00000000-0000-4000-8000-000000000000) - Implemented Web-specific UUID generation: attempts to generate a UUID using a browser fingerprint; if that fails, falls back to a randomly generated UUID using Dart
- The randomly generated UUID is stored in
window.localStorageand reused across page reloads and browser sessions
- Fixed a bug on the Web platform where all devices were generating the same UUID (
-
2.0.323 Apr 2025 -
2.0.222 Apr 2025 -
2.0.122 Apr 2025Release notes
Open source →- Added detailed doc comments to
getUniqueIdentifier()to describe platform-specific behavior. - No code changes; this is a documentation-only update.
Release notes
Open source →- Added detailed doc comments to
getUniqueIdentifier()to describe platform-specific behavior. - No code changes; this is a documentation-only update.
- Added detailed doc comments to
-
2.0.015 Apr 2025Release notes
Open source →- Breaking Change:
getUniqueIdentifier()has been converted to astaticmethod.- You can now call it directly without creating an instance:
final deviceId = await UniqueDeviceIdentifier.getUniqueIdentifier();
- This change simplifies usage but breaks compatibility with the previous instance-based approach:
// ❌ This will no longer work: final deviceId = await UniqueDeviceIdentifier().getUniqueIdentifier();
- You can now call it directly without creating an instance:
Release notes
Open source →- Breaking Change:
getUniqueIdentifier()has been converted to astaticmethod.- You can now call it directly without creating an instance:
final deviceId = await UniqueDeviceIdentifier.getUniqueIdentifier(); - This change simplifies usage but breaks compatibility with the previous instance-based approach:
// ❌ This will no longer work: final deviceId = await UniqueDeviceIdentifier().getUniqueIdentifier();
- You can now call it directly without creating an instance:
- Breaking Change:
-
1.0.015 Apr 2025Release notes
Open source →- Initial release of the
unique_device_identifierFlutter plugin. - Supports the following platforms:
- ✅ Android (
Settings.Secure.ANDROID_ID) - ✅ iOS (
UIDevice.identifierForVendor) - ✅ Windows (
MachineGuidfrom registry) - ✅ macOS (
IOPlatformUUIDvia IOKit with macOS 12+ fallback) - ✅ Linux (
/etc/machine-id) - ✅ Web (fingerprint-based hash with fallback to random UUID, stored in
localStorage)
- ✅ Android (
- No external dependencies required.
- Provides a consistent
getUniqueIdentifier()interface for all platforms usingMethodChanneland Dart interop.
Release notes
Open source →- Initial release of the
unique_device_identifierFlutter plugin. - Supports the following platforms:
- ✅ Android (
Settings.Secure.ANDROID_ID) - ✅ iOS (
UIDevice.identifierForVendor) - ✅ Windows (
MachineGuidfrom registry) - ✅ macOS (
IOPlatformUUIDvia IOKit with macOS 12+ fallback) - ✅ Linux (
/etc/machine-id) - ✅ Web (fingerprint-based hash with fallback to random UUID, stored in
localStorage)
- ✅ Android (
- No external dependencies required.
- Provides a consistent
getUniqueIdentifier()interface for all platforms usingMethodChanneland Dart interop.
- Initial release of the