Нужен уникальный идентификатор для записи в базе, файла, сессии или запроса. Можно использовать автоинкремент, но он не всегда подходит: выдаёт последовательность, зависит от базы и плохо работает при слиянии данных. Генератор UUID создаёт уникальные идентификаторы UUID (GUID): случайные версии 4 или упорядоченные по времени версии 7. До 100 штук за раз, в нижнем или верхнем регистре, с дефисами или без.
В этой статье разберём, что такое UUID, чем v4 отличается от v7, почему v7 удобнее для баз данных и почему UUID — не секрет.

Что умеет генератор
Генератор UUID создаёт идентификаторы по заданным параметрам.
| Параметр | Что делает |
|---|---|
| Версия | UUID v4 — случайный, v7 — упорядоченный по времени |
| Количество | До 100 штук за раз |
| Верхний регистр | Выводит в верхнем регистре |
| Без дефисов | Убирает дефисы из записи |
Результат показывается списком: каждый UUID можно скопировать отдельной кнопкой.
Всё выполняется в браузере: введённые данные никуда не отправляются.
Что такое UUID
UUID (Universally Unique Identifier) — универсальный уникальный идентификатор. Это строка из 32 шестнадцатеричных символов, разбитая на группы дефисами: 9f7499da-4f55-4368-a1af-0004bae526e0
Стандартная запись — 8-4-4-4-12 символов. Всего 128 бит, из которых часть отведена под версию и вариант.
UUID используется везде, где нужен идентификатор, который не требует централизованной выдачи:
| Где используется | Зачем |
|---|---|
| Базы данных | Первичные ключи, особенно в распределённых системах |
| API | Идентификаторы ресурсов и запросов |
| Файлы и объекты | Уникальные имена в хранилищах |
| Сессии и токены | Идентификаторы сессий, ключи идемпотентности |
| Логи и трассировка | Идентификатор запроса для сквозной трассировки |
UUID v4: полностью случайный
UUID v4 — 122 случайных бита и 6 бит служебных (версия и вариант). Генерируется из криптографического источника случайности.
Свойства:
- Не зависит от времени и места. Два UUID v4, созданные в разных системах, не пересекутся.
- Не даёт информации. По нему нельзя узнать, когда и где он создан.
- Хорошо подходит для публичных идентификаторов. Не раскрывает порядок создания и количество записей.
Минус — неупорядоченность. Для базы данных это значит, что вставка нового UUID v4 может попасть в случайное место индекса, что фрагментирует его и замедляет запись.
UUID v7: упорядоченный по времени
UUID v7 — новый формат, в котором старшие биты содержат метку времени, а остальное — случайные данные.
Свойства:
- Растут со временем. Новые UUID v7 больше предыдущих, поэтому вставка идёт в конец индекса.
- Дружелюбны к базам данных. Индекс не фрагментируется так, как при v4.
- Содержат время создания. По UUID v7 можно приблизительно понять, когда он создан.
Именно поэтому v7 рекомендуют для первичных ключей в базах данных: он даёт уникальность v4 и порядок, близкий к автоинкременту, но без привязки к конкретной базе.
Сравнение v4 и v7
| Свойство | UUID v4 | UUID v7 |
|---|---|---|
| Основа | Случайность | Время + случайность |
| Упорядоченность | Нет | Да, по времени |
| Информация о времени | Нет | Есть |
| Фрагментация индекса | Высокая | Низкая |
| Подходит для первичного ключа | Да, но с оговорками | Да, предпочтительно |
| Подходит для публичных ID | Да | Да, но раскрывает время |
Практическое правило: для базы данных — v7, для публичных идентификаторов, где нежелательно раскрывать время, — v4.
Формат: регистр и дефисы
UUID можно записывать по-разному.
| Формат | Пример | Где используется |
|---|---|---|
| Нижний регистр с дефисами | 9f7499da-4f55-4368-a1af-0004bae526e0 |
Стандартная запись, большинство систем |
| Верхний регистр с дефисами | 9F7499DA-4F55-4368-A1AF-0004BAE526E0 |
Некоторые системы и базы |
| Без дефисов | 9f7499da4f554368a1af0004bae526e0 |
Компактная запись, URL, имена файлов |
Стандарт рекомендует нижний регистр с дефисами, но многие системы принимают любой формат. Если идентификатор идёт в URL или имя файла, иногда удобнее без дефисов — короче и не требует экранирования.
UUID — это не секрет
Важное предупреждение: UUID не является секретом. Он уникален, но не защищён. Если UUID используется как идентификатор сессии или токен доступа, его нужно защищать так же, как пароль, — а лучше использовать для этого криптографически стойкие токены, а не UUID.
UUID v4 содержит 122 случайных бита, и угадать его практически невозможно. Но это свойство уникальности, а не защиты: если UUID попал в лог, URL или переписку, он раскрыт. Для секретов используйте специализированные генераторы токенов.
Зачем генерировать UUID
Первичные ключи в базе. Особенно в распределённых системах, где автоинкремент неудобен.
Идентификаторы в API. Ресурсы, запросы, ключи идемпотентности.
Имена файлов и объектов. Уникальные имена в хранилищах без риска совпадения.
Сессии и трассировка. Идентификатор запроса для сквозной диагностики.
Тестирование. Сгенерировать набор уникальных значений для тестов.
Ограничения инструмента
- До 100 штук за раз. Для большего количества запускайте несколько раз.
- Только v4 и v7. Другие версии UUID не поддерживаются.
- Не криптографический секрет. UUID подходит для идентификации, но не для защиты.
Как пользоваться: пошагово
- Выберите версию: v4 — полностью случайный, v7 — начинается с времени создания.
- Укажите количество и формат.
- Нажмите «Создать UUID» и скопируйте нужные.
Типичные ошибки
Использовать UUID как секрет. UUID уникален, но не защищён. Для токенов и сессий нужны криптографически стойкие значения.
Брать v4 для первичного ключа в большой базе. Случайные вставки фрагментируют индекс. Для баз данных лучше v7.
Считать, что UUID не пересекутся никогда. Вероятность ничтожна, но не нулевая. Для критичных систем стоит учитывать.
Путать UUID и GUID. Это одно и то же: GUID — название UUID в экосистеме Microsoft.
Игнорировать формат. Некоторые системы требуют конкретный регистр или наличие дефисов. Проверяйте требования.
Ожидать, что v7 скрывает время. Наоборот: v7 содержит метку времени. Если время создания нужно скрыть, используйте v4.
Вопросы и ответы
Чем v7 лучше v4? UUID v7 растут со временем, поэтому их удобно использовать как первичные ключи в базах данных: индекс не фрагментируется.
Могут ли UUID совпасть? Вероятность совпадения двух UUID v4 ничтожно мала: в них 122 случайных бита.
UUID — это секрет? Нет. UUID уникален, но не защищён. Для токенов и сессий используйте криптографически стойкие значения.
Чем UUID отличается от GUID? Ничем по сути: GUID — это название UUID в терминологии Microsoft.
Можно ли создать больше 100 UUID за раз? Инструмент создаёт до 100 штук за запуск. Для большего количества запустите его несколько раз.
Почему v7 содержит время? В v7 старшие биты отведены под метку времени, чтобы идентификаторы были упорядочены. Это удобно для баз данных, но раскрывает время создания.
Итог
Генератор UUID — инструмент для создания UUID v4 и v7: до 100 штук за раз, в нижнем или верхнем регистре, с дефисами или без. v4 подходит для публичных идентификаторов, v7 — для первичных ключей в базах данных, где важна упорядоченность. Помните, что UUID — не секрет, и используйте его для идентификации, а не для защиты, — и генератор будет работать на удобство, а не создавать ложное чувство безопасности.