Генератор и декодер UUID — v1, v4, v5, v7
Бесплатный генератор UUID — создавайте UUID v1, v4, v5, v7 мгновенно. Декодирование и проверка любого UUID. Пакетная генерация до 50 штук. Без регистрации, всё в браузере.
Что такое UUID?
UUID (Universally Unique Identifier) — это 128-битный глобально уникальный идентификатор, стандартизованный RFC 9562 (IETF, май 2024), предназначенный для генерации идентификаторов без коллизий в распределённых системах без центральной координации. UUID — самый распространённый формат идентификаторов в современном ПО: они используются в первичных ключах баз данных, трассировке API-запросов, управлении сессиями и архитектурах микросервисов.
UUID записываются как 32 шестнадцатеричные цифры в каноническом формате 8-4-4-4-12, например `550e8400-e29b-41d4-a716-446655440000`. Спецификацию поддерживает IETF; RFC 9562 заменяет более ранний RFC 4122 (2005) и формально вводит UUID версий 6, 7 и 8.
Есть пять широко используемых версий UUID. Версия 1 (v1) кодирует текущий timestamp и MAC-адрес генерирующей машины — каждый UUID уникален и во времени, и в пространстве. Версии 3 (v3) и 5 (v5) детерминированы: они хешируют namespace и имя с помощью MD5 или SHA-1 соответственно и всегда дают один и тот же UUID для одних и тех же входных данных. Версия 4 (v4) — самая распространённая: она заполняет 122 бита криптографически стойкими случайными данными, давая более 5,3 × 10³⁶ возможных значений (RFC 9562, раздел 5.4). Версия 7 (v7) — новейший стандарт: согласно RFC 9562, раздел 5.7, «UUID версии 7 содержит поле, упорядоченное по времени и полученное из широко распространённого Unix Epoch timestamp» — она объединяет 48-битный timestamp в миллисекундах со случайными данными, давая UUID, которые одновременно уникальны и естественно сортируются по времени создания.
UUID незаменимы в распределённых системах, базах данных, API и везде, где нужны уникальные идентификаторы без центральной координации. Они исключают риск коллизий ID между независимыми системами и идеально подходят для микросервисов, event sourcing и многопользовательских архитектур.
Этот инструмент генерирует все версии UUID полностью в вашем браузере через Web Crypto API — UUID не передаются на сервер. В отличие от серверных генераторов, здесь нет загрузок, логирования и хранения данных. Безопасно использовать для production-ключей баз данных, идентификаторов API и приложений с повышенными требованиями к безопасности. Также можно декодировать и проверять существующие UUID, чтобы изучить их версию, вариант и встроенные данные.
UUID тесно связаны с другими примитивами разработчика. UUID v1 и v7 встраивают Unix timestamp напрямую, UUID v3 и v5 используют MD5 и SHA-1 хеши как основу, а строки UUID часто передаются внутри JSON-payload, который удобно изучать с помощью форматировщика JSON.
// Generate a UUID v4 using the Web Crypto API
const uuid = crypto.randomUUID();
console.log(uuid);
// → '550e8400-e29b-41d4-a716-446655440000'
// Manual v4 generation with crypto.getRandomValues()
function generateUUIDv4() {
const bytes = new Uint8Array(16);
crypto.getRandomValues(bytes);
bytes[6] = (bytes[6] & 0x0f) | 0x40; // version 4
bytes[8] = (bytes[8] & 0x3f) | 0x80; // variant 10
const hex = Array.from(bytes, b => b.toString(16).padStart(2, '0')).join('');
return `${hex.slice(0,8)}-${hex.slice(8,12)}-${hex.slice(12,16)}-${hex.slice(16,20)}-${hex.slice(20)}`;
} Ключевые возможности
Поддержка UUID v7 (RFC 9562)
Генерация новейшего формата UUID v7 со встроенным Unix timestamp — упорядоченные по времени идентификаторы, удобные для баз данных. Один из немногих онлайн-инструментов с поддержкой стандарта RFC 9562.
Декодер и валидатор UUID
Разберите любой UUID, чтобы увидеть его версию, вариант, timestamp (v1/v7), последовательность часов и информацию об узле. Мгновенная проверка корректности формата UUID.
Поддержка пяти версий
Генерация UUID в пяти версиях — v1 (на основе времени), v3 (MD5), v4 (случайный), v5 (SHA-1) и v7 (упорядоченный по времени) — все по RFC 9562.
Пакетная генерация
Сгенерируйте до 50 уникальных UUID за раз. Каждый UUID создаётся независимо с полной криптографической случайностью или корректным кодированием по версии.
Несколько форматов вывода
Вывод UUID в стандартном строчном виде, ПРОПИСНОМ, без дефисов или в фигурных скобках {GUID} — точно в том формате, который требует ваша система или фреймворк.
Криптографическая стойкость
Использует Web Crypto API (crypto.getRandomValues()) для истинной генерации случайных чисел — тот же стандарт, что у современных браузеров и инструментов безопасности.
Полностью в браузере
Все UUID генерируются локально в вашем браузере. Ничего не отправляется на сервер — сгенерированные идентификаторы остаются полностью приватными.
Сравнение версий UUID
Выберите подходящую версию UUID под ваш сценарий.
| Версия | Основа | Сортируемость | Конфиденциальность | Применение |
|---|---|---|---|---|
| v1 | Timestamp + MAC-адрес | По времени создания | Раскрывает MAC и время | Устаревшие системы с упорядочиванием по времени |
| v4 | 122 бита криптослучайных данных | Нет | Полностью анонимен | Общее назначение — самая распространённая версия |
| v5 | SHA-1 хеш namespace + имя | Нет | Детерминированный, воспроизводимый | Согласованные ID из известных входов (URL, DNS) |
| v7 | Unix timestamp (мс) + случайность | По времени создания | Раскрывает только время создания | Современные базы данных — сортируемый, удобный для индексов (RFC 9562) |
UUID и другие форматы ID
ULID
26 символов, Crockford Base32Лексикографически сортируем, как UUID v7, но использует кодирование Crockford Base32 (26 символов против 36). UUID v7 теперь является альтернативой, стандартизованной IETF, с более широкой поддержкой инструментов.
nanoid
21 символ, URL-безопасный алфавитКороче и URL-безопасный, подходит, когда важна компактность. Не формальный стандарт — нет нативных типов баз данных и кросс-платформенных библиотек, как у UUID.
CUID2
Переменная длина, буквенно-цифровойСоздан для горизонтального масштабирования с устойчивостью к коллизиям. Менее распространён, чем UUID; нативной поддержки в БД нет. Для стандартизированных упорядоченных по времени ID лучше UUID v7.
Примеры версий UUID
UUID v4 (случайный)
550e8400-e29b-41d4-a716-446655440000
Самая распространённая версия. 122 бита криптографической случайности дают более 5,3 × 10³⁶ возможных значений — подходит практически для любых сценариев, где требуется уникальность без координации.
UUID v7 (упорядоченный по времени)
01906b5e-4a3e-7234-8f56-b8c12d4e5678
Объединяет 48-битный Unix timestamp в миллисекундах со случайными данными. UUID сортируются хронологически — идеально для первичных ключей БД, где важна локальность индекса. Рекомендуется для новых проектов вместо v1 и v4.
UUID v1 (на основе времени)
6ba7b810-9dad-11d1-80b4-00c04fd430c8
Кодирует 60-битный timestamp и 48-битный MAC-адрес генерирующей машины. Гарантирует уникальность во времени и пространстве, но может раскрывать аппаратную идентичность. Заменён v6/v7 в RFC 9562.
UUID v5 (SHA-1 на основе имени)
886313e1-3b8a-5372-9b90-0c9aee199e5d
Детерминированный UUID, полученный хешированием namespace DNS с именем «python.org» через SHA-1. Один и тот же namespace и имя всегда дают один и тот же UUID — идеально для воспроизводимых идентификаторов.
Как использовать
- 1
Выберите версию UUID
Выберите v1 (на основе времени), v3 (MD5 на основе имени), v4 (случайный), v5 (SHA-1 на основе имени) или v7 (упорядоченный по времени со случайными данными). Каждая версия решает свою задачу — v4 чаще всего применяется для общих сценариев.
- 2
Настройте параметры
Для v3 и v5 выберите namespace (DNS, URL, OID, X.500 или пользовательский) и введите имя для хеширования. Укажите количество от 1 до 50 и выберите формат вывода: строчные буквы, ПРОПИСНЫЕ, без дефисов или фигурные скобки {GUID}.
- 3
Сгенерируйте UUID
Нажмите кнопку «Сгенерировать». Каждый UUID создаётся с помощью Web Crypto API (crypto.getRandomValues()) с криптографической стойкостью. Поля версии — timestamp (v1/v7) и хеши (v3/v5) — кодируются корректно.
- 4
Скопируйте и используйте
Нажмите кнопку «Скопировать» рядом с любым UUID, чтобы поместить его в буфер обмена, или «Скопировать всё», чтобы получить все сгенерированные UUID разом. Переключитесь на вкладку «Декодировать», чтобы проанализировать существующий UUID — его версию, вариант, timestamp и другую встроенную информацию.
Типичные сценарии
- Первичные ключи БД
- Используйте UUID v4 или v7 как уникальные первичные ключи без координации между узлами БД. UUID v7 особенно хорош, потому что его упорядоченность по времени улучшает производительность B-tree индексов.
- Распределённые системы
- Генерируйте уникальные идентификаторы независимо в микросервисах, очередях сообщений и системах event sourcing. UUID устраняют необходимость в централизованном сервисе генерации ID.
- Разработка API
- Создавайте уникальные ID запросов, correlation ID и ключи идемпотентности для REST и GraphQL API. UUID упрощают трассировку запросов между распределёнными сервисами.
- Управление сессиями и токенами
- Генерируйте уникальные идентификаторы сессий и временные токены для аутентификации. UUID обеспечивают достаточную уникальность, чтобы избежать коллизий при большом числе пользователей.
- Тестирование и разработка
- Быстро генерируйте тестовые данные, mock-идентификаторы и уникальные ID фикстур для автоматических тестов. Пакетная генерация упрощает заполнение dev-баз и тестовых наборов.
Технические детали
- Структура UUID
- UUID — это 128 бит (16 байт), представленные как 32 шестнадцатеричных символа в формате 8-4-4-4-12. Биты 48-51 (13-я шестнадцатеричная цифра) кодируют номер версии. Биты 64-65 кодируют поле варианта, идентифицирующее раскладку UUID. Остальные биты несут payload, специфичный для версии: timestamp, случайные данные или хеш.
- Биты версии
- Биты 48-51 (старший nibble 7-го байта) кодируют версию UUID: 0001 = v1 (на основе времени), 0011 = v3 (MD5 на основе имени), 0100 = v4 (случайный), 0101 = v5 (SHA-1 на основе имени), 0110 = v6 (переупорядоченное время), 0111 = v7 (Unix epoch). Эти четыре бита всегда устанавливаются явно при генерации.
- Поле варианта
- Биты 64-65 (два старших бита 9-го байта) определяют вариант. Шаблон 10x — UUID по RFC 4122/9562 (подавляющее большинство). Шаблон 110 — Microsoft GUID со смешанным порядком байт. Шаблон 0xx — UUID NCS обратной совместимости (legacy). Шаблон 111 зарезервирован.
- Стандарт RFC 9562
- RFC 9562, опубликованный в мае 2024, заменяет RFC 4122 как окончательную спецификацию UUID. Формально вводит UUID версий 6, 7 и 8. Версия 6 переупорядочивает поля v1 для сортируемости. Версия 7 использует 48-битный Unix timestamp в миллисекундах плюс случайные данные — рекомендуемая версия для новых UUID на основе времени. Версия 8 даёт формат для пользовательских UUID конкретной реализации. RFC 9562 также формально объявляет v1 устаревшей в пользу v6/v7.
Лучшие практики
- Выбирайте подходящую версию
- Используйте v4 для уникальных идентификаторов общего назначения, где не нужны порядок или детерминированность. Используйте v7 для первичных ключей БД — упорядоченность по времени даёт значительно лучшую производительность индексов. Используйте v5, когда нужны детерминированные ID на основе имён (предпочтительнее v3 ради более стойкого хеширования).
- UUID v7 — для первичных ключей БД
- Упорядоченная по времени структура UUID v7 держит вставки B-tree последовательными, снижая фрагментацию индекса примерно на 90% по сравнению со случайными UUID v4. Это означает более быстрые записи, меньшие индексы и лучшее использование кеша. Современные БД (PostgreSQL 17+, MySQL 8.0+) имеют нативную поддержку UUID, оптимизированную под этот шаблон.
- Не используйте UUID как токены безопасности
- UUID спроектированы для уникальности, а не секретности. UUID v1 раскрывает timestamp генерации и MAC-адрес. UUID v4 имеет только 122 бита энтропии при предсказуемой структуре. Для токенов безопасности, API-ключей или секретов сессий используйте специализированный CSPRNG для генерации 128 или 256 бит чистых случайных данных без накладных расходов структуры UUID.
- Проверяйте перед разбором
- Всегда проверяйте формат UUID регулярным выражением перед разбором или сохранением. Отвергайте некорректные входы на границах системы — endpoint API, формы, входы в БД. Это предотвращает инъекционные атаки, повреждение данных и трудно отлаживаемые ошибки от невалидных идентификаторов.
Часто задаваемые вопросы
Что такое UUID?
Чем различаются версии UUID?
Когда использовать UUID v4, а когда v7?
Какова вероятность коллизии UUID?
В чём разница между UUID и GUID?
Криптографически ли безопасен UUID v4?
Как проверить формат UUID?
Подходят ли UUID как первичные ключи БД? Производительность, безопасность и лучшая версия
Что такое namespace UUID (v3/v5)?
Что такое нулевой UUID?
Что такое UUID v7 и почему стоит его использовать?
Как декодировать UUID?
UUID, ULID или nanoid — что выбрать?
Я делаю микросервис и выбираю между UUID v4 и v7 для первичных ключей PostgreSQL — что использовать и почему?
Команда спорит о UUID и auto-increment целочисленных ID для БД — какие реальные компромиссы?
Похожие инструменты
Все инструменты →Декодер JWT
Безопасность
Декодируйте JWT-токены онлайн бесплатно. Просмотр header, payload, signature, срока действия, алгоритма и claims. 100% в браузере — токен не покидает устройство. Без регистрации.
Генератор MD5-хешей и контрольных сумм файлов
Безопасность
Создавайте MD5, SHA-256, SHA-1 и SHA-512 хеши онлайн бесплатно. Хеширование текста или файлов в браузере, проверка контрольных сумм и копирование результатов. Без регистрации.
Генератор случайных паролей — настраиваемый и безопасный
Безопасность
Генерируйте сильные случайные пароли мгновенно — бесплатно, 100% в браузере. Настройка длины и символов, batch до 50 с анализом энтропии.
Конвертер систем счисления — bin, hex, dec, oct
Конвертеры
Конвертация между системами счисления — двоичной, hex, десятичной, восьмеричной и любой базой 2-36 мгновенно. Бесплатно, приватно — вся обработка в браузере.
Base64 декодер и кодировщик
Кодирование и форматирование
Декодирование и кодирование Base64 онлайн бесплатно. Преобразование в реальном времени с полной поддержкой UTF-8 и эмодзи. Полная приватность — работает в браузере. Без регистрации.
Сжатие изображений онлайн — JPEG, PNG и WebP
Конвертеры
Сжимайте JPEG, PNG и WebP до 80% меньше — в браузере, без загрузки. Batch до 20 изображений, регулировка качества, сравнение «до и после». Бесплатно и приватно.