УтилитыГенераторы электроэнергии

Генератор 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

Хороший генератор обычно позволяет настроить то, что вам действительно нужно:

  1. Выберите версию UUID (например, v4 или v7).
  2. Укажите количество — если нужно сгенерировать пачку идентификаторов.
  3. Выберите формат отображения:
    • со стандартными дефисами или без,
    • регистр букв (lower/UPPER),
    • возможные обёртки (зависит от среды).
  4. Скопируйте результат и используйте в коде/запросах.

Отдельное преимущество — если генерация происходит локально в браузере: тогда вам не приходится передавать данные на сервер. Но даже без этого, при выборе сервиса ориентируйтесь на то, как он генерирует и хранит результаты (в идеале — без лишних “логов” и отправки ваших данных).

Проверка 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

  1. Генерация через неподходящий PRNG (например, Math.random) — особенно опасно для токенов.
  2. Использование неверного формата: дефисы/регистр/обёртка, которые не совпадают с ожиданиями парсера на другой стороне.
  3. Отсутствие валидации при приёме UUID от пользователя или внешнего сервиса.
  4. Ручное редактирование UUID “чтобы было красиво” — меняется версия/вариант, и идентификатор перестаёт быть корректным.

Если вам нужно регулярно генерировать и проверять UUID, онлайн-генератор uuid помогает быстро привести значения к нужному формату перед тем, как они попадут в код или БД.

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

UUID и GUID — это одно и то же?
По сути — да. UUID (Universally Unique Identifier) — международное название стандартизированного 128-битного идентификатора. GUID — историческое название от Microsoft в .NET/Windows, но формат и принцип генерации совпадают с UUID. Поэтому GUID можно использовать там, где ожидается UUID.
Почему нельзя генерировать UUID через Math.random?
Для UUID v4 критична случайность: стандарт подразумевает криптографически стойкий источник. Math.random не подходит для задач безопасности — он предсказуем и может дать повторяющиеся значения. Правильный путь — использовать crypto-API (в браузере или в среде выполнения) или библиотеку, которая делает это корректно.
Как проверить, что строка действительно UUID?
Нужно валидировать длину и структуру (32 hex-символа с дефисами в позиции 8-13-18-23), а также поля версии и варианта. В идеале — парсить UUID стандартными средствами вашей платформы, а не только regex. Так вы избежите “почти подходящих” строк с неверной версией.
Можно ли использовать UUID как ключ в базе данных вместо auto-increment?
Да, но важно выбрать версию. Для больших таблиц часто рекомендуют UUID v7: он содержит временную компоненту и обычно лучше ведёт себя по индексации, чем полностью случайный v4. UUID v4 подходит для токенов и идентификаторов, но может создавать больше фрагментации индексов.
Сколько UUID можно сгенерировать, не рискуя коллизией?
При корректной генерации вероятность совпадений у UUID практически ничтожна. Коллизии чаще случаются из-за ошибок: плохой источник случайности, ручное копирование, неправильный формат, баги в коде. Для реальных систем риск минимален, особенно если вы генерируете идентификаторы на стороне приложения/клиента стандартными методами.
Почему мой UUID “не выглядит” как в примере?
UUID может выводиться в разных форматах: в верхнем/нижнем регистре, с дефисами или без, в виде обёртки (например, { ... } в некоторых средах). Если вы видите отличие только в формате записи — это нормально. Проблема, если неверная версия/вариант или нарушена структура.