A pure Go implementation of UUIDs (RFC-9562) supporting versions 1-8 for generation and parsing.
gofrs/uuid is a pure Go implementation of Universally Unique Identifiers (UUIDs) compliant with RFC-9562. It provides reliable generation and parsing of UUIDs across versions 1, 3, 4, 5, 6, 7, and 8, ensuring data uniqueness and interoperability in distributed systems.
Go developers building distributed systems, databases, or applications that require globally unique identifiers for entities like database records, session tokens, or message IDs.
Developers choose this package for its strict RFC-9562 compliance, active maintenance as a community-driven fork, and lack of external dependencies, offering a correct and secure alternative to unmaintained UUID libraries in Go.
A UUID package for Go
Adheres strictly to the latest UUID standard, ensuring interoperability and correctness in distributed systems, as highlighted in the README's reference to RFC-9562.
Supports UUID versions 1 through 8, including newer k-sortable versions 6 and 7 for time-ordered IDs, enabling flexible use cases from random generation to custom implementations.
Has no external dependencies, making integration straightforward and deployment easy in Go projects without additional package management overhead.
Forked from the unmaintained satori/go.uuid to address critical flaws, providing ongoing updates, security fixes, and community-driven support for long-term reliability.
Requires Go 1.25 or later, which can exclude legacy projects or teams not yet upgraded, limiting adoption in older codebases.
Focuses on core UUID generation and parsing, lacking built-in support for advanced use cases like bulk generation, custom validation rules, or seamless integration with serialization libraries beyond basic string handling.
Version 8 for custom UUIDs requires manual definition and implementation, which can be more effort-intensive compared to pre-defined versions, with less guidance in the README.
Go package for UUIDs based on RFC 4122 and DCE 1.1: Authentication and Security Services.
Universally Unique Lexicographically Sortable Identifier (ULID) in Go
xid is a globally unique id generator thought for the web
An extremely fast globally unique number generator.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.