Как пользоваться: Генератор UUID
- Выберите Version 4 для полностью случайных ID или Version 7 для ID, которые сортируются по времени создания.
- Укажите, сколько вам нужно (до 10 000), и нажмите Generate — или Ctrl/⌘ + Enter.
- Настройте формат: верхний регистр, без дефисов, в фигурных скобках, или как JSON-массив либо список для SQL.
- Нажмите Copy all или Download. Вставьте любой UUID в блок Validate & inspect, чтобы увидеть его версию, вариант и встроенную временную метку.
Что такое UUID?
UUID (Universally Unique Identifier), в мире Microsoft называемый GUID, — это 128-битный идентификатор, записываемый как 32 шестнадцатеричные цифры в пяти группах: 8-4-4-4-12, например 550e8400-e29b-41d4-a716-446655440000. UUID можно генерировать независимо на любом устройстве без центрального координатора, и вероятность коллизии при этом ничтожно мала — это идеально подходит для первичных ключей баз данных, распределённых систем, имён файлов, ключей идемпотентности и идентификаторов корреляции. Формат определён в RFC 9562 (2024), который заменил RFC 4122 и ввёл версии 6, 7 и 8.
UUID v4 и v7: в чём разница
| Версия 4 | Версия 7 | |
|---|---|---|
| Содержимое | 122 случайных бита | 48-битная Unix-метка времени (мс) + 74 случайных бита |
| Сортировка по времени создания | Нет | Да |
| Производительность индекса в БД | Случайные вставки фрагментируют B-tree индексы | Последовательные вставки, как у автоинкремента |
| Раскрывает время создания | Нет | Да (с точностью до миллисекунды) |
| Пример | 3b241101-e2bb-4255-8caf-4136c566a962 | 0199f2a4-7c3e-7b21-9d4f-3a6c8e1b2d40 |
Выбирайте v7 для первичных ключей в таблицах PostgreSQL, MySQL или SQL Server: поскольку новые ID всегда больше старых, вставки добавляются в конец индекса, а не разбивают случайные страницы. Выбирайте v4, если ID не должен раскрывать никакой информации, например для публичных токенов. В рамках одной пакетной генерации этот инструмент сохраняет строго возрастающие значения v7, даже если несколько ID создаются в одной и той же миллисекунде, используя счётчик в поле rand_a, как рекомендует RFC 9562.
Как читать UUID
Две позиции содержат метаданные. Первая цифра третьей группы — это версия (4 или 7 в примерах выше). Первая цифра четвёртой группы кодирует вариант: 8, 9, a или b означает стандартный UUID по RFC 9562. В UUID v7 первые 12 шестнадцатеричных цифр — это время создания в миллисекундах с 1970 года. Инспектор декодирует его за вас и также извлекает метки времени из UUID v1 и v6. Специальный UUID nil состоит из одних нулей, а UUID max — из одних f.
Действительно ли UUID уникальны?
Для v4 понадобилось бы сгенерировать около 2,7 × 1018 UUID, чтобы получить 50-процентную вероятность хотя бы одной коллизии. Это предполагает качественный источник случайности: инструмент использует криптографически стойкий crypto.getRandomValues() браузера, а не Math.random(). Однако UUID — это идентификаторы, а не секреты, поэтому не используйте их как пароли или токены сессий. Для этого воспользуйтесь генератором паролей.
Генерация UUID в коде
JavaScript: crypto.randomUUID() (v4). Python: uuid.uuid4(), а uuid.uuid7() — начиная с Python 3.14. PostgreSQL: gen_random_uuid() (v4) и uuidv7() в PostgreSQL 18. Другие уникальные значения, которые могут понадобиться: хеши для отпечатков содержимого и Unix-время для работы со временем.
Также ищут как: генератор guid, uuid v4, uuid v7, генератор уникальных id.
Инструменты, которые хорошо сочетаются с Генератор UUID
- Генератор ULID и Nano ID — Создавайте ULID — 26-символьные ID, которые сортируются по времени создания, или Nano ID — короткие ID для URL с алфавитом и длиной на ваш выбор.
- Генератор Nano ID — Создавайте короткие случайные ID, безопасные для URL, например V1StGXR8_Z5jdHi6B-myT, в том же формате, что и популярная библиотека nanoid.
- Base64 кодер / декодер — Преобразуйте текст в Base64 и обратно с полной поддержкой UTF-8 (акценты, эмодзи), включите URL-safe Base64 или перетащите файл, чтобы получить его строку Base64 или data URI.
- Переводчик азбуки Морзе — Введите текст, чтобы получить код Морзе, или вставьте точки и тире, чтобы расшифровать их.
Часто задаваемые вопросы
В чём разница между UUID и GUID?
Что использовать для ключей БД: UUID v4 или v7?
Могут ли два сгенерированных UUID совпасть?
Генерируются ли эти UUID безопасно?
Как получить временную метку из UUID v7?
parseInt(uuid.slice(0, 8) + uuid.slice(9, 13), 16) в JavaScript.