Skip to content

Генератор и декодер UUID — v1, v4, v5, v7

Бесплатный генератор UUID — создавайте UUID v1, v4, v5, v7 мгновенно. Декодирование и проверка любого UUID. Пакетная генерация до 50 штук. Без регистрации, всё в браузере.

Без отслеживания Работает в браузере Бесплатно
Все UUID генерируются локально в вашем браузере. Ничего не передаётся и не сохраняется.
Проверено на соответствие RFC 9562 и структурную корректность — Команда инженеров Go-Tools · Mar 22, 2026

Что такое 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. 1

    Выберите версию UUID

    Выберите v1 (на основе времени), v3 (MD5 на основе имени), v4 (случайный), v5 (SHA-1 на основе имени) или v7 (упорядоченный по времени со случайными данными). Каждая версия решает свою задачу — v4 чаще всего применяется для общих сценариев.

  2. 2

    Настройте параметры

    Для v3 и v5 выберите namespace (DNS, URL, OID, X.500 или пользовательский) и введите имя для хеширования. Укажите количество от 1 до 50 и выберите формат вывода: строчные буквы, ПРОПИСНЫЕ, без дефисов или фигурные скобки {GUID}.

  3. 3

    Сгенерируйте UUID

    Нажмите кнопку «Сгенерировать». Каждый UUID создаётся с помощью Web Crypto API (crypto.getRandomValues()) с криптографической стойкостью. Поля версии — timestamp (v1/v7) и хеши (v3/v5) — кодируются корректно.

  4. 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 (Universally Unique Identifier) — это 128-битный идентификатор, стандартизованный RFC 9562. Записывается как 32 шестнадцатеричные цифры в пяти группах через дефис в формате 8-4-4-4-12 — например, 550e8400-e29b-41d4-a716-446655440000. UUID спроектированы как глобально уникальные без необходимости в центральной регистрации. Термин GUID (Globally Unique Identifier) — это название Microsoft для той же концепции, формат идентичный. UUID широко применяются в базах данных, распределённых системах, API и разработке ПО везде, где нужны уникальные идентификаторы. С более чем 5,3 × 10³⁶ возможных UUID v4 вероятность коллизии исчезающе мала, что делает их безопасными для независимой генерации в нескоординированных системах.
