Генератор UUID / ULID / NanoID

Миттєво генеруйте значення UUID v4, UUID v7, ULID та NanoID прямо у вашому браузері.

Формат

122 біти чистої випадковості — без порядку, неможливо вгадати.

Згенеровані ID
Готово.

Ваші ідентифікатори генеруються локально за допомогою надійної випадковості браузера. Нічого не надсилається на BroBroGo.

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

Яка різниця між UUID v4, UUID v7, ULID та NanoID?

UUID v4 — це 122 біти чистої випадковості у звичному 36-символьному форматі, але його випадковий порядок ускладнює індексацію в БД. UUID v7 зберігає ту саму структуру, але починається з мілісекундної позначки часу, тому такі ID сортуються приблизно за часом створення (зручно для первинних ключів). ULID робить те саме, але у коротшому 26-символьному форматі без урахування регістру. NanoID не використовує сортування за часом, натомість пропонує набагато коротший ID з можливістю налаштування довжини та набору символів.

Чи є ці ідентифікатори достатньо випадковими, щоб їх неможливо було вгадати?

Так — кожен ідентифікатор генерується за допомогою криптографічно стійкого генератора випадкових чисел браузера. UUID v4 та стандартний алфавіт NanoID містять понад 100 біт випадковості. UUID v7 та ULID віддають близько 48 цих біт під позначку часу, тому сприймайте формати з префіксом часу як сортовані ідентифікатори, а не як абсолютні секрети.

Чи можу я змінити довжину та набір символів для NanoID?

Так — виберіть NanoID, і інструмент покаже повзунок довжини (за замовчуванням 21 символ, як у бібліотеці) та поле алфавіту, яке можна редагувати. Зменшення довжини або звуження алфавіту знижує стійкість до колізій, тому намагайтеся зберігати достатню довжину, якщо скорочуєте набір символів.

Порівняння форматів: UUID v4, UUID v7, ULID та NanoID

Унікальні ідентифікатори є основою сучасного проектування баз даних, розподілених систем та веб-додатків. Кожен формат розроблений для вирішення конкретних інженерних завдань, балансуючи між випадковістю, сортованістю, довжиною та гнучкістю налаштування.

  • UUID v4: Цей формат складається зі 122 бітів чистої випадковості, представлених у вигляді 36-символьного рядка з дефісами. Він не має внутрішньої структури, пов'язаної з часом, що робить його абсолютно непередбачуваним, але створює проблеми при індексації в базах даних через хаотичний розподіл значень.
  • UUID v7: Зберігає класичну 36-символьну структуру UUID, але починається з мілісекундної позначки часу. Це дозволяє сортувати ідентифікатори приблизно за часом їх створення, що значно покращує продуктивність індексації в базах даних.
  • ULID: Альтернатива UUID v7, яка також починається з позначки часу, але використовує компактніший 26-символьний формат без урахування регістру. Він забезпечує аналогічні переваги сортування за часом у більш лаконічному текстовому вигляді.
  • NanoID: Компактний формат без часової прив'язки, який за замовчуванням має довжину 21 символ. Його головна перевага — можливість гнучкого налаштування довжини та набору символів (алфавіту) під конкретні вимоги системи.

Робота з генератором та налаштування параметрів

Інструмент дозволяє миттєво створювати унікальні ідентифікатори безпосередньо у вашому браузері. Для генерації доступні такі параметри та елементи керування:

  • Формат: Вибір між UUID v4, UUID v7, ULID або NanoID.
  • Кількість: Ви можете вказати кількість ідентифікаторів для одночасної генерації в діапазоні від 1 до 100 включно.
  • Великі літери: Спеціальний перемикач для форматів UUID, який дозволяє відображати літери у верхньому регістрі.
  • Включати дефіси: Перемикач для UUID, що дозволяє вимкнути або увімкнути стандартне розділення дефісами у вихідному рядку.
  • Довжина: Повзунок для NanoID, який дозволяє регулювати розмір ідентифікатора від 2 до 36 символів (типове значення — 21).
  • Алфавіт: Текстове поле для NanoID, де можна задати власний набір символів для формування унікального рядка.

Будь-яка зміна параметрів у меню налаштувань автоматично запускає процес регенерації списку ідентифікаторів.

Правила валідації та обмеження форматів

При роботі з генератором діють чіткі правила формування ідентифікаторів та обробки помилок:

  1. Мінімальний алфавіт NanoID: Для коректної генерації NanoID поле алфавіту повинно містити щонайменше 2 різні символи. Якщо користувач залишає лише один символ або очищує поле, інструмент виводить повідомлення про помилку: "Алфавіт має містити щонайменше 2 різні символи.". При цьому поточні результати очищуються, лічильник кількості ID скидається до 0, а кнопка копіювання стає неактивною.
  2. Сортованість за часом: UUID v7 та ULID містять мілісекундний таймстамп на початку структури. Вони підтримують сортування за часом створення, проте не гарантують строгого порядку для ідентифікаторів, згенерованих в межах однієї мілісекунди.
  3. Копіювання результатів: Ви можете скопіювати будь-який окремий ідентифікатор зі списку, просто клацнувши на нього мишкою. Також доступна кнопка для швидкого копіювання всього списку в буфер обміну.

Локальна безпека та конфіденційність даних

Процес генерації ідентифікаторів відбувається повністю локально у вашому веб-браузері. Для отримання випадкових послідовностей використовуються вбудовані криптографічно стійкі алгоритми випадковості самого браузера. Жодні згенеровані дані, параметри алфавітів чи налаштування довжини не передаються на сервери BroBroGo, що виключає можливість перехоплення або витоку створених ключів.

Часті запитання (FAQ)

Яка різниця між UUID v4, UUID v7, ULID та NanoID? UUID v4 — це 122 біти чистої випадковості у звичному 36-символьному форматі, але його випадковий порядок ускладнює індексацію в БД. UUID v7 зберігає ту саму структуру, але починається з мілісекундної позначки часу, тому такі ID сортуються приблизно за часом створення (зручно для первинних ключів). ULID робить те саме, але у коротшому 26-символьній формі без урахування регістру. NanoID не використовує сортування за часом, натомість пропонує набагато коротший ID з можливістю налаштування довжини та набору символів.

Чи є ці ідентифікатори достатньо випадковими, щоб їх неможливо було вгадати? Так — кожен ідентифікатор генерується за допомогою криптографічно стійкого генератора випадкових чисел браузера. UUID v4 та стандартний алфавіт NanoID містять понад 100 біт випадковості. UUID v7 та ULID віддають близько 48 цих біт під позначку часу, тому сприймайте формати з префіксом часу як сортовані ідентифікатори, а не як абсолютні секрети.

Чи можу я змінити довжину та набір символів для NanoID? Так — виберіть NanoID, і інструмент покаже повзунок довжини (за замовчуванням 21 символ, як у бібліотеці) та поле алфавіту, яке можна редагувати. Зменшення довжини або звуження алфавіту знижує стійкість до колізій, тому намагайтеся зберігати достатню довжину, якщо скорочуєте набір символів.

Чому UUID v7 та ULID не гарантують точний порядок сортування? Обидва формати використовують мілісекундну точність для запису позначки часу. Якщо кілька ідентифікаторів генеруються в межах однієї і тієї ж мілісекунди, їхня послідовність визначатиметься випадковою частиною структури, тому строгий хронологічний порядок для таких записів не гарантується.