Лаборатория кодера

Инструмент

Генератор UUID v4 и v7

Создаёт случайные UUID версии 4 и упорядоченные по времени UUID версии 7. Разбирает готовый UUID и показывает версию и время создания.

Работает в браузере, данные никуда не отправляются

v4 или v7

UUID v4 — 122 случайных бита. Вероятность совпадения ничтожна: чтобы с шансом 50% получить хотя бы одну пару одинаковых, нужно около 2,7·1018 идентификаторов.

UUID v7 (RFC 9562, 2024 год) начинается с 48 бит времени в миллисекундах от 1 января 1970 года, дальше идут случайные биты. Такие UUID растут со временем, поэтому новые записи попадают в конец индекса B-дерева, а не в случайное место. Для первичного ключа в PostgreSQL или MySQL это заметно уменьшает разрастание индекса и число записей на диск.

Минус v7: из идентификатора видно время создания записи. Если это нежелательно, например для публичных ссылок, используйте v4.

Устройство

Частьv4v7
биты 0–47случайныевремя Unix в миллисекундах
биты 48–51версия 0100версия 0111
биты 52–63случайныеслучайные (или счётчик для порядка внутри миллисекунды)
биты 64–65вариант 10вариант 10
остальные 62 битаслучайныеслучайные

Поэтому 13-й символ UUID — это версия (4 или 7), а 17-й — один из 8 9 a b.

Случайные биты берутся из crypto.getRandomValues — криптографического генератора браузера. Внутри одной миллисекунды v7 из этого инструмента идут строго по возрастанию: младшие 12 бит после версии работают как счётчик.