Skip to content

Generate UUID in C#

The simplest way to generate a UUID in C# is to use the built-in System.Guid class and call its static method NewGuid(). This produces a valid version 4 UUID.

csharp
using System;

class Program
{
    static void Main()
    {
        Guid uuid = Guid.NewGuid();
        Console.WriteLine($"Generated UUID: {uuid}");
    }
}

If you need to generate a specific UUID version, you can use a third-party library such as UuidCreator which offers more flexible options:

csharp
using UuidCreator;

// Generate UUID version 1 - time based
var uuid1 = TimeBasedUuidCreator.GetTimeBasedUuid();

// Generate UUID version 3 - deterministic and hashed with MD5
var uuid3 = NameBasedUuidCreator.GetNameBasedUuid(NameBasedUuidCreator.NAMESPACE_URL, "https://example.com");

// Generate UUID version 4 - random
var uuid4 = RandomBasedUuidCreator.GetRandomBasedUuid();

// Generate UUID version 5 - deterministic and hashed with SHA-1
var uuid5 = NameBasedUuidCreator.GetNameBasedUuid5(NameBasedUuidCreator.NAMESPACE_URL, "https://example.com");

// Generate UUID version 6 - time-ordered
var uuid6 = TimeOrderedUuidCreator.GetTimeOrderedUuid();

// Generate UUID version 7 - time-ordered with random
var uuid7 = TimeOrderedUuidCreator.GetTimeOrderedEpochUuid();

Installation & Setup

NuGet Package Manager:

bash
Install-Package UuidCreator

Package Manager Console:

bash
dotnet add package UuidCreator

.NET Core vs .NET Framework

Both .NET Core and .NET Framework support System.Guid.NewGuid() for UUID v4 generation. For other versions, use the UuidCreator library which supports:

  • .NET Standard 2.0+
  • .NET Core 2.0+
  • .NET Framework 4.6.1+

UUID Version Comparison

Choose the right version for your C# application:

  • Version 1 - Time-based, includes MAC address
  • Version 3 - MD5 namespace-based, deterministic
  • Version 4 - Random, most popular choice
  • Version 5 - SHA-1 namespace-based, more secure than v3
  • Version 6 - Time-ordered, better than v1 for databases
  • Version 7 - Modern time-based with improved sorting

For C# applications:

  • ASP.NET Core APIs: Use Version 4 for entity identifiers
  • Entity Framework: Consider Version 7 for better database performance
  • Microservices: Use Version 6 for distributed system ordering

How do I generate UUID in other languages?

Microsoft ecosystem:

Cross-platform development:

  • JavaScript - crypto.randomUUID() & uuid library
  • Python - Built-in uuid module
  • Java - java.util.UUID & UuidCreator
  • Go - google/uuid package
  • Rust - uuid crate

← Back to Online UUID Generator