DEV Community

Cover image for Jordium.Snowflake.NET — A Fast and Lightweight Distributed ID Generator for .NET
Nelson Li
Nelson Li

Posted on

Jordium.Snowflake.NET — A Fast and Lightweight Distributed ID Generator for .NET

If you're building distributed systems in .NET, generating unique IDs efficiently can become a real challenge. GUIDs are too long and not index-friendly, database auto-increments don’t scale, and external ID services add extra overhead.

So I built Jordium.Snowflake.NET — a fast, configurable, and dependency-free ID generator based on the Snowflake algorithm, designed specifically for .NET developers.

🚀 Why Use It?

High throughput — capable of generating millions of IDs per second

Configurable — customize data center ID, worker ID, and sequence bits

Zero dependencies — no Redis, no DB, no external service needed

Production-ready — ideal for microservices and distributed systems

MIT licensed — open, simple, easy to adopt

🧩 Use Cases

Primary keys in distributed databases

Order numbers and payment transaction IDs

Logging, tracing, and event correlation

Any system requiring high-volume unique identifiers

🛠️ Quick Start
using Jordium.Snowflake;

var generator = new SnowflakeIdGenerator(1, 1);
long id = generator.NextId();

Console.WriteLine(id);

That’s it — globally unique, sortable 64-bit IDs with almost zero overhead.

🔗 GitHub

Source code, documentation, and examples:
https://github.com/nelson820125/Jordium.Snowflake.NET

🎥 Video Demo

To help you quickly understand how Jordium.Snowflake.NET works in real-world usage, here’s a short demonstration video.

In this demo, you’ll see:

  • How to initialize the ID generator

  • How IDs are created in real time

  • How the library behaves under high-concurrency load

  • Example usage inside a .NET service

If you're viewing this on a platform that supports embedded video, the player will appear below. Otherwise, you can open the link manually.

👉 Video Link: (https://youtu.be/KaXEnIPiuXk)

If you find it useful, a ⭐️ would mean a lot!

Top comments (2)

Collapse
 
nelson_li_c5265341756c7ab profile image
Nelson Li • Edited

v1.2.0 released!

🌟 What’s New in 1.2.0

1. Modern ASP.NET Core Dependency Injection Support

The library now follows a more natural and idiomatic DI pattern aligned with modern ASP.NET Core standards.
Registration becomes cleaner and more intuitive, reducing boilerplate code.

2. Broader Target Framework Support

Jordium.Snowflake.Net now ships with support for:

  • NET Framework 4.6.1+
  • NET 6.0+
  • NET Standard 2.0+

This ensures compatibility across a wide range of enterprise, cross-platform, and legacy projects.

3. Clearer, Reorganized Documentation

The entire documentation has been refined to provide clearer structure, better examples, and smoother onboarding.
New users can now get started within minutes.

4. Cleaner Syntax and Easier Usage

The API has been simplified to improve developer productivity.
Less configuration, more focus on business logic.

Collapse
 
nelson_li_c5265341756c7ab profile image
Nelson Li

Hey dev community! 👋
Last week I launched Jordium.Snowflake.NET(github.com/nelson820125/Jordium.Sn...), a fast and easy-to-use Snowflake ID generator built for modern .NET apps.

Super happy to share that it has already reached 1.1K+ downloads on NuGet.org in just 7 days 🎉
Huge thanks to everyone who tried it out, shared feedback, or integrated it into their projects!

The project supports:

  • .NET 6 / .NET 8

  • .NET Framework ≥ 4.6.1

  • .NET Standard 2.0

  • High-throughput, low-latency ID generation

  • Clean and minimal API

I’ll continue pushing updates and would love to hear your suggestions or feature requests.
If you're building distributed systems and need reliable 64-bit IDs, feel free to give it a look!