Генератор UUID
Генерируйте случайные UUID — версии 4 для общего использования или версии 7 для упорядоченных по времени идентификаторов, которые эффективно индексируются в базе данных. Создавайте от одного до тысячи за раз, полностью локально.
- Файлы никогда не покидают ваше устройство
- Бесплатно, без регистрации
- Без водяных знаков
- Работает офлайн после загрузки
Как пользоваться: генератор uuid
- 1
Выберите версию
v4 — для обычных случайных идентификаторов, v7 — когда идентификаторы будут первичными ключами базы данных.
- 2
Задайте количество
Генерируйте от одного до тысячи UUID за раз.
- 3
Скопируйте или скачайте
Скопируйте список в буфер обмена или скачайте как текстовый файл.
Какую задачу на самом деле решает UUID
UUID — это 128-битный идентификатор, созданный так, чтобы его можно было независимо генерировать в любом количестве отдельных систем, в любой момент времени, без какого-либо центрального органа, выдающего следующий доступный номер, — и при этом сохранять подавляющую статистическую гарантию того, что два сгенерированных значения никогда не совпадут. Это принципиально отличается от автоинкрементного целочисленного ID, для которого нужна единая база данных, отслеживающая и выдающая следующий номер по порядку: UUID можно сгенерировать на телефоне без подключения к сети, в бессерверной функции или одновременно в тысяче параллельных экземпляров микросервисов — без какой-либо координации между ними, потому что сам по себе огромный размер пространства чисел делает случайное совпадение астрономически маловероятным, сколько бы идентификаторов ни генерировалось независимо друг от друга.
Почему v4 и v7 оба «случайны», но решают разные задачи
UUID версии 4 заполняет практически все 128 бит криптографически случайными данными, из-за чего каждое сгенерированное значение оказывается полностью непредсказуемым и никак не выдаёт, когда оно было создано и в каком порядке относительно любого другого UUID v4, — именно это свойство нужно, например, для токена безопасности, где предсказуемость сама по себе была бы уязвимостью. UUID версии 7, стандартизированный гораздо позже, в RFC 9562 (2024 год), намеренно жертвует частью этой непрозрачности: он размещает временную метку с точностью до миллисекунды в первых битах, поэтому UUID v7, созданный позже, при сортировке всегда оказывается после созданного раньше, а оставшиеся биты остаются случайными и столь же непредсказуемыми, как и в v4. Это не конкурирующие подходы, где один просто «лучше» другого, — они меняют одну и ту же базовую случайность на разные свойства в зависимости от того, что реально важно для конкретной задачи: упорядоченность или равномерная непредсказуемость.
Почему база данных со случайными первичными ключами замедляется по мере роста
Индекс базы данных, обслуживающий первичный ключ, обычно хранится как B-дерево — структура, которая работает лучше всего, когда новые значения вставляются в конец или рядом с концом существующего отсортированного порядка, — именно так и ведёт себя традиционный автоинкрементный целочисленный ключ. Первичный ключ UUID v4, будучи равномерно случайным, каждый раз вставляется в практически случайную позицию внутри этой отсортированной структуры, из-за чего база данных вынуждена постоянно разбивать и перебалансировать страницы индекса, разбросанные по всему дереву, вместо того чтобы просто дописывать их в конец. При небольшом масштабе эти накладные расходы незаметны; при масштабе в миллионы строк они становятся реальным и измеримым источником фрагментации индекса и замедления записи — именно ту проблему временная метка в начале UUID v7 и была стандартизирована специально решать, поскольку позволяет UUID сохранять уникальность и непредсказуемость идентификаторов, вставляя их при этом в примерно последовательном порядке.
Часто задаваемые вопросы
В чём разница между UUID v4 и v7?
v4 полностью случаен. v7 помещает временную метку в миллисекундах в свои первые биты, поэтому идентификаторы, созданные позже, при сортировке оказываются после более ранних. На практике оба одинаково непредсказуемы — просто v7 вдобавок ещё и упорядочен.
Какую версию использовать для первичного ключа базы данных?
v7. Случайные ключи v4 разбрасывают вставки по всему B-дереву индекса, что фрагментирует его и сильно замедляет запись при больших объёмах данных. Ключи v7 добавляются по порядку, поэтому вставки остаются последовательными — именно поэтому v7 стандартизировали в 2024 году.
Могут ли два UUID совпасть?
Математически возможно, практически — нет. У UUID v4 122 случайных бита; чтобы совпадение стало вероятным, нужно сгенерировать около 2.7 × 10^18 идентификаторов. Для сравнения: это больше, чем песчинок на Земле.
Насколько безопасно они генерируются?
Да, безопасно. Используется `crypto.getRandomValues` — криптографический источник случайности вашей операционной системы, а не `Math.random`. Это важно, если UUID когда-либо используется как токен доступа — ссылка для общего доступа, URL отписки, ключ для сброса пароля.
UUID и GUID — это одно и то же?
Да. GUID — это название Microsoft для того же самого 128-битного идентификатора. Единственное различие, с которым вы можете столкнуться, — это формат: инструменты Microsoft часто заключают их в фигурные скобки и используют верхний регистр, и этот инструмент умеет генерировать оба варианта.
Частые задачи: генератор uuid
Вам также может понадобиться
Генератор паролей
Создавайте надёжные случайные пароли и кодовые фразы
Декодер JWT
Декодирование и анализ JSON Web Token
Генератор QR-кодов
Создавайте QR-коды для ссылок, текста, WiFi и не только
Генератор штрихкодов
Штрихкоды Code 128 в виде масштабируемого SVG
Выбор и конвертер цвета
HEX, RGB, HSL, CMYK и проверка контраста
Генератор счетов
Создайте и скачайте профессиональный счёт в формате PDF
Конструктор резюме
Создайте аккуратное резюме, совместимое с ATS, и скачайте его в PDF