7 мин чтения
2026-03-11
Стандарт RFC 4122. Формат: `xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx` (36 символов с дефисами).
**Версии:**
| Версия | Метод | Применение |
|---|---|---|
| v1 | Время + MAC-адрес | Устаревший, небезопасен |
| v4 | Случайные байты | Самый распространённый |
| v5 | SHA-1 хэш | Детерминированный |
| v7 | Unix-время + случайные | Сортируемый (новый стандарт) |
`01ARZ3NDEKTSV4RRFFQ69G5FAV` (26 символов)
Первые 10 символов — миллисекунды Unix-времени
Последние 16 символов — случайные
Лексикографически сортируемый — идеален для баз данных
`V1StGXR8_Z5jdHi6B-myT` (21 символ по умолчанию)
Компактнее UUID на 37%
Настраиваемая длина и алфавит
URL-безопасный по умолчанию
Популярен во фронтенд-разработке
| UUID v4 | UUID v7 | ULID | NanoID | |
|---|---|---|---|---|
| Длина | 36 | 36 | 26 | 21 |
| Сортируемый | Нет | Да | Да | Нет |
| URL-безопасный | Нет | Нет | Да | Да |
| Временная метка | Нет | Да | Да | Нет |
| Поддержка СУБД | Отличная | Хорошая | Средняя | Слабая |
UUID v4 — стандартный выбор для большинства задач
UUID v7 — новые проекты с базами данных (лучше индексируется)
ULID — когда важна сортировка по времени создания
NanoID — короткие ID в URL, токены сессий, фронтенд
UUID как первичный ключ создаёт фрагментацию индекса B-Tree. Решения:
Используйте UUID v7 или ULID (монотонно возрастающие)
Храните UUID как BINARY(16), не VARCHAR(36)
В PostgreSQL используйте тип uuid (нативный)
Генерируйте UUID любой версии в UUID Generator.
Смотрите также: Генератор паролей, Хэш-генератор, Генератор тестовых данных