Генератор GUID / UUID онлайн
Создавайте уникальные идентификаторы UUID v1, v3, v4, v5 и v7 прямо в браузере: массово, в нужном формате, без отправки данных на сервер.
Проверка и расшифровка UUID
Вставьте любой идентификатор, чтобы проверить его корректность, определить версию и вариант, извлечь время создания (для v1 и v7) и получить его во всех форматах.
Что такое GUID и UUID
UUID (Universally Unique Identifier) представляет собой 128-битное число, которое записывается в виде 36 символов: 32 шестнадцатеричные цифры, разделённые дефисами на пять групп. GUID (Globally Unique Identifier) обозначает то же самое: этот термин исторически использует Microsoft в Windows, .NET и SQL Server. С точки зрения формата и стандарта RFC 9562 (ранее RFC 4122) GUID и UUID полностью взаимозаменяемы.
Главное свойство UUID заключается в том, что его можно генерировать на любом устройстве без координации с другими системами, и вероятность получить два одинаковых значения ничтожно мала. Поэтому UUID применяют как первичные ключи в базах данных, идентификаторы объектов в API, имена файлов, токены сессий, ключи идемпотентности платежей и метки устройств.
Структура UUID
Версию любого UUID видно невооружённым глазом: это первый символ третьей группы. У случайного UUID v4 там всегда стоит цифра 4, у современного UUID v7 стоит 7. Первый символ четвёртой группы кодирует вариант: у идентификаторов по RFC 9562 это 8, 9, a или b.
Версии UUID и когда какую выбирать
v4Случайный
122 бита случайности из криптографического генератора. Стандарт де-факто: если сомневаетесь, берите v4. Подходит для ключей, токенов и любых идентификаторов.
v7Время + случайность
Начинается с Unix-времени в миллисекундах, поэтому значения монотонно растут. Лучший выбор для первичных ключей БД: индексы не фрагментируются, вставки быстрее.
v1По времени и MAC
Классическая версия на основе временной метки и адреса узла. Из идентификатора можно извлечь время создания. Сейчас вместо v1 обычно рекомендуют v7.
v5SHA-1 от имени
Детерминированный: считается как SHA-1 от пространства имён и строки. Одинаковый вход всегда даёт одинаковый UUID. Удобен для стабильных идентификаторов сущностей.
v3MD5 от имени
То же, что v5, но на основе MD5. Оставлен для совместимости со старыми системами; для новых задач предпочтительнее v5.
nil / maxСлужебные
Nil UUID состоит из одних нулей, Max UUID из одних F. Используются как заглушки, маркеры отсутствия значения и граничные значения в диапазонах.
Можно ли получить два одинаковых UUID
Теоретически да, практически нет. У UUID v4 количество возможных значений равно 2122, то есть примерно 5,3 × 1036. Чтобы вероятность хотя бы одного совпадения достигла 50%, нужно сгенерировать около 2,7 × 1018 идентификаторов. Даже создавая миллиард UUID каждую секунду, на это ушло бы больше 85 лет, и всё это время значения пришлось бы где-то хранить и сравнивать.
Поэтому в реальных системах коллизии UUID возникают не из-за математики, а из-за ошибок: плохого источника случайности, копирования идентификаторов вручную или багов в коде. Этот генератор использует браузерный crypto.getRandomValues, криптографически стойкий источник случайных чисел.
Как сгенерировать UUID в коде
Во всех современных языках UUID генерируется одной строкой, без сторонних библиотек.
// Браузер и Node.js 19+
const id = crypto.randomUUID();
// "36b8f84d-df4e-4d49-b662-bcde71a8764f"
// Node.js: UUID v7
const { v7 } = require('uuid'); // npm i uuid
const id7 = v7();
import uuid uuid.uuid4() # случайный v4 uuid.uuid5(uuid.NAMESPACE_DNS, "example.com") # v5 uuid.uuid1() # v1 по времени str(uuid.uuid4()) # в строку
// .NET
Guid id = Guid.NewGuid(); // v4
string s = id.ToString(); // "d" 36b8f84d-...
string b = id.ToString("B"); // "B" {36b8f84d-...}
// .NET 9+
Guid id7 = Guid.CreateVersion7(); // v7
import java.util.UUID;
UUID id = UUID.randomUUID(); // v4
String s = id.toString();
// v5/v3 по имени
UUID v3 = UUID.nameUUIDFromBytes("example.com".getBytes());
import "github.com/google/uuid" id := uuid.New() // v4 id7, _ := uuid.NewV7() // v7 s := id.String()
-- PostgreSQL 13+ SELECT gen_random_uuid(); -- v4 -- PostgreSQL 18+ SELECT uuidv7(); -- MySQL 8 SELECT UUID(); -- v1 -- SQL Server SELECT NEWID();
Частые вопросы
Чем GUID отличается от UUID?
Ничем, кроме названия. GUID (Globally Unique Identifier) придумали в Microsoft для COM и Windows, UUID (Universally Unique Identifier) закреплён в стандартах ISO и RFC 9562. Формат, размер и способы генерации у них одинаковые, поэтому GUID из .NET можно спокойно использовать там, где ожидается UUID, и наоборот.
Какую версию UUID выбрать?
Для большинства задач подходит v4. Если UUID будет первичным ключом в базе данных с большим объёмом вставок, выбирайте v7: благодаря временной метке в начале такие ключи почти отсортированы, и индекс работает быстрее. Если нужен воспроизводимый идентификатор, который всегда одинаков для одного и того же входа, используйте v5.
Безопасно ли пользоваться онлайн-генератором?
Да. Этот сайт генерирует идентификаторы средствами JavaScript прямо в вашем браузере через криптографический API crypto.getRandomValues. Сгенерированные значения никуда не отправляются и не сохраняются на сервере; история хранится только в localStorage вашего браузера.
Можно ли использовать UUID как пароль или секретный токен?
UUID v4 содержит 122 бита случайности, чего технически достаточно для секрета. Но стандарт не гарантирует непредсказуемость всех реализаций, а v1 и v7 частично предсказуемы по построению. Для паролей, ключей API и токенов сброса лучше использовать специализированные генераторы секретов, например crypto.randomBytes.
Сколько UUID можно сгенерировать за раз?
До 10 000 идентификаторов за одно нажатие. Результат можно скопировать одной кнопкой или скачать файлом в форматах TXT, JSON и CSV.
Почему UUID иногда пишут в фигурных скобках или верхним регистром?
Это разные текстовые представления одного и того же числа. Фигурные скобки {...} использует экосистема Microsoft: реестр Windows, COM, старый код на C#. Верхний регистр встречается в документации и на площадках вроде Wildberries и Ozon. По стандарту канонической считается запись строчными буквами, а сравнивать UUID следует без учёта регистра.