Сгенерировать UUID
Онлайн-генератор UUID, работающий в браузере. Выберите версию (v4 случайный — по умолчанию; v7, если нужны сортируемые ID; v1, если нужна wall-clock метка; Nil для sentinel-значений), укажите количество, выберите формат и нажмите «Сгенерировать». Вывод — простой текст, по одному UUID на строку: можно копировать по одному, всё сразу или скачать как .txt. Дополнительно есть инспектор: вставьте любой UUID — он покажет версию, вариант и (для v1/v7) встроенную метку времени, декодированную в локальное время.
Как пользоваться
v4 если не знаете какую — закрывает 99% случаев.
Укажите сколько и как они должны выглядеть.
Скопируйте одну строку, скопируйте всё или скачайте .txt.
Вставьте существующий UUID, чтобы узнать версию, вариант и метку времени.
Генерируйте случайные или сортируемые по времени UUID пачкой и проверяйте существующие
Проверить UUID
Что можно делать
Типичные применения
- Сгенерировать первичный ключ для строки в БД (v7 лучше всего для индексированных вставок).
- Создать токен сессии или correlation ID для трассировки.
- Сделать уникальное имя файла для сгенерированного артефакта.
- Проверить UUID из лога — когда он был выпущен (v1/v7).
- Сгенерировать фикстуры для юнит-тестов.
Почему именно этот
Большинство генераторов UUID дают только v4 — и всё. Мы даём v7 (современная рекомендация для ключей БД — сортируется по времени, что не ломает B-дерево индекса) и v1 (всё ещё распространён в старых системах со встроенной MAC/меткой времени), плюс инспектор, который покажет тип любого UUID и время его создания. Без регистрации, без лимитов, а сами UUID генерируются в вашем браузере.
Частые вопросы
Какую версию использовать?
v4 для общей случайности — безопасный выбор по умолчанию. v7, если вы используете UUID как первичный ключ в индексированной таблице БД, потому что v7 сортируется по времени и обходит проблему производительности случайных вставок в B-дерево, которая есть у v4. v1 — в основном legacy (она протекает MAC-адрес машины-генератора). Nil — для sentinel «UUID ещё нет».
Достаточно ли случаен window.crypto?
Да. window.crypto.getRandomValues — это криптостойкий ГСЧ по спецификации Web Crypto. Это тот же примитив, что Node использует для crypto.randomUUID.
v7 раскрывает информацию о времени?
Да — это и есть смысл. Первые 48 битов — Unix миллисекунды. Если не хотите раскрывать время создания, используйте v4.
Почему v1 помечен как legacy?
Исторически v1 встраивал MAC-адрес генерирующей машины — это маленькая, но реальная утечка приватности. Современные реализации UUIDv1 используют случайный 48-битный node ID — мы тоже — но, если ваш проект выбрал v1 не просто так, об историческом нюансе стоит знать.
v4 или v7 — какую версию брать?
v4, если только идентификатор не станет ключом в базе, — тогда v7. Обе практически неугадываемы; разница в упорядоченности. v4 полностью случаен, поэтому подряд идущие вставки ложатся в никак не связанные места индекса, и индекс фрагментируется — известная плата, которая проявляется медленной записью на большой таблице. v7 кладёт в старшие биты метку времени в миллисекундах Unix, а ниже случайные данные, поэтому выданные подряд идентификаторы и сортируются подряд, а индекс растёт с конца. v1 тоже несёт время, но выдаёт идентификатор машины и сортируется неудобно; берите его, только если этого ждёт что-то дальше по цепочке, а Nil — когда нужна явная заглушка «значения нет».
Эти UUID уникальны?
Вероятность коллизии v4 с 122 битами энтропии — ~1 из 2^61 после миллиарда UUID, то есть практически ноль. v7 наследует ту же случайность для последних 74 битов и добавляет префикс времени.
Мы можем! Просто отправьте нам сообщение с вашим пожеланием. Если хотите обсудить детали — оставьте свою почту, и мы с вами свяжемся. Можно анонимно.