Бесплатно · в браузере · без загрузки
Создание универсальных уникальных лексикографически сортируемых идентификаторов с высокой производительностью
Инструменты разработчика
Быстрая Генерация ULID
Высокопроизводительный онлайн-инструмент ULID с преобразованием UUID, кодированием меток времени и генерацией сортируемых идентификаторов. Бесплатный инструмент для баз данных.
Начать
Генерировать ULID
Быстрые, эффективные и сортируемые идентификаторы для современных приложений
Все данные остаются в вашем браузере. Ничего не отправляется на сервер.
Options
Внедрение userId / tenantId в 80 бит случайности ULID
Локальная история
Безопасность: 100% на клиенте, без передачи на сервер.
Пока нет созданных ID
Созданные вами ID будут появляться здесь автоматически.
ULID против UUID
Почему ULID лучше UUID во многих ситуациях?
ULID
РекомендуетсяСортировка по времени
Первые 10 символов кодируют метку времени в миллисекундах, поэтому ID сортируется по времени
Base32 Крокфорда
Более эффективное кодирование, нечувствительное к регистру, без специальных символов
Опция монотонности
Может генерировать монотонно возрастающие значения для одной и той же метки времени
Читаемость
Легче отлаживать и читать в логах и базах данных
Пример ULID:
UUID
У UUID v4 нет порядка по времени
Случайный UUID v4 не содержит времени. UUID v7 содержит
Шестнадцатеричное кодирование
Менее эффективно, требует больше символов для той же информации
Нет монотонности
Нет встроенного механизма для монотонно возрастающих значений
Менее читаемый
Сложнее различать и идентифицировать в логах и базах данных
Пример UUID:
Сравнение производительности
Примеры кода
Вот несколько примеров кода, чтобы помочь вам начать
// Node.js / Браузер
// Установка: npm install @ulid/javascript
import { ulid } from '@ulid/javascript';
// Сгенерировать новый ULID
const myUlid = ulid(); // "01F8MECHZX3TBDSZ7XR8H8J1R4"
// Создать ULID с пользовательской временной меткой (миллисекунды)
const customTimestamp = 1616239022000;
const ulidWithCustomTime = ulid(customTimestamp);
// Создать монотонно возрастающие ULID (для нескольких ID в одной мс)
import { monotonicFactory } from '@ulid/javascript';
const monotonic = monotonicFactory();
const ulid1 = monotonic(); // "01F8MECHZX3TBDSZ7XR8H8J1R4"
const ulid2 = monotonic(); // "01F8MECHZX3TBDSZ7XR8H8J1R5" (увеличенный)
// Извлечь временную метку из ULID
const timestamp = ulid.decode(myUlid).time;
console.log(new Date(timestamp).toISOString());JavaScript:npm install @ulid/javascript
