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;
}