PHPackages                             icecave/druid - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. icecave/druid

Abandoned → [ramsey/uuid](/?search=ramsey%2Fuuid)ArchivedLibrary[Utility &amp; Helpers](/categories/utility)

icecave/druid
=============

An RFC-4122 compliant library for generating and parsing universally unique identifiers (UUIDs).

1.0.1(11y ago)413.9k11MITPHPPHP &gt;=5.3

Since Oct 14Pushed 6y ago1 watchersCompare

[ Source](https://github.com/icecave/druid)[ Packagist](https://packagist.org/packages/icecave/druid)[ Docs](https://github.com/IcecaveStudios/druid)[ RSS](/packages/icecave-druid/feed)WikiDiscussions master Synced 3d ago

READMEChangelog (2)Dependencies (2)Versions (5)Used By (1)

Druid
=====

[](#druid)

> **This project has been deprecated by the authors. Use [ramsey/uuid](https://github.com/ramsey/uuid) instead.**

**Druid** is an \[RFC-4122\] compliant PHP library for generating and parsing universally unique identifiers (UUIDs).

```
composer require icecave/druid

```

Examples
--------

[](#examples)

**Druid** provides a generator class for each supported UUID version. UUIDs are created by first instantiating the generator for the desired UUID version, then calling the `create()` method.

All generator classes implement the `UuidGeneratorInterface` interface, and produce UUIDs that implement `UuidInterface`.

### Generating UUIDs

[](#generating-uuids)

#### Version 1 - Network address and time based identifier

[](#version-1---network-address-and-time-based-identifier)

```
// Not yet implemented.
```

#### Version 2 - Network address and time based identifier, with POSIX user information

[](#version-2---network-address-and-time-based-identifier-with-posix-user-information)

```
// Not yet implemented.
```

#### Version 3 - Named-based MD5 hash identifer

[](#version-3---named-based-md5-hash-identifer)

```
// Not yet implemented.
```

#### Version 4 - Randomly generated identifier

[](#version-4---randomly-generated-identifier)

```
$generator = new Icecave\Druid\UuidVersion4Generator;
$uuid = $generator->generate();

assert($uuid instanceof Icecave\Druid\UuidInterface);
```

#### Version 5 - Name-based SHA-1 identifier

[](#version-5---name-based-sha-1-identifier)

```
// Not yet implemented.
```

### Parsing UUIDs

[](#parsing-uuids)

UUIDs can be constructed from hexadecimal strings and binary buffers using the `Uuid::fromString()` and `Uuid::fromBinary()` methods, respectively.

```
$uuidFromString = Icecave\Druid\Uuid::fromString(
    '550e8400-e29b-41d4-a716-446655440000'
);

$uuidFromBinary = Icecave\Druid\Uuid::fromBinary(
    "\x55\x0e\x84\x00\xe2\x9b\x41\xd4\xa7\x16\x44\x66\x55\x44\x00\x00"
);
```

###  Health Score

33

—

LowBetter than 75% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity24

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 94.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~195 days

Total

3

Last Release

4206d ago

Major Versions

0.1.0 → 1.0.02014-09-09

### Community

Maintainers

![](https://www.gravatar.com/avatar/93a71bd75fcd51efee464532dbdd54927cd00e938805998c76e0a804d38fa3fb?d=identicon)[jmalloc](/maintainers/jmalloc)

---

Top Contributors

[![jmalloc](https://avatars.githubusercontent.com/u/761536?v=4)](https://github.com/jmalloc "jmalloc (36 commits)")[![koden-km](https://avatars.githubusercontent.com/u/1037307?v=4)](https://github.com/koden-km "koden-km (1 commits)")[![simon-lang](https://avatars.githubusercontent.com/u/339630?v=4)](https://github.com/simon-lang "simon-lang (1 commits)")

---

Tags

randomuuidguididuniqueglobalrfc4122universalRFC-4122universallyidentifer4122

### Embed Badge

![Health badge](/badges/icecave-druid/health.svg)

```
[![Health](https://phpackages.com/badges/icecave-druid/health.svg)](https://phpackages.com/packages/icecave-druid)
```

###  Alternatives

[ramsey/uuid

A PHP library for generating and working with universally unique identifiers (UUIDs).

12.6k700.2M3.3k](/packages/ramsey-uuid)[webpatser/laravel-uuid

Laravel integration for webpatser/uuid - High-performance drop-in UUID replacements (15% faster than Ramsey). Provides Str macros, HasUuids trait, facades, and casts. RFC 4122/9562 compliant.

1.8k17.3M129](/packages/webpatser-laravel-uuid)[pascaldevink/shortuuid

PHP 7.4+ library that generates concise, unambiguous, URL-safe UUIDs

5951.8M15](/packages/pascaldevink-shortuuid)[emadadly/laravel-uuid

laravel uuid a simple, automatic UUID generator for any model based on Laravel.

120415.9k3](/packages/emadadly-laravel-uuid)[keiko/uuid-shortener

A simple shortener library for RFC 4122 compatible UUIDs. Change your 36 chars long UUID into it's shorter equivalent.

150215.4k2](/packages/keiko-uuid-shortener)[infocyph/uid

UUID (RFC 4122 + Unofficial/Draft), ULID, Snowflake ID, Sonyflake ID, TBSL (library exclusive) generator!

105.1k](/packages/infocyph-uid)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
