uuid-rs

uuid-rs/uuid

Rust No license Dev Tools

Generate and parse UUIDs.

1.2k stars
234 forks
recent
GitHub +1 / week

1.2k

Stars

234

Forks

13

Open issues

30

Contributors

v1.23.4 24 Jun 2026

AI Analysis

A foundational Rust library for generating and parsing UUIDs (Universally Unique Identifiers) according to RFC 9562. It serves distributed systems, databases, and network protocols that require unique identifiers without central coordination. This is a core infrastructure library used by countless Rust projects rather than an end-user application.

Dev Tools Library Discovery value: 2/10
Documentation 8/10
Activity 9/10
Community 8/10
Code quality 8/10

Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.

Overall score 8/10

AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.

uuid-generation parsing distributed-systems rust-library rfc9562-compliant
Actively maintained Well documented Popular Niche/specialized use case Beginner friendly Production ready
Deep Analysis · Based on README and public signals
7d ago

Rust's foundational UUID library: mature, minimal, widely embedded in the ecosystem

uuid-rs/uuid is the de facto standard UUID generation and parsing library for Rust. It provides RFC 9562-compliant UUID v1, v3, v4, v5, v6, v7, and v8 support with optional SIMD acceleration. The library is embedded in thousands of Rust projects across web frameworks, databases, and distributed systems, though adoption is often invisible because it's a transitive dependency. Growth is slow but steady, reflecting its status as a mature, feature-complete utility rather than an emerging tool.

Origin

Created in 2014, uuid-rs predates Rust's standardization era and became the community standard for UUID handling. It has maintained backward compatibility while adding RFC 9562 support and new UUID versions. The project's longevity and stability made it the default choice for Rust libraries that need UUID functionality.

Growth

Star growth is modest (2 stars in 7 days as of June 2026) because the library has reached saturation among Rust developers who need it. Most adoption occurs indirectly—users depend on it transitively through web frameworks (Actix, Rocket), ORMs (Diesel, SQLx), and cloud SDKs. The library's value proposition is not growth but reliability and specification compliance.

In production

Adoption not verified via explicit case studies in README, but indirect evidence is strong: the library is the standard choice in Rust ecosystem tooling. Likely used in production by organizations using Rust web frameworks, cloud SDKs, and distributed systems. crates.io download metrics would confirm adoption but are not provided in metadata.

Code analysis
Architecture

Based on README, the library appears modular with feature gates for optional functionality (v4, v6, v7 UUID variants; serde, fast-rng). The project recommends uuid-simd for performance-critical parsing, suggesting the base library prioritizes correctness over raw speed. Likely uses Rust's type system to enforce UUID invariants at compile time.

Tests

Not documented in README. CI badge indicates continuous integration is active, but specific test coverage metrics are not provided.

Maintenance

Last push 2026-06-26 (8 days before evaluation date), indicating active maintenance. CI workflow badge is present and passing. The 12-year history with regular releases suggests mature, sustained stewardship. Low rate of new feature requests likely reflects completeness rather than abandonment.

Honest verdict

ADOPT IF: you are building in Rust and need RFC 9562-compliant UUID generation or parsing. The library is mature, actively maintained, and has no serious alternative in the Rust ecosystem. AVOID IF: you prioritize cutting-edge performance for extreme-scale UUID parsing—consider uuid-simd as a complementary library instead. MONITOR IF: you rely on non-standard UUID schemes (time-ordered, sortable) not yet covered by RFC 9562—evaluate whether v6/v7 meet your needs or if KSUID/ULID alternatives are better suited.

Independent dimensions

Mainstream potential

3/10

Technical importance

8/10

Adoption evidence

7/10

Risks
  • Single-library dependency risk: uuid-rs is the de facto standard, leaving Rust ecosystem without backup if maintenance ceased. Mitigated by Rust Foundation oversight and strong community investment.
  • RFC 9562 compliance burden: RFC updates could require maintenance effort. No evidence this has caused delays historically, but standardization changes could create future friction.
  • Performance plateau: Raw parsing speed may lag specialized implementations like uuid-simd. Not a risk for most use cases, but relevant for high-throughput UUID validation scenarios.
  • Feature creep vs. minimalism: Balance between adding new UUID versions and keeping the library lean. README suggests maintainers prefer minimalism, reducing this risk.
  • Transitive dependency fatigue: Deep embedding in ecosystem means breaking changes would cascade widely. Likely explains conservative versioning and slow feature addition.
Prediction

uuid-rs will remain the standard UUID library for Rust, with slow, incremental updates as new RFC versions stabilize. Adoption will continue invisibly through ecosystem growth. No major disruption expected, but RFC 9562 compliance work will likely drive periodic maintenance cycles.

0 found this helpful

Newsletter

Get analyses like this every Monday

Free weekly digest of the most interesting open-source discoveries.

Languages

Rust
99.8%
Shell
0.2%

Information

Language
Rust
License
NOASSERTION
Last updated
2w ago
Created
145mo ago
Analyzed with
anthropic/claude-haiku-4-5

Stars over time

Loading…

Contributors over time

Top 100 contributors only — repos with more will plateau at 100.

Loading…

Similar repos

uuidjs

uuidjs/uuid

The uuid library generates RFC9562-compliant UUIDs in JavaScript with support...

15.3k TypeScript Dev Tools
gofrs

gofrs/uuid

A pure Go implementation of UUID generation and parsing supporting RFC-9562...

1.8k Go Dev Tools
rust-random

rust-random/rand

Rand is a mature Rust library ecosystem for pseudo-random number generation,...

2.1k Rust Dev Tools
lithammer

lithammer/shortuuid

shortuuid is a Go library that generates concise, URL-safe UUID alternatives by...

1.4k Go Dev Tools
segmentio

segmentio/ksuid

ksuid is a Go library for generating and parsing K-Sortable Unique...

5.3k Go Dev Tools
vs. alternatives
uuidjs/uuid (JavaScript/TypeScript, 15,306 stars)

Significantly larger star count reflects JavaScript's broader population and JavaScript's dependency management norms. Both serve analogous roles in their respective ecosystems. uuid-rs has lower stars but higher relative adoption density within Rust (smaller ecosystem).

gofrs/uuid (Go, 1,811 stars)

Go's UUID library has similar adoption patterns to uuid-rs: steady, embedded in ecosystem tooling, mature. Go's ecosystem size is comparable to Rust's. Star counts are similar (uuid-rs 1,219 vs. gofrs 1,811), suggesting equivalent ecosystem penetration.

segmentio/ksuid (Go, 5,260 stars)

KSUID is an alternative UUID scheme optimized for time-ordered IDs. Serves a narrower use case (distributed tracing, time-series databases). uuid-rs is more general-purpose. Higher star count reflects popularity in specific verticals, not broader utility.

webpatser/laravel-uuid (PHP, 1,801 stars)

PHP package with similar adoption scale. uuid-rs likely has higher production impact because Rust is used in systems-level applications where UUID correctness is critical; PHP adoption is more web-centric.

Rust std library (no external crate)

UUID functionality is not built into Rust's standard library, making uuid-rs effectively the only viable option for production UUID handling in Rust. No meaningful competition within Rust ecosystem.