PHP GUID Generator

Generate a GUID instantly, then copy ready-to-use PHP code using the popular ramsey/uuid package, plus a dependency-free fallback.

Generate a GUID in PHP

Using ramsey/uuid (recommended)

composer require ramsey/uuid
use Ramsey\Uuid\Uuid;

$id = Uuid::uuid4();
echo $id->toString(); // e.g. 3fa85f64-5717-4562-b3fc-2c963f66afa6

$id1 = Uuid::uuid1();
$id7 = Uuid::uuid7(); // ramsey/uuid 4.7+

Dependency-free fallback (v4-equivalent)

function generateUuidV4(): string {
    $data = random_bytes(16);
    $data[6] = chr(ord($data[6]) & 0x0f | 0x40);
    $data[8] = chr(ord($data[8]) & 0x3f | 0x80);
    return vsprintf('%s%s-%s-%s-%s-%s%s%s', str_split(bin2hex($data), 4));
}

echo generateUuidV4();

Validate a UUID

use Ramsey\Uuid\Uuid;

Uuid::isValid('3fa85f64-5717-4562-b3fc-2c963f66afa6'); // true

// Or with a regex, no dependency:
preg_match('/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i', $value);

UUID as a Laravel model key

use Illuminate\Database\Eloquent\Concerns\HasUuids;

class Order extends Model
{
    use HasUuids;
}