Генератор и валидатор UUID

Создавайте криптографически случайные UUID v4 или сортируемые v7 — по одному или тысячу сразу — и анализируйте любой UUID или GUID, чтобы узнать его версию и встроенную метку времени.

Работает в браузереБез регистрацииНичего не загружается

Сгенерированные UUID

Как пользоваться: Генератор UUID

  1. Выберите v4 для полностью случайного ID или v7 для ID, которые сортируются по времени создания.
  2. Укажите, сколько нужно (до 1 000), и нажмите Сгенерировать.
  3. При желании включите верхний регистр, уберите дефисы или оберните в фигурные скобки для GUID в стиле Microsoft.
  4. Нажмите на крупный UUID, чтобы скопировать его, или используйте Копировать / Скачать .txt для пакета.
  5. Вставьте любой UUID в анализатор, чтобы проверить его и узнать версию, вариант и метку времени.

Что такое UUID?

UUID (Universally Unique Identifier), на платформах Microsoft называемый GUID, — это 128-битное значение, записанное 32 шестнадцатеричными цифрами в пяти группах: 8-4-4-4-12. Формат определён в RFC 9562, который в 2024 году заменил RFC 4122. Одна цифра кодирует версию (13-я hex-цифра), а старшие биты 17-й цифры — вариант.

UUID v4 или UUID v7

v4v7
Содержимое122 случайных бита48-битная метка времени Unix в миллисекундах + 74 случайных бита
Порядок сортировкиСлучайныйХронологический
Индекс в БДСлучайные вставки фрагментируют B-tree индексыДобавляется в конец, гораздо дружелюбнее к индексам
Раскрывает время созданияНетДа

Используйте v7 для первичных ключей в базе данных и ID событий, где важен порядок вставки. Используйте v4, когда ID не должен выдавать время создания. Этот генератор сохраняет строгое возрастание v7 даже при создании многих ID в одну миллисекунду.

Насколько они уникальны?

При 122 случайных битах нужно сгенерировать около 2,7 квинтиллиона UUID v4, чтобы вероятность хотя бы одной коллизии достигла 50%. Эта страница использует криптографически стойкий генератор случайных чисел браузера (crypto.getRandomValues) и никогда — Math.random().

Генерация UUID в коде

// JavaScript (browsers, Node 19+)
crypto.randomUUID()
# Python
import uuid; uuid.uuid4()
-- PostgreSQL 13+
SELECT gen_random_uuid();

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

Можно ли использовать эти UUID в продакшене?
Да. Они генерируются локально безопасным генератором случайных чисел Web Crypto API и соответствуют RFC 9562. Ничего не отправляется на сервер и не логируется.
Чем UUID отличается от GUID?
Это одно и то же. GUID — название Microsoft, часто записывается в верхнем регистре и в фигурных скобках, например {3F2504E0-4F89-11D3-9A0C-0305E82C3301}. Получить такой формат можно с помощью опций выше.
Можно ли узнать время создания по UUID?
Только для версий на основе времени. v7 хранит миллисекунды Unix в первых 48 битах, а v1 и v6 — метку времени с шагом 100 наносекунд. Вставьте такой UUID в анализатор, чтобы увидеть дату. v4 не содержит информации о времени.
Стоит ли использовать UUID как первичные ключи в базе данных?
Они хорошо подходят для распределённых систем и публичных ID. Предпочитайте v7 вместо v4, чтобы новые строки попадали в конец индекса, и храните их в нативном столбце uuid или 16-байтовом бинарном, а не в виде 36-символьной строки.
Что такое nil UUID?
Значение из одних нулей 00000000-0000-0000-0000-000000000000, которое используется как заглушка в смысле «нет UUID». RFC 9562 также определяет max UUID из одних f.

Похожие инструменты