An open API service indexing awesome lists of open source software.

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. 🚀

Awesome Lists containing this project

README

        

![Logo](.images/Logo.png)

![Dot-Net-Framework-Version](https://img.shields.io/badge/.NET%20Framework-%3E%3D4.8-blue)
![Dot-Net-Standard-Version](https://img.shields.io/badge/.NET%20Standard-%3E%3D2.0-blue)
![Dot-Net-Version](https://img.shields.io/badge/.NET-%3E%3D6.0-blue)
![C-Sharp-Version](https://img.shields.io/badge/C%23-Preview-blue.svg)
[![IDE-Version](https://img.shields.io/badge/IDE-VS2022-blue.svg)](https://visualstudio.microsoft.com/downloads)
[![NuGet-Version](https://img.shields.io/nuget/v/UUID.svg?label=NuGet)](https://www.nuget.org/packages/UUID)
[![NuGet-Download](https://img.shields.io/nuget/dt/UUID?label=Download)](https://www.nuget.org/api/v2/package/UUID)
[![Stack Overflow](https://img.shields.io/badge/Stack%20Overflow-UUID-orange.svg)](https://stackoverflow.com/questions/tagged/uuid)

[![.NET](https://github.com/Taiizor/UUID/actions/workflows/dotnet.yml/badge.svg)](https://github.com/Taiizor/UUID/actions/workflows/dotnet.yml)
[![CodeQL](https://github.com/Taiizor/UUID/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/Taiizor/UUID/actions/workflows/codeql-analysis.yml)
[![.NET Desktop](https://github.com/Taiizor/UUID/actions/workflows/dotnet-desktop.yml/badge.svg)](https://github.com/Taiizor/UUID/actions/workflows/dotnet-desktop.yml)

[![Discord-Server](https://img.shields.io/discord/932386235538878534?label=Discord)](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)):




Taiizor



Taiizor




💻
🤔

This project follows the [all contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!

## Backers




Vegalya



Vegalya




🖋



Soferity



Soferity




🖋

## 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 question

We 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)._