Как пользоваться
- Выберите Вид идентификатора и укажите, сколько их нужно, в поле Сколько.
- Для nanoid задайте его Длину и символы Алфавита.
- Скопируйте идентификатор из Созданные идентификаторы. Каждая строка показывает время, которое хранит идентификатор, или тире для nanoid.
- Вставьте ULID или UUID версии 7 в поле Прочитать время идентификатора, чтобы прочитать время, которое он хранит.
Три вида идентификаторов
ULID (спецификация ulid/spec) — это 128 бит: 48 бит Unix-времени в миллисекундах, затем 80 случайных бит, записанных 26 символами base32 Crockford. UUID версии 7 (RFC 9562, раздел 5.7) тоже начинается с 48-битного времени в миллисекундах, в виде UUID 8-4-4-4-12. Nanoid — это случайная строка заданной длины и из заданного алфавита, и времени она не хранит.
- ULID: 26 символов, например 01ARZ3NDEKTSV4RRFFQ69G5FAV
- UUID версии 7: 36 символов, например 017f22e2-79b0-7cc3-98c4-dc0c0c07398f
- Nanoid: любая длина и любой алфавит, без времени
Порядок при создании вместе
Идентификаторы, созданные за один раз, имеют одну и ту же миллисекунду. ULID тогда увеличивает свою случайную часть на единицу относительно предыдущего идентификатора, а UUID версии 7 увеличивает 12-битный счётчик, поэтому идентификаторы сортируются в порядке создания (ulid/spec, Monotonicity; RFC 9562, раздел 6.2). Внутри одной миллисекунды nanoid не сортируется: каждый выбирается заново.
Случайные значения берутся из crypto.getRandomValues, собственного источника случайных байтов браузера. Nanoid выбирает каждый символ без смещения, пропуская значения байтов, которые давали бы предпочтение некоторым символам.
Пример: чтение времени ULID
Если вставить 01ARZ3NDEKTSV4RRFFQ69G5FAV, пример ULID из спецификации, результат будет таким: «Время: 30 июля 2016 г. в 23:54:10 UTC. Это 1 469 922 850 259 мс после 1 января 1970 г.»
Первые десять символов, 01ARZ3NDEK, хранят время. Последние шестнадцать хранят 80 случайных бит, поэтому идентификатор сортируется по времени как обычный текст.
Частые вопросы
Является ли ULID тем же, что UUID?
Он имеет 128 бит, как UUID, но записывается 26 символами base32 Crockford и не является форматом UUID. UUID версии 7 — это форма из RFC 9562, которая тоже начинается со времени; эта страница создаёт оба вида.
Можно ли использовать эти идентификаторы как пароли или токены сессий?
Нет. Их создают, чтобы они были уникальны и сортируемы, а не секретны. Идентификаторы, созданные вместе, имеют общее время и растут по счётчику, поэтому следующий можно угадать. Для секретов используйте генератор паролей или криптографический токен.
Что такое идентификатор в стиле nanoid?
Случайная строка из выбранного алфавита нужной длины. Идентификатор длиной 21 символ из 64 символов, безопасных для URL, несёт около 126 бит случайности; это значение по умолчанию на этой странице.
Почему строка показывает тире вместо времени?
Nanoid случаен от начала до конца и времени не хранит, поэтому читать нечего. Время создания несут только ULID и UUID версии 7.
Почему нельзя прочитать время у UUID?
Время хранят только UUID версии 7. Страница сообщает версию вставленного UUID и читает UUID версии 7, который соответствует RFC 9562.
Отправляются ли мои идентификаторы или вставленный текст куда-нибудь?
Нет. Идентификаторы создаются в вашем браузере через crypto.getRandomValues, а вставленный текст читается только здесь. Ничего не загружается и не сохраняется.
Источники
- Спецификация ULID, ulid/spec на GitHub (на английском)
- RFC 9562: универсальные уникальные идентификаторы (UUID), версия 7 (на английском)
- Base32 Crockford (на английском)
- W3C Web Cryptography API: getRandomValues (на английском)
Цифры и текст в последний раз проверены вторник, 10 ноября 2026 г..