Чем различаются версии UUID?
UUID v1 кодирует 60-битный timestamp и 48-битный MAC-адрес — гарантирует уникальность во времени и пространстве, но может раскрывать аппаратную идентичность. UUID v3 хеширует namespace и имя через MD5, давая детерминированный UUID — те же входы всегда дают тот же выход. UUID v4 заполняет 122 из 128 бит криптографически стойкими случайными данными — самая популярная версия для общих сценариев. UUID v5 идентичен v3, но использует SHA-1 вместо MD5, что даёт лучшую устойчивость к коллизиям. UUID v7, введённый в RFC 9562 (май 2024), встраивает 48-битный Unix timestamp в миллисекундах, за которым следуют случайные биты — UUID одновременно уникальны и сортируются по времени создания. Выбор версии зависит от требований: v4 для простоты, v5 для детерминированности и v7 для упорядоченных по времени ключей БД.
Когда использовать UUID v4, а когда v7?
UUID v4 — самая популярная версия и отличный выбор по умолчанию. Генерирует 122 бита чистой случайности, не требует настройки и работает везде. Используйте v4, когда просто нужен уникальный идентификатор и порядок не важен. UUID v7 лучше, когда UUID будут первичными ключами БД или их нужно сортировать по времени создания. Поскольку v7 встраивает миллисекундный timestamp в старшие биты, UUID v7 естественно сортируются хронологически. Это резко улучшает производительность B-tree индексов — вставки всегда идут в конец индекса, а не в случайные позиции, уменьшая разделение страниц и фрагментацию до 90%. Для новых проектов в 2026 году общая рекомендация — v7 для ключей БД, v4 для всего остального. Обе версии одинаково уникальны и криптографически случайны в случайной части.
Какова вероятность коллизии UUID?
UUID v4 имеет 122 случайных бита, что даёт 2¹²² (примерно 5,3 × 10³⁶) возможных значений. Чтобы получить 50% вероятность хотя бы одной коллизии, нужно сгенерировать примерно 2,71 × 10¹⁸ UUID — это 2,71 квинтиллиона. Для перспективы: при генерации одного миллиарда UUID в секунду до 50% вероятности коллизии пройдёт около 86 лет. При более реалистичных темпах вероятность исчезающе мала. Например, при генерации 10 миллионов UUID вероятность коллизии — около 1 на 10²². На практике аппаратные сбои, ошибки ПО и человеческий фактор в миллиарды раз вероятнее приведут к дубликатам ID, чем коллизия UUID v4. Расчёт основан на формуле задачи о днях рождения: p(n) ≈ n² / (2 × 2¹²²).
В чём разница между UUID и GUID?
UUID (Universally Unique Identifier) и GUID (Globally Unique Identifier) — по сути одно и то же. GUID — термин, введённый Microsoft и используемый преимущественно в Windows, .NET, COM и SQL Server. UUID — стандартный термин, определённый RFC 9562 (и его предшественником RFC 4122), используемый в большинстве других контекстов: Linux, Java, Python, PostgreSQL и веб-разработке. Оба используют идентичный 128-битный формат, отображаемый как 32 шестнадцатеричные цифры в шаблоне 8-4-4-4-12. Незначительное отличие: инструменты Microsoft иногда показывают GUID в верхнем регистре с фигурными скобками, например {550E8400-E29B-41D4-A716-446655440000}, тогда как UUID обычно отображаются в нижнем регистре без скобок. Этот инструмент поддерживает оба формата через селектор формата вывода — выберите формат «Скобки {GUID}» для вывода в стиле Microsoft.
Криптографически ли безопасен UUID v4?
При генерации через crypto.getRandomValues() или эквивалентный CSPRNG (Cryptographically Secure Pseudo-Random Number Generator) UUID v4 содержит 122 бита криптографически стойких случайных данных. Этот инструмент использует Web Crypto API, который берёт энтропию из защищённого источника случайности операционной системы. Однако UUID не следует использовать как токены безопасности, пароли или ключи шифрования. Хотя 122 бит случайности делают предсказание невозможным, UUID имеют предсказуемую структуру — версия (4) и биты варианта фиксированы и публично известны. Для токенов безопасности используйте специализированные API, например crypto.getRandomValues() с полными 128 или 256 битами энтропии, или установленные форматы токенов вроде JWT. UUID — для идентификации, а не для безопасности.
Как проверить формат UUID?
Валидный UUID соответствует regex: ^[0-9a-f]{8}-[0-9a-f]{4}-[1-7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ (без учёта регистра). Этот шаблон проверяет шестнадцатеричный формат 8-4-4-4-12, что цифра версии (позиция 15) лежит между 1 и 7 и что nibble варианта (позиция 20) начинается с 8, 9, a или b (что указывает на вариант RFC 4122/9562). В JavaScript можно проверять так: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(uuid). В большинстве языков программирования есть встроенный разбор UUID — например, конструктор uuid.UUID() в Python, UUID.fromString() в Java и uuid.Parse() в Go. Всегда проверяйте UUID на границах системы перед сохранением или обработкой, чтобы предотвратить инъекционные атаки и повреждение данных.
Подходят ли UUID как первичные ключи БД? Производительность, безопасность и лучшая версия
Да, UUID безопасны и всё чаще используются как первичные ключи БД, при этом UUID v7 — рекомендуемая версия. Ключевые преимущества: (1) UUID можно генерировать где угодно — на клиенте, сервере или в edge-функциях — без обращения к БД, что включает offline-first и распределённые архитектуры. (2) UUID предотвращают атаки перебора, поскольку не являются последовательными целыми числами. (3) UUID упрощают объединение данных между системами, потому что ID никогда не сталкиваются. UUID v7 — лучшая версия для первичных ключей: упорядоченность по времени держит B-tree индексы последовательными, резко снижая разделение страниц, write amplification и фрагментацию индекса до 90% по сравнению со случайными UUID v4. Компромиссы: UUID занимают 16 байт против 4-8 байт для целых, увеличивая хранилище и память для индексов. В MySQL/InnoDB, где первичный ключ является кластерным индексом, случайные UUID v4 могут существенно снижать производительность — v7 решает это, обеспечивая, что вставки всегда добавляются в конец индекса, достигая производительности, сравнимой с auto-increment. PostgreSQL хранит UUID нативно в 16 байт через тип uuid. Для большинства современных приложений преимущества глобально уникальной генерации без координации перевешивают дополнительные затраты на хранение.
Что такое namespace UUID (v3/v5)?
Namespace UUID — это предопределённый или пользовательский UUID, служащий контекстом для генерации детерминированных UUID v3 и v5. RFC 4122 определяет четыре стандартных namespace UUID: DNS (6ba7b810-9dad-11d1-80b4-00c04fd430c8), URL (6ba7b811-9dad-11d1-80b4-00c04fd430c8), OID (6ba7b812-9dad-11d1-80b4-00c04fd430c8) и X.500 DN (6ba7b814-9dad-11d1-80b4-00c04fd430c8). Когда вы объединяете namespace UUID с строкой имени, алгоритм v3 или v5 хеширует их вместе и даёт детерминированный UUID — тот же namespace плюс имя всегда дают тот же UUID. Это полезно, когда нужны воспроизводимые идентификаторы из осмысленных имён. Например, хеширование namespace DNS с «example.com» всегда даёт один и тот же v5 UUID. Можно использовать любой валидный UUID как пользовательский namespace для собственной детерминированной схемы ID.
Что такое нулевой UUID?
Нулевой UUID (nil UUID) — это 00000000-0000-0000-0000-000000000000, все 128 бит установлены в ноль. Он определён в RFC 9562, раздел 5.9, как специальный UUID, представляющий отсутствие значения, аналогично null или None в языках программирования. Нулевой UUID полезен как sentinel-значение, значение по умолчанию в системах конфигурации или плейсхолдер в записях БД, где поле UUID не должно быть пустым, но реального значения ещё нет. RFC 9562 также определяет максимальный UUID: ffffffff-ffff-ffff-ffff-ffffffffffff (все биты в 1), который может служить граничным маркером. Важные оговорки: никогда не используйте нулевой UUID как реальный идентификатор — он не уникален. Некоторые библиотеки и БД могут отвергать или особым образом обрабатывать нулевые UUID, поэтому система должна обрабатывать их единообразно. Всегда документируйте, принимаются ли нулевые UUID в API-контрактах и схемах БД.
Что такое UUID v7 и почему стоит его использовать?
UUID v7 — новейшая версия UUID, определённая в RFC 9562 (май 2024). Она встраивает 48-битный Unix timestamp в миллисекундах в старшие биты, за которым следуют криптографически случайные данные. Такая конструкция даёт UUID, которые глобально уникальны, хронологически сортируемы и крайне эффективны как первичные ключи БД. В отличие от UUID v1, который тоже содержит timestamp, v7 использует более простой формат Unix epoch и не раскрывает MAC-адрес. Упорядоченная по времени структура снижает фрагментацию B-tree индекса до 90% по сравнению со случайным UUID v4, что приводит к более быстрым вставкам, меньшим индексам и лучшему попаданию в кеш. Для новых проектов с 2026 года UUID v7 — рекомендуемый выбор для любых сценариев с упорядочиванием по времени, особенно для первичных ключей БД, журналов событий и распределённых очередей.
Как декодировать UUID?
Декодирование UUID означает извлечение структурной информации, закодированной в его 128 битах. Каждый UUID содержит поле версии (биты 48-51), идентифицирующее способ генерации, и поле варианта (биты 64-65), идентифицирующее стандарт UUID. Кроме этих общих полей, разные версии встраивают разные данные: UUID v1 и v6 содержат 60-битный timestamp и 48-битный node (MAC-адрес); UUID v7 содержит 48-битный Unix timestamp в миллисекундах; UUID v3 и v5 содержат усечённый хеш namespace и имени. Чтобы декодировать UUID, вставьте его на вкладке «Декодировать» этого инструмента. Он мгновенно покажет версию, вариант, timestamp (для версий на основе времени) и статус валидности. Программно декодировать можно, разобрав шестнадцатеричные цифры и применив побитовые операции для извлечения каждого поля по спецификации RFC 9562.
UUID, ULID или nanoid — что выбрать?
UUID, ULID и nanoid решают одну фундаментальную задачу — генерация уникальных идентификаторов — но различаются форматом, сортируемостью и стандартизацией. UUID — самый распространённый стандарт (RFC 9562), нативно поддерживается практически всеми БД, языками и фреймворками. UUID v7 даёт сортировку по времени в стандартном 128-битном формате из 36 символов. ULID (Universally Unique Lexicographically Sortable Identifier) появился раньше UUID v7 и использует кодирование Crockford Base32, давая 26-символьную сортируемую строку. Теперь, когда UUID v7 существует как стандарт IETF, основное преимущество ULID — сортируемость — доступно и в универсальном формате UUID. nanoid генерирует более короткие идентификаторы (по умолчанию 21 символ) с URL-безопасным алфавитом — идеален, когда важна длина строки и не нужна совместимость между системами. Для большинства приложений UUID v4 (общее назначение) или UUID v7 (ключи БД) — рекомендуемый выбор благодаря универсальной поддержке инструментов, нативным типам БД и формальной стандартизации.
Я делаю микросервис и выбираю между UUID v4 и v7 для первичных ключей PostgreSQL — что использовать и почему?
Используйте UUID v7 для первичных ключей PostgreSQL. UUID v7 встраивает Unix timestamp с миллисекундной точностью в старшие биты, поэтому генерируемые ID естественным образом отсортированы хронологически. Это держит B-tree индексы последовательными — вставки всегда добавляются в конец, а не в случайные позиции, снижая разделение страниц и фрагментацию индекса до 90% по сравнению со случайным UUID v4. PostgreSQL 17+ имеет нативную поддержку типа uuid, оптимизированную под этот шаблон. UUID v4 всё ещё подходит для неиндексируемых идентификаторов вроде correlation ID или токенов сессий, где порядок не важен.
Команда спорит о UUID и auto-increment целочисленных ID для БД — какие реальные компромиссы?
Auto-increment целые меньше (4-8 байт против 16 байт), быстрее сравниваются и дают естественно последовательные индексы. Однако они требуют централизованной последовательности (БД), что проблемно в распределённых системах, offline-first приложениях и миграциях данных. UUID можно генерировать где угодно — на клиенте, в edge-функциях, в нескольких БД — без координации. Они также предотвращают атаки перебора (нельзя угадать /users/124, чтобы найти других пользователей). Накладные расходы по хранилищу реальны, но обычно приемлемы: индекс UUID примерно в 2 раза больше индекса целого. Для большинства современных приложений UUID v7 даёт лучшее из обоих миров — глобально уникальный, без координации и сортируемый, как auto-increment.

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

Все инструменты →

Декодер 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 изображений, регулировка качества, сравнение «до и после». Бесплатно и приватно.