§

UUID-генератор — бесплатный генератор UUID v4 онлайн

v4 — значение по умолчанию. v7 сортируется лексикографически по времени генерации и является лучшим выбором для ключей базы данных.
Формат вывода
§

Вывод

    UUID — стандартный идентификатор в российских распределённых системах. Yandex Managed Service for PostgreSQL и VK Cloud Databases for PostgreSQL хранят первичные ключи как uuid; в Yandex Cloud каждый ресурс — от виртуальной машины Compute до бакета Object Storage — получает идентификатор формата uuid. Корреляция запросов через X-Request-Id в API-шлюзах Тинькофф Банка, СберБизнес и ЮKassa выстроена на v4 UUID. Платформа 1С-Битрикс24 и 1С:Предприятие 8 используют GUID для внутренних объектов справочников и регистров. Idempotency-Key в СБП-платежах Банка России обязан быть уникальным — UUID v7 даёт сортируемые ключи, что заметно ускоряет вставку в B-tree индекс. Генерация в браузере исключает утечку идентификаторов чувствительных сущностей по 152-ФЗ.

    Что такое UUID?

    UUID (универсально-уникальный идентификатор) — это 128-битное значение, представленное в виде 36-символьной строки, например 550e8400-e29b-41d4-a716-446655440000. Формат и семантика версий определены RFC 4122 для v1 — v5 и RFC 9562 для более новых v6, v7 и v8. Этот инструмент генерирует v4 (полностью случайный), v1 (временная метка плюс случайный node ID) и v7 (префикс из Unix-миллисекундной метки плюс случайный суффикс, сортируемый по времени генерации) — всё в вашем браузере, через Web Crypto API платформы. Никакие данные не отправляются на сервер.

    Как работает генерация UUID?

    Каждая версия по-разному балансирует детерминизм, сортируемость и энтропию. Инструмент выбирает нужный алгоритм по вашему выбору:

    1. v4 (случайный) вызывает браузерный crypto.randomUUID(), который возвращает 122 бита криптографической случайности, при этом 6 фиксированных битов (версия 0100 и вариант 10) размещены в нужных позициях. Коллизии астрономически маловероятны — чтобы с вероятностью 50 % получить один дубликат, нужно сгенерировать примерно 2,71 квинтиллиона v4 UUID.
    2. v1 (метка времени + узел) упаковывает 60-битную григорианскую метку времени (100-наносекундные тики с 15.10.1582) в time_low / time_mid / time_hi_and_version, задаёт ниббл версии 0001, выбирает 14-битную последовательность часов с установленными битами варианта и использует случайный 48-битный node ID с принудительно установленным multicast-битом (RFC 4122 §4.5 явно разрешает случайный node ID при отсутствии аппаратного MAC — multicast-бит помечает его как не-MAC).
    3. v7 (сортируемая метка времени), согласно RFC 9562 §5.7, размещает 48-битную big-endian Unix-миллисекундную метку, затем 4-битную версию 0111, затем 12 случайных битов, затем 2-битный вариант 10 и ещё 62 случайных бита. Поскольку метка времени находится в старших битах, UUID v7 сортируются лексикографически в порядке генерации — свойство, которого ни одна другая версия UUID не даёт без дополнительной кодировки.
    4. Вся случайность поступает из crypto.getRandomValues() — криптографически стойкого RNG браузера. И v1, и v7 включают защиту монотонности внутри одного тика, чтобы два последовательных вызова в пределах одного тика часов всё равно сортировали второй выше первого — критично для пакетных генераций, обгоняющих миллисекундные часы.
    5. Конвейер форматирования срабатывает после генерации. Можно убрать дефисы, перейти в верхний регистр, обернуть значение в фигурные скобки ({…} — соглашение GUID Microsoft) или вывести сырые 16 байт в base64 (22 символа, без padding). Режим base64 переопределяет остальные опции, поскольку base64 — самостоятельное представление.

    Зачем использовать этот UUID-генератор?

    • Ничего не покидает ваш браузер. Web Crypto API работает локально; страница не делает ни одного сетевого запроса после первоначальной загрузки документа. Откройте DevTools, нажмите «Сгенерировать», и панель Network останется пустой.
    • Вывод, соответствующий RFC. v4 следует RFC 4122 §4.4, v1 — §4.2 и §4.5, v7 — RFC 9562 §5.7. Ниббл версии и биты варианта расположены так, как требует стандарт — каждый UUID проходит каноническое регулярное выражение своей версии.
    • Сортируемый v7 для ключей БД. UUID v7, используемый как кластерный первичный ключ в Postgres, MySQL или SQL Server, оставляет вставки append-only по индексу — без расщеплений страниц, без случайного I/O — и при этом остаётся глобально уникальным. v4 так не умеет, потому что его биты случайны.
    • Пакетная генерация без ограничений скорости. Генерируйте 1, 10, 100 или 1 000 UUID за раз. Нет квот и регистрации — инструмент работает в вашей вкладке, поэтому потолок — ваш CPU, а не API-тариф вендора.

    Каковы распространённые применения UUID?

    UUID появляются там, где системе нужен глобально уникальный идентификатор без координации с центральным сервисом:

    • Первичные ключи БД. Автоинкрементные целые числа утечкой выдают количество строк и ломают шардирование. UUID стабильны между шардами, безопасны для слияния между регионами и (в случае v7) держат вставки в B-tree в горячей зоне без расщеплений страниц. Типичное приложение генерирует UUID на клиенте, передаёт его в INSERT и никогда не делает round-trip на сервер ради ключа.
    • ID корреляции запросов. HTTP-middleware прикрепляет к каждому входящему запросу v4 UUID, логирует его в каждом span и пробрасывает дальше (часто как заголовок X-Request-Id). Когда клиент сообщает о баге, инженер поддержки вставляет ID — и весь трейс запроса всплывает целиком, по сервисам и часовым поясам, без двусмысленностей.
    • Ключи идемпотентности. Платёжные API (Stripe, Adyen, Square) принимают заголовок Idempotency-Key, чтобы повторённый запрос никогда не списал с клиента дважды. UUID, сгенерированный на клиенте, гарантирует уникальность ключа для каждой логической операции — именно этого требует контракт этих API.

    Как выглядит пример UUID?

    В Node.js или современном браузере однострочник crypto.randomUUID() возвращает свежий v4 UUID — например, 3f50b5a8-2c54-4b9c-9c1f-3e5c7e2b8d12. Используйте его как идентификатор запроса или ключ идемпотентности. Когда UUID идёт в колонку БД, которая будет кластерным первичным ключом, генерируйте v7: два значения v7, созданные с разницей в одну миллисекунду, например 0190a3b0-7d4f-7c9e-8b21-a4d6f0bd9c11 и 0190a3b0-7d50-7f15-9c4e-72b3e0c1d8a4, сортируются лексикографически в порядке генерации. Тип uuid в Postgres хранит обе версии одинаково — разница проявляется при записи индекса: v7 дописывается в правый край B-tree, а v4 разбрасывает вставки и вынуждает случайное I/O.

    Этот генератор UUID делает одну вещь: превращает клик в один или много RFC-совместимых идентификаторов, отформатированных так, как вам нужно, не отправляя ваш запрос на сервер. Выберите версию, выберите количество, выберите формат — сгенерируйте, скопируйте, идите дальше.