https://github.com/taiizor/uuid
A modern, high-performance UUID library for .NET ecosystem. Features time-ordered identifiers, cryptographic security, multiple encoding formats (Base32/Base64), and seamless Guid compatibility. Thread-safe, cross-platform, and perfect for distributed systems. 🚀
https://github.com/taiizor/uuid
base32 base64 cross-platform cryptography csharp distributed-systems dotnet guid identifier netcore netstandard performance thread-safe time-ordered uuid
Last synced: 4 months ago
JSON representation
A modern, high-performance UUID library for .NET ecosystem. Features time-ordered identifiers, cryptographic security, multiple encoding formats (Base32/Base64), and seamless Guid compatibility. Thread-safe, cross-platform, and perfect for distributed systems. 🚀
- Host: GitHub
- URL: https://github.com/taiizor/uuid
- Owner: Taiizor
- License: mit
- Created: 2024-12-18T00:01:44.000Z (4 months ago)
- Default Branch: develop
- Last Pushed: 2024-12-18T00:53:41.000Z (4 months ago)
- Last Synced: 2024-12-18T01:20:54.464Z (4 months ago)
- Topics: base32, base64, cross-platform, cryptography, csharp, distributed-systems, dotnet, guid, identifier, netcore, netstandard, performance, thread-safe, time-ordered, uuid
- Language: C#
- Homepage: https://www.vegalya.com
- Size: 98.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README





[](https://visualstudio.microsoft.com/downloads)
[](https://www.nuget.org/packages/UUID)
[](https://www.nuget.org/api/v2/package/UUID)
[](https://stackoverflow.com/questions/tagged/uuid)[](https://github.com/Taiizor/UUID/actions/workflows/dotnet.yml)
[](https://github.com/Taiizor/UUID/actions/workflows/codeql-analysis.yml)
[](https://github.com/Taiizor/UUID/actions/workflows/dotnet-desktop.yml)[](https://discord.gg/nxG977byXb)
# Welcome to UUID
UUID is a modern and efficient unique identifier generator for .NET ecosystem. This high-performance library is designed for modern distributed systems, providing thread-safe operations and time-ordered identifiers with enhanced security features.## Contributors
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
This project follows the [all contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
## Backers
## Platform support
UUID works on .NET Framework, .NET Standard, .NET Core and .NET.
.NET implementation
Version support
.NET and .NET Core
2.0, 2.1, 2.2, 3.0, 3.1, 5.0, 6.0, 7.0, 8.0, 9.0
.NET Framework
4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Mono
5.4, 6.4
Xamarin.iOS
10.14, 12.16
Xamarin.Mac
3.8, 5.16
Xamarin.Android
8.0, 10.0
Universal Windows Platform
10.0.16299, TBD
Unity
2018.1
Binaries for all platforms are built from a single Visual Studio Project. You will need the latset [Visual Studio](https://visualstudio.microsoft.com/downloads) to build or contribute to UUID.
## Features
- **High Performance & Thread Safety**
- Thread-safe operations optimized for performance
- Thread-local secure random generation
- Efficient memory usage with 16-byte format- **Time-Based Ordering**
- Natural sorting based on creation time
- Monotonic timestamps for consistent ordering
- Perfect for distributed systems and databases- **Security**
- Cryptographically secure random generation
- Enhanced protection against prediction and collision- **Multiple Format Support**
- Base32 encoding for URL-friendly strings
- Base64 encoding for compact representation
- Guid compatibility
- Efficient string parsing and formatting- **Rich API**
- Implicit/explicit conversion operators
- Comparison and equality operations
- Comprehensive test coverage
- Cross-platform compatibility## Getting started
UUID is distributed via Microsofts package manager [NuGet](https://www.nuget.org). We refer to [this page](https://docs.microsoft.com/en-gb/nuget) for detailed descriptions on how to get started/use NuGet. Here is a link to the [UUID NuGet package](https://www.nuget.org/packages/UUID).
You can grab a copy of the library on NuGet by running:By Package Manager (PM):
```sh
Install-Package UUID
```By .NET CLI:
```sh
dotnet add package UUID
```Find more, including a runnable example application, under the [Getting Started](https://github.com/Taiizor/UUID/wiki/Getting-Started) topic in the [documentation](https://github.com/Taiizor/UUID/wiki/).
## Documentation and FAQ
To learn more about UUID, check out the [documentation](https://github.com/Taiizor/UUID/wiki) - you'll find information there on the most common scenarios. If UUID isn't working the way you expect, you may find the [troubleshooting guide](https://github.com/Taiizor/UUID/wiki/Debugging-and-Diagnostics) useful.
UUID has an active and helpful community who are happy to help point you in the right direction or work through any issues you might encounter. You can get in touch via:
* [Stack Overflow](http://stackoverflow.com/questions/tagged/uuid)
* [Discord](https://discord.gg/nxG977byXb) — this is the best place to start if you have a questionWe welcome bug reports and suggestions through our [issue tracker](https://github.com/Taiizor/UUID/issues) here on GitHub.
## Contributing
Would you like to help make UUID even better? We keep a list of issues that are approachable for newcomers under the [solved](https://github.com/Taiizor/UUID/issues?q=is%3Aissue+label%3Asolved) label (accessible only when logged into GitHub). Before starting work on a pull request, we suggest commenting on, or raising, an issue on the issue tracker so that we can help and coordinate efforts.
When contributing please keep in mind our [Code of Conduct](CODE_OF_CONDUCT.md).
_UUID is copyright © 2024-2025 UUID Contributors - Provided under the [MIT License](LICENSE)._