Розробника

Генератор UUID

Потрібен UUID для ключа бази даних, токена API або тестового фікстура? Генеруйте UUID v4 по одному або пакетно — до 100 за раз — і копіюйте їх прямо в буфер обміну.

Цей інструмент вам допоміг?

Що таке Генератор UUID?

Генератор UUID (Унікальний ідентифікатор) створює випадкові UUID версії 4 — 128-бітні ідентифікатори, які є практично унікальними у всіх системах світу. Кожен UUID відповідає стандартному формату 8-4-4-4-12 (36 символів з дефісами), що забезпечує зручність читання, зберігання та передачі. Цифра версії (позиція 13) завжди дорівнює 4, а цифра варіанту (позиція 17) завжди дорівнює 8, 9, A або B, що гарантує повну відповідність RFC 4122. Створюйте від 1 до 100 UUID за раз для первинних ключів баз даних, токенів API, ідентифікаторів сесій, тестових даних або будь-якого додатку, якому потрібні гарантовано унікальні ідентифікатори без координації з центральним органом.

Коли використовувати цей калькулятор

  • Вам потрібен унікальний ідентифікатор для первинного ключа бази даних у розподіленій системі
  • Ви створюєте ідентифікатори ресурсів API, які повинні бути глобально унікальними без центрального органу
  • Вам потрібні тестові фікстури з унікальними ID для модульних або інтеграційних тестів
  • Ви будуєте систему управління сесіями, яка потребує генерації унікальних токенів
  • Вам потрібно згенерувати кілька унікальних ідентифікаторів пакетно для міграції або імпорту даних
  • Ви хочете перевірити, що UUID, який у вас вже є, дійсний і правильно відформатований

Кроки:

  1. Виберіть, скільки UUID згенерувати (1-100).
  2. Натисніть кнопку «Згенерувати UUID».
  3. Скопіюйте окремі UUID або використайте «Копіювати все».
  4. Увімкніть автокопіювання для автоматичного копіювання при генерації.

Формула

Формат UUID v4: xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx Де x — випадкова шістнадцяткова цифра, а y — одна з 8, 9, A або B (варіант RFC 4122). Всього комбінацій: ~5,3 × 10^36

Випадки використання

  • Первинні ключі баз даних для розподілених систем
  • Ідентифікатори ресурсів API
  • Токени сесій користувачів
  • ID замовлень та транзакцій

Ключові переваги

  • Створюйте 1–100 UUID миттєво одним натисканням
  • Копіюйте окремі або пакетні UUID в буфер обміну одним натисканням
  • Режим автокопіювання для безперебійної інтеграції в робочий процес розробки
  • Повністю безкоштовно без реєстрації, облікового запису або підключення до сервера
  • Генерація на стороні клієнта гарантує, що ваші UUID ніколи не покинуть ваш браузер
  • Універсально сумісний формат (RFC 4122) працює з усіма основними базами даних та фреймворками

Поради

  • Використовуйте UUID v4 для універсальних унікальних ідентифікаторів, де хронологічне сортування не потрібне
  • Зберігайте UUID як binary(16) у базах даних замість рядків, щоб заощадити 50% місця та покращити продуктивність індексів
  • Використовуйте UUID v7 або ULID, якщо вам потрібні унікальні ідентифікатори, відсортовані за часом
  • Ніколи не створюйте UUID на стороні клієнта для критично важливих додатків безпеки — використовуйте CSPRNG на стороні сервера
  • Під час міграції з автоінкрементних ID додайте стовпець UUID поруч з існуючим цілочисловим стовпцем, щоб уникнути перерв

Поширені помилки

  • Використання автоінкрементних ID замість UUID у розподілених системах, де вузли генерують ID незалежно
  • Припускати, що UUID можна сортувати за часом — стандартні UUID v4 випадкові; використовуйте UUID v7 або ULID для хронологічно відсортованих ідентифікаторів
  • Зберігати UUID як 36-символьні рядки замість 16-байтних двійкових, витрачаючи на 55% більше місця та погіршуючи продуктивність індексів
  • Покладатися на клієнтський Math.random() для безпечної генерації UUID — він не є криптографічно стійким

Ключові терміни

UUID: Унікальний ідентифікатор — 128-бітний ідентифікатор, стандартизований RFC 4122
UUID v4: Випадковий UUID версії 4 — найпоширеніша версія, що генерується з 122 випадкових біт
GUID: Глобально унікальний ідентифікатор — реалізація стандарту UUID компанією Microsoft, функціонально ідентичний
RFC 4122: Документ стандартизації IETF, що визначає формат UUID, версії та структуру поля варіанту
CSPRNG: Криптографічно стійкий генератор псевдовипадкових чисел — необхідний для генерації UUID у контекстах безпеки

Пов'язані концепції

  • UUID версії 4: UUID, згенерований повністю з випадкових бітів, з полем версії, встановленим на 0100 (4), та бітами варіанту, встановленими згідно з RFC 4122
  • GUID (Globally Unique Identifier): Реалізація Microsoft стандарту UUID, функціонально ідентична UUID v4
  • RFC 4122: Документ стандартизації, що визначає формат UUID, версії та поле варіанту для структури UUID
  • Колізія: Надзвичайно рідкісна подія, коли два незалежно згенеровані UUID ідентичні — для UUID v4 ймовірність становить приблизно 1 з 5,3×10^36
  • UUID v7: Новіша версія UUID, яка кодує мітку часу Unix у найбільш значущих бітах, роблячи UUID впорядкованими за часом та сортованими, залишаючись при цьому унікальними

