Генератор UUID

Создайте один или сотни уникальных идентификаторов UUID для баз данных, API и тестов.

Версия
Результат

Всё считается в вашем браузере: введённые данные никуда не отправляются.

Что такое UUID

UUID (Universally Unique Identifier), в мире Microsoft — GUID, — это 128-битный идентификатор, записываемый как 32 шестнадцатеричные цифры в пяти группах: 550e8400-e29b-41d4-a716-446655440000. Его можно создавать на любом устройстве без центрального сервера и без риска совпадений. Поэтому UUID используют как первичные ключи в базах данных, идентификаторы заказов и запросов, имена файлов и ключи идемпотентности в API.

Версии

  • Версия 4 — 122 случайных бита. Самый распространённый вариант. Вероятность совпадения ничтожна: чтобы получить дубликат с шансом 50%, нужно создать около 2,7 квинтиллиона идентификаторов.
  • Версия 1 — время с точностью до 100 наносекунд плюс идентификатор узла. Такие UUID упорядочены по времени создания. Исторически в них попадал MAC-адрес сетевой карты, что раскрывало устройство; здесь вместо него используется случайное значение, как разрешает стандарт RFC 9562.

Цифра версии видна в самом идентификаторе — это первый символ третьей группы: xxxxxxxx-xxxx-4xxx-….

UUID в базах данных

Случайные UUID v4 в качестве первичного ключа равномерно разбрасывают записи по индексу, и на больших таблицах вставка замедляется. Если важен порядок, рассмотрите UUID v7 — он начинается с метки времени — или храните UUID в двоичном виде (16 байт), а не строкой. В PostgreSQL для этого есть тип uuid, в MySQL — BINARY(16).

Частые вопросы

Чем GUID отличается от UUID?

Ничем по сути: GUID — название UUID в продуктах Microsoft. Иногда GUID записывают заглавными буквами в фигурных скобках — такой формат тоже можно выбрать.

Могут ли два UUID v4 совпасть?

Теоретически да, практически — нет: вероятность пренебрежимо мала даже при миллиардах идентификаторов. Генератор использует криптографически стойкий источник случайности.

Как создать UUID в коде?

JavaScript: crypto.randomUUID(). Python: uuid.uuid4(). PostgreSQL: gen_random_uuid(). Linux: uuidgen.

Другие инструменты

Все инструменты для разработчиков