Генератор UUID

Нажмите «Сгенерировать», чтобы получить новый случайный UUID (по умолчанию версии 4), или переключитесь на версию 1 или версию 7 и сгенерируйте до 100 штук за раз. Каждый UUID строится из криптографически случайных байтов через crypto.getRandomValues браузера, никогда не Math.random(), и ничего не отправляется на сервер.

Ваш UUID

Массовая генерация

Генератор UUID

UUID (Universally Unique Identifier, стандартизирован как RFC 4122 и обновлён RFC 9562) — это 128-битное значение, традиционно записываемое как 32 hex-цифры, разбитые дефисами на пять групп (8-4-4-4-12, например 550e8400-e29b-41d4-a716-446655440000). Весь смысл — генерация уникальных идентификаторов БЕЗ центрального координирующего органа — два независимо сгенерированных UUID от двух разных систем, никогда не связывавшихся друг с другом, крайне маловероятно совпадут, что делает их полезными для первичных ключей БД, идентификаторов записей в распределённых системах, ключей идемпотентности и идентификаторов отслеживания сессий/запросов.

Полубайт версии (первая hex-цифра третьей группы) указывает, как был построен UUID. Версия 4 — это чистая случайность: 122 случайных бита плюс фиксированные биты версии/варианта — сегодня это выбор по умолчанию и самый распространённый: просто, без допущений о времени или оборудовании, риск реальной коллизии практически нулевой. Версия 1 основана на времени: 60-битная метка времени плюс поле «node», исторически предназначенное для реального MAC-адреса генерирующей машины — именно поэтому v1 вышла из моды для публичных идентификаторов: встраивание реального MAC-адреса в каждый сгенерированный ID раскрывает аппаратный отпечаток. Этот инструмент генерирует UUID версии 1 по собственным рекомендациям RFC на случай отсутствия реального MAC-адреса: случайные байты node с установленным битом multicast, поэтому ничего о вашей машине не просачивается в идентификатор.

Версия 7 (добавлена RFC 9562 в 2024 году) — современная альтернатива v1: 48-битная метка времени Unix в миллисекундах в старших битах, за которой следуют случайные биты. Поскольку метка времени идёт первой при сортировке, UUID, сгенерированные позже, всегда сортируются после сгенерированных раньше — это полезно как первичный ключ БД, поскольку естественно упорядоченные ключи вставляются в B-дерево индекса эффективнее, чем полностью случайные значения v4, разбрасывающие позиции вставки по всему индексу. В отличие от v1, одна лишь метка времени v7 не идентифицирует конкретную машину.

Каждый случайный байт за этими генераторами — для всех трёх версий — берётся из crypto.getRandomValues, криптографически безопасного источника случайных чисел Web Crypto API, никогда не из Math.random(). Это важно, потому что Math.random() явно НЕ специфицирован как криптографически безопасный ни в одном движке JavaScript — его вывод в принципе может быть предсказан или воспроизведён злоумышленником, увидевшим достаточно предыдущих значений, что стало бы реальной проблемой для идентификаторов, используемых там, где важна непредсказуемость (например, гарантия уникальности UUID v4 целиком опирается на то, что эти 122 бита действительно непредсказуемы).

Глоссарий

UUID
Universally Unique Identifier — 128-битное значение (RFC 4122/9562), спроектированное для генерации без центральной координации при сохранении глобальной уникальности на практике.
UUID v4
UUID, построенный из 122 случайных бит — простейшая и самая распространённая версия, без допущений о времени или оборудовании.
UUID v1
UUID на основе времени (60-битная метка времени + поле node). Этот инструмент заполняет поле node случайными байтами, не связанными с оборудованием, согласно собственным рекомендациям RFC, а не реальным MAC-адресом.
UUID v7
UUID, упорядоченный по времени (RFC 9562, 2024 год): 48-битная метка времени в миллисекундах, за которой следуют случайные биты, поэтому сгенерированные значения сортируются хронологически — частый выбор для первичных ключей БД.
Поле node
48-битное поле в UUID v1, исторически предназначенное для хранения реального MAC-адреса генерирующей машины — проблема приватности, которую этот инструмент обходит, используя вместо этого случайные байты.
CSPRNG
Cryptographically Secure Pseudo-Random Number Generator — источник crypto.getRandomValues, который использует этот инструмент, в отличие от предсказуемого Math.random().

API-эквивалент

У этого инструмента нет API-эквивалента в нашем сервисе — генерация UUID не является фактом об IP-адресе, поэтому нашему API здесь нечего возвращать. Генерация выше выполняется полностью на вашем устройстве с использованием криптографически безопасного источника случайных чисел браузера; ничего никуда не отправляется. Если вы искали наш API для поиска по IP — он покрывает геолокацию, ASN/сеть и данные об угрозах/мошенничестве для IP-адреса:

Читать полную документацию API

Часто задаваемые вопросы

Какую версию UUID использовать?
Версию 4 для универсальных идентификаторов — она проще всего и наиболее широко поддерживается. Выбирайте версию 7 специально, если UUID будет первичным ключом БД, поскольку её упорядоченная по времени структура вставляется в B-дерево индекса эффективнее, чем полностью случайные значения v4.
Криптографически ли безопасны эти UUID?
Каждый случайный бит берётся из crypto.getRandomValues, криптографически безопасного источника случайных чисел Web Crypto API — никогда не из Math.random(), который не специфицирован как непредсказуемый ни в одном движке JavaScript.
Могут ли два сгенерированных UUID совпасть?
Теоретически да, практически нет — UUID v4 содержит 122 случайных бита, поэтому вероятность когда-либо сгенерировать дубликат астрономически мала даже среди миллиардов UUID. Именно поэтому UUID считаются надёжными уникальными идентификаторами без центрального реестра.
Чем отличается UUID v7 от v4?
v7 начинается с 48-битной метки времени в миллисекундах, поэтому позже сгенерированные UUID всегда сортируются после более ранних; v4 полностью случаен и вообще не имеет порядка. Оба используют оставшиеся биты для случайности и оба используют криптографически безопасный источник случайности.
Раскрывает ли UUID v1 мой MAC-адрес?
Нет — этот инструмент заполняет поле «node» UUID v1 случайными байтами (с установленным битом multicast, согласно собственным рекомендациям RFC на случай отсутствия реального оборудования), а не реальным MAC-адресом вашего браузера или устройства.
Отправляются ли мои данные на сервер?
Нет — каждый UUID генерируется локально в вашем браузере. Эта страница не делает сетевых запросов для генерации одного UUID или целой пачки.

Понравился инструмент? Бесплатный аккаунт нашего API даёт 1000 запросов в день.Смотреть документацию API →