Генератор і валідатор UUID

Створюйте криптографічно випадкові UUID v4 або сортовані v7 — по одному чи тисячу одразу — й аналізуйте будь-який UUID або GUID, щоб дізнатися його версію та вбудовану мітку часу.

Працює в браузеріБез реєстраціїНічого не завантажується

Згенеровані UUID

Як користуватися: Генератор UUID

  1. Виберіть v4 для повністю випадкового ID або v7 для ID, що сортуються за часом створення.
  2. Укажіть, скільки потрібно (до 1 000), і натисніть Згенерувати.
  3. За бажанням увімкніть верхній регістр, приберіть дефіси або обгорніть у фігурні дужки для GUID у стилі Microsoft.
  4. Натисніть на великий UUID, щоб скопіювати його, або скористайтеся Копіювати / Завантажити .txt для пакета.
  5. Вставте будь-який UUID в аналізатор, щоб перевірити його й дізнатися версію, варіант і мітку часу.

Що таке UUID?

UUID (Universally Unique Identifier), на платформах Microsoft відомий як GUID, — це 128-бітне значення, записане 32 шістнадцятковими цифрами в п'яти групах: 8-4-4-4-12. Формат визначено в RFC 9562, який 2024 року замінив RFC 4122. Одна цифра кодує версію (13-та hex-цифра), а старші біти 17-ї цифри — варіант.

UUID v4 чи UUID v7

v4v7
Вміст122 випадкові біти48-бітна мітка часу Unix у мілісекундах + 74 випадкові біти
Порядок сортуванняВипадковийХронологічний
Індекс у БДВипадкові вставки фрагментують B-tree індексиДодається в кінець, набагато дружніше до індексів
Розкриває час створенняНіТак

Використовуйте v7 для первинних ключів у базі даних та ID подій, де важливий порядок вставки. Використовуйте v4, коли ID не має видавати час створення. Цей генератор зберігає суворе зростання v7 навіть під час створення багатьох ID за одну мілісекунду.

Наскільки вони унікальні?

За 122 випадкових бітів потрібно згенерувати близько 2,7 квінтильйона UUID v4, щоб імовірність хоча б однієї колізії сягнула 50%. Ця сторінка використовує криптографічно стійкий генератор випадкових чисел браузера (crypto.getRandomValues) і ніколи — Math.random().

Генерація UUID у коді

// JavaScript (browsers, Node 19+)
crypto.randomUUID()
# Python
import uuid; uuid.uuid4()
-- PostgreSQL 13+
SELECT gen_random_uuid();

Поширені запитання

Чи можна використовувати ці UUID у продакшні?
Так. Вони генеруються локально безпечним генератором випадкових чисел Web Crypto API й відповідають RFC 9562. Нічого не надсилається на сервер і не логується.
Чим UUID відрізняється від GUID?
Це те саме. GUID — назва Microsoft, часто записується у верхньому регістрі й у фігурних дужках, наприклад {3F2504E0-4F89-11D3-9A0C-0305E82C3301}. Отримати такий формат можна за допомогою опцій вище.
Чи можна дізнатися час створення з UUID?
Лише для версій на основі часу. v7 зберігає мілісекунди Unix у перших 48 бітах, а v1 і v6 — мітку часу з кроком 100 наносекунд. Вставте такий UUID в аналізатор, щоб побачити дату. v4 не містить інформації про час.
Чи варто використовувати UUID як первинні ключі в базі даних?
Вони добре підходять для розподілених систем і публічних ID. Віддавайте перевагу v7 замість v4, щоб нові рядки потрапляли в кінець індексу, і зберігайте їх у нативному стовпці uuid або 16-байтовому бінарному, а не у вигляді 36-символьного рядка.
Що таке nil UUID?
Значення з самих нулів 00000000-0000-0000-0000-000000000000, що використовується як заглушка в значенні «немає UUID». RFC 9562 також визначає max UUID із самих f.

Схожі інструменти