Генератор UUID: онлайн и в коде
Онлайн генератор UUID v1, v4 и v7: создавайте идентификаторы и выбирайте формат вывода. Быстро и удобно.
Что такое UUID и зачем нужен генератор
UUID (Universally Unique Identifier) — это 128-битный идентификатор, который записывается строкой из 32 шестнадцатеричных символов, обычно разделённых дефисами на группы. Он нужен, когда требуется уникальное значение без централизованной выдачи и согласования между системами.
Генератор uuid пригодится для:
- ключей в БД и сущностей в приложениях,
- идентификаторов запросов/сессий,
- токенов и “идемпотентности” в API,
- имен файлов, объектов в очередях и распределённых задач.
Как устроен UUID: формат и где “зашиты” версии
Стандартная форма UUID выглядит так: xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx.
Грубо:
- M — версия UUID (например,
4для v4,7для v7), - N — вариант (для RFC-подобных UUID это обычно одна из допустимых меток, зависящая от спецификации).
Поэтому в корректном UUID “версия видна глазами”: если в третьей группе стоит 4, это почти наверняка UUID v4; если 7 — UUID v7. Дополнительно важно, чтобы строка состояла из шестнадцатеричных символов в правильных позициях.
Какие версии UUID существуют и когда выбирать
Ниже — самые популярные версии и логика выбора:
| Версия | Основа | Когда удобно |
|---|---|---|
| v4 | криптографическая случайность | токены, случайные идентификаторы, “непривязанные” значения |
| v7 | время + случайность | первичные ключи в БД, когда важнее упорядочивание при вставках |
| v1 | время + MAC/узел (исторически) | редко в новых проектах, больше для совместимости |
| v5 | детерминированно по имени (SHA-1) | воспроизводимые идентификаторы: один вход → один UUID |
| v3 | то же, что v5, но MD5 | наследие/совместимость со старыми системами |
Практическое правило: если вы не знаете, что выбрать — чаще всего берут v4. Если UUID будет ключом в таблицах с большими объёмами и важна производительность индексов — чаще смотрят в сторону v7.
Как пользоваться онлайн-генератором uuid
Хороший генератор обычно позволяет настроить то, что вам действительно нужно:
- Выберите версию UUID (например, v4 или v7).
- Укажите количество — если нужно сгенерировать пачку идентификаторов.
- Выберите формат отображения:
- со стандартными дефисами или без,
- регистр букв (lower/UPPER),
- возможные обёртки (зависит от среды).
- Скопируйте результат и используйте в коде/запросах.
Отдельное преимущество — если генерация происходит локально в браузере: тогда вам не приходится передавать данные на сервер. Но даже без этого, при выборе сервиса ориентируйтесь на то, как он генерирует и хранит результаты (в идеале — без лишних “логов” и отправки ваших данных).
Проверка UUID: как понять, что строка корректна
Если вы получили UUID из внешнего источника (API, файла, пользовательского ввода), полезно проверить:
- структуру (36 символов со стандартными дефисами, или 32 без дефисов),
- только hex-символы,
- корректность версии и варианта.
На практике лучше всего использовать функцию парсинга в вашей платформе (язык/библиотека обычно валидирует версию и поля автоматически). Регулярки можно применять как быстрый фильтр, но они не заменяют полноценный парсинг.
Генерация UUID в коде (короткие примеры)
JavaScript / Node.js
- В современных браузерах:
crypto.randomUUID()(обычно даёт UUID v4). - Для v7 может понадобиться библиотека (например, uuid-пакет), либо функция конкретной версии среды.
Пример (v4):
const id = crypto.randomUUID();
console.log(id); // xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
PostgreSQL
Часто доступны функции для UUID v4 и/или более новых версий (в зависимости от версии СУБД):
SELECT gen_random_uuid();
Общий принцип
Не делайте UUID “вручную” и не комбинируйте куски строк: ошибки в позициях версий/варианта встречаются чаще, чем кажется. Надёжнее использовать стандартные функции/библиотеки.
Как выбрать версию UUID под вашу задачу
- Нужно случайное значение “для всего” → берите v4.
- Нужен ключ в БД, и вы хотите более удобную вставку/упорядочивание → часто выбирают v7.
- Нужно, чтобы один и тот же вход давал один и тот же UUID (например, детерминированные идентификаторы сущностей) → v5.
- Совместимость со старыми системами → иногда v3 или v1, но в новых разработках это обычно не первый выбор.
Если цель — “вставить в поле и забыть”, берите v4. Если цель — “ключевой идентификатор для больших таблиц”, чаще смотрят на v7.
Частые ошибки при работе с UUID
- Генерация через неподходящий PRNG (например, Math.random) — особенно опасно для токенов.
- Использование неверного формата: дефисы/регистр/обёртка, которые не совпадают с ожиданиями парсера на другой стороне.
- Отсутствие валидации при приёме UUID от пользователя или внешнего сервиса.
- Ручное редактирование UUID “чтобы было красиво” — меняется версия/вариант, и идентификатор перестаёт быть корректным.
Если вам нужно регулярно генерировать и проверять UUID, онлайн-генератор uuid помогает быстро привести значения к нужному формату перед тем, как они попадут в код или БД.