Генератор UUID онлайн: UUID v4, v7 и Minecraft
Выберите версию и нажмите «Создать». Всё происходит в вашем браузере, UUID создаются его безопасными случайными числами и нигде не отправляются и не сохраняются. Страница запоминает только ваш выбор.
Проверить UUID
Генератор UUID: случайный UUID v4, UUID v7 (GUID) и офлайн-UUID Minecraft
Выберите версию, нажмите кнопку и получите новый UUID, например 3f2b8c1e-9a4d-4e7b-8c21-5d6f0a9b7e34. Скопируйте его одним щелчком и вставьте в код, базу данных, файл конфигурации или тест. За раз можно создать до 1000 UUID, записать их заглавными буквами, без дефисов или в фигурных скобках и проверить версию любого вставленного UUID. Тот же идентификатор в продуктах Microsoft (.NET, SQL Server, Windows) называется GUID, и формат у него такой же.
Всё происходит в вашем браузере: UUID создаются безопасными случайными числами браузера (crypto.getRandomValues), поэтому ничего не отправляется на сервер и не сохраняется.
Что такое UUID
UUID — это Universally Unique Identifier, универсальный уникальный идентификатор. Это 128-битное число, записанное как 32 шестнадцатеричные цифры в пяти группах, разделённых дефисами (8-4-4-4-12, всего 36 символов). Идея проста: любой компьютер может создать идентификатор сам, не обращаясь к центральному серверу или базе данных, и никто другой не создаст такой же.
В версии 4 случайны 122 из 128 бит. Остальные шесть бит фиксированы: первая цифра третьей группы всегда 4 (версия), а первая цифра четвёртой группы всегда 8, 9, a или b (вариант). По этим двум местам можно проверить любой UUID v4.
Могут ли два UUID совпасть
Теоретически да, практически нет. Различных UUID v4 около 5,3 × 1036. Чтобы получить 50% вероятности одного повтора, нужно создать примерно 2,7 × 1018 идентификаторов, то есть миллиард в секунду почти 85 лет. Для одного проекта риск намного ниже риска поломки диска или ошибки в коде. Но хорошая практика всё же — держать уникальный индекс на столбце с UUID.
Где используется UUID
- Первичные ключи в базе данных. Клиент или сервис создаёт ID до сохранения записи, так что не нужно спрашивать у базы данных следующее число. Это удобно для нескольких серверов, шардов и приложений, работающих офлайн. К тому же UUID не показывает, сколько у вас записей, в отличие от
id=1042. - Ключи идемпотентности. Некоторые API (например, платёжные) принимают уникальный ключ в заголовке запроса. Если запрос отправлен дважды из-за сетевой ошибки, сервер видит тот же ключ и может проигнорировать повтор.
- Идентификаторы трассировки и корреляции. Один идентификатор проходит через все сервисы и строки логов одного запроса, так что всю цепочку можно найти в логах.
- Имена файлов и временные ссылки. Загруженный файл, сохранённый как
uuid.jpg, не может перезаписать другой файл, а его имя нельзя угадать по номеру предыдущего. - Тестовые данные, моки и миграции. Быстрый способ получить уникальное значение для фикстуры, пользователя или события.
UUID v4 или UUID v7
UUID v7 — более новая версия из стандарта RFC 9562 (2024), заменившего RFC 4122. Её первые 48 бит — это Unix-время в миллисекундах, затем идут биты версии и случайные биты. RFC 9562 говорит, что упорядоченные по времени UUID лучше локализованы в индексе базы данных, чем UUIDv4: новые значения находятся рядом в индексе, а разница по сравнению со случайными вставками «может составлять порядок и более». Если нужно лишь уникальное значение, а порядок не важен, достаточно v4. Если UUID — первичный ключ большой таблицы, посмотрите на v7. В PostgreSQL 18 есть функция uuidv7(). Этот инструмент создаёт обе версии. Пакет v7 всегда идёт по возрастанию, в том числе когда много UUID создаётся в одну и ту же миллисекунду. UUID v7 содержит время создания, поэтому не используйте его там, где время должно оставаться скрытым.
Как создать UUID в коде
- Java:
UUID.randomUUID().toString()изjava.utilдаёт v4. - JavaScript:
crypto.randomUUID()работает в браузерах (на защищённой странице https) и даёт UUID v4. - Python:
str(uuid.uuid4())из модуляuuid. - C#:
Guid.NewGuid(). SQL Server:NEWID(). PostgreSQL:gen_random_uuid().
UUID для Minecraft
Игроки часто спрашивают про «UUID Minecraft» и «офлайн-UUID», и это не то же самое, что случайный. На сервере в офлайн-режиме (online-mode=false) UUID игрока — это UUID версии 3, созданный из MD5-хеша строки OfflinePlayer: и имени игрока (так это описывает Minecraft Wiki). Выберите в списке выше «Офлайн-UUID Minecraft», введите никнеймы (по одному в строке) и получите офлайн-UUID. Например, Notch даёт b50ad385-829d-3141-a216-7e7d7539ba7f. Регистр букв имеет значение: notch даёт другой UUID. Случайный v4 не совпадает ни с одним из них.
Полезно знать
- UUID — это идентификатор, а не секрет. Не используйте его как пароль или как единственную защиту закрытой ссылки. Для паролей воспользуйтесь генератором паролей.
- Буквы могут быть строчными или заглавными, а дефисы в некоторых системах можно опустить. Обе формы означают одно и то же число, но в проекте держитесь одного формата, чтобы строки сравнивались как равные.
- Чтобы получить короткое имя страницы из заголовка, используйте генератор slug, а чтобы получить отпечаток текста или файла, — генератор хешей.
Похожие инструменты
Генератор паролей в браузере: случайный, как в Chrome или удобный для телефона, и проверка пароля. Ничего не отправляется на сервер.
Генератор хешей онлайн: MD5, SHA-1, SHA-256, SHA-384 и SHA-512 текста или файла до 2 ГБ, HMAC, сравнение контрольных сумм, SRI. В браузере.
Генератор slug онлайн: заголовок в чистый URL. Кириллица и буквы с диакритикой пишутся латиницей, есть стоп-слова, лимит длины и список заголовков.
Конвертер Unix timestamp онлайн: время в дату и дату в timestamp, секунды или миллисекунды, любой часовой пояс, текущее значение и примеры кода.
Популярные инструменты
Узнайте, где размещён сайт: IP-адрес, хостинг-компания (ASN), страна и город сервера. Бесплатная проверка хостинга для любого домена.
Бесплатный IP Lookup: страна, город, координаты и часовой пояс IP-адреса, а также имя хоста через обратный DNS (reverse IP). IPv4 и IPv6.
DNS lookup онлайн: A, AAAA, CNAME, MX, NS, TXT, SOA и CAA записи любого домена и его SSL-сертификат. Узнайте, почему не срабатывает DNS lookup.
Проверьте из США (Нью-Йорк), доступен ли сайт: код ответа HTTP и время ответа в миллисекундах. Бесплатный пинг из США для любого URL.