Приклад

Згенерований UUID: 550e8400-e29b-41d4-a716-446655440000 — стандартний UUID v4 з 4 на позиції 13, що вказує версію 4, та «a» на позиції 17, що вказує варіант RFC 4122.

Інтерпретація результатів

Генератор створює UUID версії 4, які є 128-бітними випадковими ідентифікаторами, що дотримуються стандартного шістнадцяткового формату 8-4-4-4-12 (36 символів, включаючи дефіси). Версія 4 означає, що всі біти, крім індикаторів версії та варіанту, є випадковими, забезпечуючи максимально можливу унікальність без координації між системами. Згенерований UUID має специфічні структурні маркери: 13-й символ завжди 4 (вказує версію 4), а 17-й символ завжди 8, 9, A або B (вказує варіант RFC 4122). Ці маркери відрізняють UUID v4 від інших версій і забезпечують відповідність стандарту. Використовуйте функцію автокопіювання, коли вам потрібно генерувати UUID по одному під час розробки — кожен UUID копіюється в буфер обміну негайно при генерації. Використовуйте «Копіювати все», коли вам потрібен пакет UUID для масової операції. Пакетна генерація виконується повністю у вашому браузері без зв'язку з сервером.

Часті запитання

Що таке UUID?
UUID (Universally Unique Identifier) — це 128-бітний ідентифікатор, стандартизований RFC 4122. UUID версії 4 генеруються випадковим чином і практично гарантовано унікальні між системами.
Наскільки унікальні UUID?
Надзвичайно унікальні. Існує 5,3×10^36 можливих UUID v4. Ймовірність колізії настільки мала, що ви могли б генерувати 1 мільярд UUID на секунду протягом 100 років і все ще мати ризик колізії, близький до нуля.
Для чого використовуються UUID?
UUID використовуються як первинні ключі баз даних, ідентифікатори ресурсів API, токени сесій, ID транзакцій і скрізь, де потрібні унікальні ідентифікатори без центрального органу.
Яка різниця між UUID та GUID?
GUID (Globally Unique Identifier) — це реалізація Microsoft стандарту UUID. Вони функціонально ідентичні та взаємозамінні.
Чи дійсно UUID гарантовано унікальні?
Жоден стандарт UUID не гарантує абсолютної унікальності — але ймовірність колізії з UUID v4 настільки астрономічно мала (1 з 5,3×10^36), що вважається практично неможливою. Для довідки, вам потрібно генерувати 1 мільярд UUID на секунду протягом 100 років, щоб досягти навіть 50% ймовірності колізії.
Чи слід використовувати UUID чи автоінкрементні цілі числа для первинних ключів?
UUID краще підходять для розподілених систем, оскільки вони можуть генеруватися незалежно на будь-якому вузлі без координації. Цілі числа простіші та менші, що робить їх кращими для додатків з однією базою даних, де важлива послідовна впорядкованість. UUID також не розкривають інформацію про обсяг ваших даних (послідовний ID 5 000 повідомляє зловмиснику, що у вас 5 000 записів).
Чи можу я сортувати UUID хронологічно?
Стандартні UUID v4 є випадковими і не можуть бути сортовані за часом. UUID v7 (доступний у новіших бібліотеках) кодує мітку часу в найбільш значущих бітах, роблячи його сортованим за часом. Якщо вам потрібні унікальні ID, впорядковані за часом, розгляньте UUID v7 або ULID як альтернативи v4.
Яка різниця між зберіганням UUID як рядків і як двійкових даних?
Рядки використовують 36 символів (36 байтів), тоді як двійкові дані використовують 16 байтів. Двійкове зберігання більш ефективне як для простору зберігання, так і для продуктивності індексів. Більшість баз даних підтримують специфічні для UUID типи стовпців, які автоматично обробляють двійкове перетворення. Використовуйте binary(16) у MySQL або нативний тип uuid у PostgreSQL.
Чому 13-й символ завжди '4' у UUID v4?
13-й символ займає біти 48-51 UUID, які кодують номер версії. Для версії 4 ці біти встановлені на 0100, що є шістнадцятковою цифрою 4. Так будь-який зчитувач UUID ідентифікує UUID як версію 4 (випадкову).
Чи безпечно генерувати UUID на стороні клієнта?
Для некритичних для безпеки цілей, так. Для критичних для безпеки додатків (токени сесій, ключі API, токени скидання пароля) використовуйте криптографічно безпечний генератор випадкових чисел на стороні сервера. Math.random() на основі браузера не є криптографічно безпечним, хоча crypto.getRandomValues() сучасних браузерів прийнятний для більшості цілей.
Скільки UUID я можу згенерувати за раз?
Цей генератор підтримує до 100 UUID за пакет. Для більших пакетів ви можете запустити генератор кілька разів або використати серверний скрипт з бібліотекою UUID. Генерація повністю відбувається на стороні клієнта без мережевих запитів, тому пакети завершуються майже миттєво.

Відкрийте більше інструментів

Свіжі добірки з усієї нашої бібліотеки інструментів.