Skip to content

Бесплатный генератор ULID — создание и декодирование

Генерируйте, декодируйте и конвертируйте ULID онлайн — бесплатно и 100% в браузере. Извлекайте timestamp из любого ULID, конвертируйте ULID в UUID и обратно, генерируйте пакетами, монотонный режим. Ничего не уходит на сервер.

Без отслеживания Работает в браузере Бесплатно
Каждый ULID генерируется локально криптографическим ГСЧ вашего браузера (crypto.getRandomValues). Ничего не загружается, не логируется и не сохраняется.

Каждый ULID использует свежую 80-битную случайность.

Что такое ULID?

ULID — Universally Unique Lexicographically Sortable Identifier — это 128-битный идентификатор, созданный, чтобы исправить практическую слабость случайного UUIDv4, сохранив его лучшее свойство: вы можете сгенерировать его где угодно, без центрального координатора, и быть уверены в его уникальности. Разница в том, что ULID сортируется по времени. Он представлен как 26 символов Crockford Base32, разделённых на две части: первые 10 символов — это 48-битный timestamp, отсчитывающий миллисекунды с начала эпохи Unix, а последние 16 символов — это 80 бит криптографически стойкой случайности. Поставьте время первым, закодируйте его в алфавите, сохраняющем порядок, — и идентификатор сортируется хронологически как обычная строка.

Этот единственный выбор в дизайне имеет огромные последствия для баз данных. Случайный первичный ключ UUIDv4 при каждой вставке попадает в непредсказуемое место B-tree индекса, что фрагментирует индекс, перегружает кеш и постепенно снижает производительность записи по мере роста таблицы. ULID же, поскольку у него префикс времени, каждый раз попадает в конец индекса или рядом — вставки остаются последовательными, индекс остаётся компактным, а диапазонные сканы по временному окну становятся дешёвыми. Вы получаете генерацию без координации, как у UUID, и локальность вставок, как у автоинкрементного целого, не раскрывая угадываемый последовательный счётчик.

Детали кодировки продуманы. Crockford Base32 исключает буквы I, L, O и U — и чтобы избежать визуальной путаницы с цифрами 1 и 0, и чтобы сделать строку нечувствительной к регистру при вводе. В результате получается 26 символов без дефисов, которые безопасно вставлять в URL, имя файла или заголовок запроса без экранирования — заметно короче, чем 36-символьная форма UUID с дефисами. 48-битный timestamp не исчерпается ещё очень долго: он может представлять даты вплоть до 10889 года, прежде чем счётчик миллисекунд переполнится.

ULID — не лучший инструмент для всего. Встроенный timestamp раскрывает, когда была создана запись, что является преимуществом для отладки и упорядочивания, но небольшой утечкой информации, если вы предпочли бы это не раскрывать. И если ваш стек привязан к типу UUID, вы можете предпочесть UUIDv7, который применяет ту же идею с префиксом времени внутри стандартного формата UUID. Но когда вам нужны короткие, URL-безопасные, сортируемые идентификаторы, которые можно создать на любом узле и прочитать из них timestamp, ULID — отличный выбор по умолчанию — а поскольку это всего лишь 128 бит, вы всегда можете конвертировать его в UUID и обратно на вкладке «Конвертировать» этого инструмента.

// Browser / Node with the `ulid` package
import { ulid, decodeTime } from 'ulid';

const id = ulid();          // e.g. 01KVT0F720ZK9N4T2QX7VR8WMC
const ts = decodeTime(id);  // 1782210600000  ->  2026-06-23T10:30:00.000Z

// Monotonic factory: strictly increasing within the same millisecond
import { monotonicFactory } from 'ulid';
const next = monotonicFactory();
next(1782210600000); // 01KVT0F720ZK9N4T2QX7VR8WMC
next(1782210600000); // 01KVT0F720ZK9N4T2QX7VR8WMD
next(1782210600000); // 01KVT0F720ZK9N4T2QX7VR8WME

Ключевые возможности

Генерация, декодирование и конвертация на одной странице

Три вкладки покрывают весь рабочий процесс с ULID: создавайте новые ULID, декодируйте существующий, чтобы прочитать его timestamp, и конвертируйте без потерь между ULID и UUID. Большинство конкурирующих инструментов делают только первое; здесь полный цикл живёт на одной странице.

Декодер timestamp

Вставьте любой ULID и прочитайте точную миллисекунду его создания — показанную в UTC, в вашем локальном времени и как сырые Unix-миллисекунды — плюс сегмент 80-битной случайности. Проверяйте, когда был создан идентификатор, без обращения к базе данных.

Конвертация ULID ↔ UUID без потерь

ULID и UUID оба по 128 бит, поэтому конвертация точна и обратима. Вкладка «Конвертировать» автоматически определяет, какой формат вы вставили, и выдаёт другой, позволяя соединить сортируемый ULID с колонкой или API типа UUID, не теряя ни единого бита.

Монотонный режим

Нужен строгий порядок даже для ID, созданных в одну миллисекунду? Монотонный режим увеличивает случайность, гарантируя, что каждый ULID больше предыдущего, и держит плотный цикл вставок идеально отсортированным.

Пакетная генерация

Создавайте до 50 ULID за раз и копируйте весь набор кнопкой «Скопировать всё». Идеально для подготовки тестовых фикстур, массовых вставок или заполнения справочной таблицы без пятидесяти кликов.

Произвольный timestamp

Встройте конкретный момент вместо текущего — полезно для детерминированных тестовых данных или для записей задним числом во время миграции с сохранением свойства сортируемости.

Криптографически стойкая случайность

80 случайных бит берутся из crypto.getRandomValues — CSPRNG браузера, никогда из Math.random — поэтому каждый ULID непредсказуем, а коллизии в одну миллисекунду исчезающе маловероятны.

100% приватно, только в браузере

Каждый ULID генерируется, декодируется и конвертируется целиком на вашем устройстве. Нет сетевых запросов, логирования и хранения — убедитесь сами в «Инструментах разработчика» → Network. Идентификаторы никогда не достигают третьей стороны.

Примеры ULID

Сгенерировать один ULID

Режим: стандартный · Количество: 1
01KVT0F720ZK9N4T2QX7VR8WMC

ULID — это 26 символов Crockford Base32. Первые 10 символов кодируют 48-битный timestamp в миллисекундах, а последние 16 — 80 бит криптографически стойкой случайности из crypto.getRandomValues. Поскольку timestamp идёт первым, а Base32 сохраняет порядок байтов, ULID, сгенерированные позже, всегда сортируются после более ранних как обычные строки — отдельный индекс не нужен. Нажмите «Скопировать», чтобы взять значение; нажмите «Сгенерировать» ещё раз для нового.

Декодировать ULID, чтобы прочитать его timestamp

01ARYZ6S41TSV4RRFFQ69G5FAV
Timestamp (UTC): 2016-07-30T22:36:16.385Z · Случайность: TSV4RRFFQ69G5FAV

Декодирование разворачивает первые 10 символов обратно в 48-битное значение миллисекунд, встроенное в момент создания — здесь 1469918176385 мс, то есть 2016-07-30T22:36:16.385Z. Это канонический пример из спецификации ULID. Вкладка «Декодировать» показывает timestamp в UTC и в вашем локальном времени, сырые Unix-миллисекунды и сегмент 80-битной случайности, так что вы можете точно проверить, когда был создан идентификатор, без обращения к базе данных.

Конвертировать ULID в UUID

01KVT0F720ZK9N4T2QX7VR8WMC
019ef407-9c40-fcd3-5268-57e9f784728c

ULID и UUID оба ровно по 128 бит, поэтому конвертация без потерь и полностью обратима — те же биты просто перекодируются из Crockford Base32 в шестнадцатеричную запись с дефисами. Вкладка «Конвертировать» автоматически определяет, что вы вставили — ULID или UUID — и преобразует в другую форму. Это позволяет хранить ULID в колонке типа UUID или передать ULID системе, которая понимает только UUID, а затем конвертировать обратно, когда снова понадобится сортируемая строка.

Пакетная генерация монотонных ULID

Режим: монотонный · Количество: 3 (одна миллисекунда)
01KVT0F720ZK9N4T2QX7VR8WMC
01KVT0F720ZK9N4T2QX7VR8WMD
01KVT0F720ZK9N4T2QX7VR8WME

Когда много ID создаётся внутри одной миллисекунды, обычные ULID разделяют 10-символьный префикс времени, но их случайные хвосты не упорядочены. Монотонный режим решает это: внутри одной миллисекунды он увеличивает предыдущую случайность на единицу, поэтому каждый ULID строго больше предыдущего, а пакет остаётся идеально отсортированным. Обратите внимание, что три значения различаются только последним символом (C, D, E) — идеально для высоконагруженных вставок, где порядок должен сохраняться даже на субмиллисекундных темпах.

Сгенерировать ULID для конкретной даты

Произвольное время: 2026-06-23 10:30:00 UTC
01KVT0F720… (компонент времени 01KVT0F720)

Задайте произвольный timestamp, и генератор встроит именно этот момент вместо текущего, по-прежнему заполняя случайность из стойкого ГСЧ. 10-символьный компонент времени для 2026-06-23T10:30:00.000Z — это 01KVT0F720. Это полезно для подготовки тестовых фикстур с детерминированными, упорядоченными по времени идентификаторами или для задним числом проставленных записей в миграции с сохранением свойства сортируемости.

Как пользоваться генератором ULID

  1. 1

    Выберите режим генерации

    Стандартный режим даёт каждому ULID свежую 80-битную случайность. Монотонный режим гарантирует, что ULID, созданные внутри одной миллисекунды, строго возрастают — выбирайте его для высоконагруженных вставок, где порядок должен сохраняться даже на субмиллисекундных темпах.

  2. 2

    Задайте количество, регистр и (по желанию) произвольное время

    Генерируйте от 1 до 50 ULID за раз. По умолчанию вывод ПРОПИСНОЙ — каноническая форма ULID — или переключитесь на строчный. Оставьте время пустым, чтобы проставить текущее, или задайте произвольный timestamp, чтобы встроить конкретный момент для фикстур или записей задним числом.

  3. 3

    Сгенерируйте и скопируйте

    Нажмите «Сгенерировать ULID». Используйте «Скопировать» для любого отдельного значения или «Скопировать всё», чтобы взять весь пакет как текст с разделением по строкам, готовый для вставки в код, seed-файл или таблицу.

  4. 4

    Декодируйте ULID, чтобы прочитать его timestamp

    На вкладке «Декодировать» вставьте любой ULID, чтобы извлечь 48-битный timestamp создания в UTC и локальном времени, сырые Unix-миллисекунды и 80-битную случайность — целиком в вашем браузере, без обращений к базе.

  5. 5

    Конвертируйте между ULID и UUID

    На вкладке «ULID ↔ UUID» вставьте ULID или UUID; инструмент автоматически определит ввод и без потерь конвертирует в другой формат. Храните ULID в колонках UUID или передавайте ULID системе, понимающей только UUID, и конвертируйте обратно, когда нужна сортируемая строка.

Common Errors

Считать ULID одной миллисекунды упорядоченными

Обычные ULID, созданные внутри одной миллисекунды, разделяют префикс времени, но имеют неупорядоченные случайные хвосты, поэтому их взаимный порядок не определён. Если вы зависите от строгого порядка на таком темпе, используйте вместо этого монотонный режим.

✗ Неверно
Стандартный режим, 3 ID в одну мс  →  порядок внутри мс случаен
✓ Верно
Монотонный режим, 3 ID в одну мс  →  …WMC < …WMD < …WME

Ожидать, что конвертированный ULID будет валидным UUIDv4

Конвертация ULID в форму UUID перекодирует те же 128 бит; она не задаёт поля версии и варианта UUID. Результат — валидная 128-битная строка UUID, но она не будет распознана как версия 4 или 7, если библиотека проверит эти биты.

✗ Неверно
uuid.version(ulidToUuid(id))  →  не 4 (биты принадлежат ULID)
✓ Верно
Считайте его непрозрачным 128-битным значением или сгенерируйте настоящий UUIDv7

Ввод строчных i, l, o в ULID вручную

Crockford Base32 исключает I, L, O и U. Декодеры отображают I и L в 1, а O в 0, но ввод этих букв в ULID вручную чреват ошибками. Копируйте ULID, а не перепечатывайте их.

✗ Неверно
01ARYZ6S41TSV4RRFFQ69G5FAO  →  неоднозначная O
✓ Верно
01ARYZ6S41TSV4RRFFQ69G5FAV  →  только канонические символы

Для чего используют ULID

Первичные ключи БД, которые остаются отсортированными
Используйте ULID как первичные ключи, чтобы получить генерацию без координации, как у UUID, и локальность вставок, как у автоинкрементного целого. Поскольку у них префикс времени, новые строки добавляются ближе к концу B-tree индекса, а не разбрасываются, как UUIDv4, что держит вставки быстрыми, а индекс компактным по мере роста таблицы.
Распределённые системы без центральной последовательности
Генерируйте идентификаторы на любом узле — сервисе, edge-воркере или клиенте — без общего счётчика и координации коллизий, и всё равно сортируйте всё по времени создания постфактум. ULID дают микросервисам уникальный, упорядоченный ключ без обращения к базе данных за его выделением.
Журналы событий и ID сообщений
Помечайте события, строки логов или сообщения очереди монотонными ULID, чтобы они оставались в строгом хронологическом порядке, даже когда многие из них создаются внутри одной миллисекунды. Диапазонное сканирование временного окна становится простым сравнением строк.
URL-безопасные публичные идентификаторы
ULID — это 26 символов без дефисов и с URL-безопасным алфавитом, поэтому он вставляется в путь, имя файла или заголовок без экранирования и короче 36-символьного UUID. Позже декодируйте встроенный timestamp, чтобы узнать, когда был создан ресурс.
Мост к системе, работающей только с UUID
Работаете с колонкой БД или API, принимающим только UUID? Генерируйте сортируемые ULID, конвертируйте их в форму UUID для хранения или передачи и конвертируйте обратно, когда нужна компактная сортируемая строка — 128-битное значение сохраняется в точности в обоих направлениях.
Детерминированные тестовые фикстуры
Заполняйте тесты ULID с заданными timestamp с помощью опции произвольного времени, чтобы фикстуры были воспроизводимыми и уже упорядоченными по времени. Декодируйте их в проверках, чтобы подтвердить время создания, записанное вашим кодом.

Как работают ULID

128-битная раскладка: 48 бит времени + 80 бит случайности
ULID — это ровно 128 бит. Старшие 48 бит — это Unix timestamp в миллисекундах; младшие 80 бит — случайные. При кодировании в Crockford Base32 по 5 бит на символ это 10 символов для времени и 16 для случайности — всего 26 символов. Ведущий символ всегда 7 или меньше, потому что 48 бит не заполняют верхнюю 5-битную группу.
Кодировка Crockford Base32
ULID используют алфавит Crockford Base32 (0–9 и A–Z без I, L, O и U). Отбрасывание этих четырёх букв избегает путаницы с цифрами 1 и 0 и позволяет декодерам обрабатывать строку без учёта регистра, отображая при вводе I и L в 1, а O в 0. Алфавит упорядочен, и именно это заставляет закодированную строку сортироваться так же, как лежащие в основе биты.
Лексикографическая сортируемость
Поскольку timestamp — самый значимый компонент, а алфавит Base32 сохраняет порядок, сравнение двух ULID как строк даёт тот же результат, что и сравнение их 128-битных значений, что даёт тот же результат, что и сравнение их времён создания. Именно это позволяет обычному ORDER BY или сортировке массива выдавать хронологический порядок без дополнительного индекса.
Монотонность внутри миллисекунды
Монотонная опция спецификации ULID держит порядок стабильным для ID, созданных в одну миллисекунду: случайность первого ID в миллисекунде генерируется обычным образом, а каждый последующий ID в этой миллисекунде — это предыдущее случайное значение плюс единица. Этот инструмент реализует это, увеличивая 80-битную случайность как целое число с порядком байтов от старшего к младшему.
Стойкая случайность через crypto.getRandomValues
80 случайных бит заполняются из crypto.getRandomValues — CSPRNG Web Crypto, а не Math.random. При 80 битах энтропии генерация даже миллионов ULID в одну миллисекунду держит вероятность коллизии пренебрежимо малой.
ULID ↔ UUID — это чистая перекодировка
Конвертация между ULID и UUID не меняет ни одного бита — она перекодирует те же 128 бит из Crockford Base32 в шестнадцатеричную запись с дефисами или обратно. В результате цикл точен: ULID, конвертированный в UUID и обратно, побайтово идентичен исходному. Учтите, что байты ULID не задают поля версии и варианта UUID, поэтому получившийся UUID — валидное 128-битное значение, но не UUIDv4 или v7 с меткой версии.

Лучшие практики ULID

Используйте монотонный режим для высоконагруженных вставок
Если ваша система может создавать более одного идентификатора в миллисекунду и вы полагаетесь на порядок, генерируйте монотонные ULID. Обычные ULID не упорядочены внутри миллисекунды; монотонные строго возрастают, поэтому пакет остаётся отсортированным, как бы быстро вы их ни создавали.
Храните ULID компактно
ULID — это 128 бит — храните его как 16 двоичных байтов или колонку типа UUID, а не как 26-символьное текстовое поле, когда важны место и размер индекса. Преобразуйте в строку Base32 только на границах, где его видят люди или URL. Вкладка «Конвертировать» этого инструмента даёт вам форму UUID для хранения.
Помните, что timestamp виден
ULID раскрывает время своего создания каждому, кто может его прочитать. Это отлично для отладки и упорядочивания, но если раскрытие времени создания вызывает беспокойство — скажем, в публичном идентификаторе — взвесьте эту утечку или используйте полностью случайный UUIDv4 там, где порядок не важен.
Всегда генерируйте через CSPRNG
Гарантия уникальности зависит от непредсказуемости 80 случайных бит. Используйте криптографически стойкий источник вроде crypto.getRandomValues, как делает этот инструмент — никогда Math.random, чья предсказуемость могла бы привести к коллизии или угадыванию идентификаторов.
Выбирайте ULID или UUIDv7 осознанно
Оба дают упорядоченные по времени 128-битные ID. Выбирайте ULID ради самой короткой URL-безопасной строки; выбирайте UUIDv7, когда нужно оставаться в стандартном формате UUID с битами версии и варианта. Стандартизируйтесь на одном в рамках системы и используйте вкладку «Конвертировать», когда нужно пересечь границу.

ULID — часто задаваемые вопросы

Что такое ULID?
ULID (Universally Unique Lexicographically Sortable Identifier) — это 128-битный идентификатор, задуманный как более сортируемая и компактная альтернатива UUID. Он записывается как 26 символов Crockford Base32: первые 10 символов содержат 48-битный timestamp в миллисекундах с начала эпохи Unix, а оставшиеся 16 символов содержат 80 бит случайности. Поскольку timestamp — самая значимая часть, а Base32 сохраняет порядок, ULID, созданные позже, при сравнении как обычные строки всегда сортируются после более ранних — поэтому колонка ULID естественным образом упорядочена по времени. Алфавит Crockford намеренно исключает буквы I, L, O и U, чтобы избежать путаницы с цифрами и сделать строку нечувствительной к регистру и URL-безопасной. ULID появились, чтобы решить практическую проблему случайного UUIDv4: случайные идентификаторы разбросаны по индексу базы данных, что снижает производительность вставок, тогда как ULID с префиксом времени каждый раз попадает ближе к концу индекса.
ULID или UUID — что выбрать?
Используйте ULID, когда нужны идентификаторы, одновременно уникальные и естественно сортируемые по времени создания; используйте классический UUIDv4, когда вам конкретно нужен непрозрачный, полностью случайный идентификатор без встроенного timestamp. Ключевые различия: ULID — это 26 символов Base32 против 36 символов UUID с дефисами, поэтому ULID короче и URL-безопасны без экранирования. ULID кодирует время создания, чего UUIDv4 не делает — это полезно для упорядочивания и отладки, но стоит учесть, если вы предпочли бы не раскрывать, когда была создана запись. Оба по 128 бит и оба не требуют координации, поэтому риск коллизий пренебрежимо мал в обоих случаях. Если ваш стек стандартизирован на UUID, но вам всё равно нужно упорядочивание по времени, UUIDv7 (из генератора UUID) предлагает похожую схему с префиксом времени в формате UUID — или вы можете сгенерировать ULID здесь и конвертировать их в UUID на вкладке «Конвертировать».
Сортируются ли ULID?
Да — это и есть определяющее свойство. Поскольку 48-битный timestamp в миллисекундах занимает первые 10 символов, а Crockford Base32 сохраняет лексикографический порядок, сортировка ULID как обычных строк упорядочивает их по времени создания. Это работает в любой системе, сравнивающей строки побайтово: ORDER BY в базе данных, отсортированное множество, листинг файлов или простая сортировка массива. Практическая выгода — производительность базы данных: упорядоченные по времени ключи добавляются в конец B-tree индекса, а не разбрасываются случайно, как UUIDv4, что держит вставки быстрыми, а индекс компактным. Внутри одной миллисекунды порядок обычных ULID случаен, поэтому если нужен строгий порядок даже для ID, созданных в одну миллисекунду, используйте монотонный режим, который увеличивает случайность, гарантируя, что каждое значение больше предыдущего.
Как декодировать timestamp из ULID?
Вставьте ULID на вкладку «Декодировать», и инструмент мгновенно извлечёт встроенное время создания целиком в вашем браузере. Он читает первые 10 символов, переводит их из Crockford Base32 обратно в 48-битное целое число миллисекунд с начала эпохи Unix и показывает этот момент в UTC и в вашем локальном времени вместе с сырым значением Unix-миллисекунд. Например, канонический ULID 01ARYZ6S41TSV4RRFFQ69G5FAV декодируется в 1469918176385 мс, то есть 2016-07-30T22:36:16.385Z. Оставшиеся 16 символов — это 80-битная случайность, и при декодировании она не несёт смысла. Чтение timestamp таким способом удобно для отладки, проверки времени создания записи или подтверждения того, что идентификатор действительно является ULID — без запроса к базе данных.
Что такое монотонный ULID?
Монотонный ULID гарантирует строгий порядок даже для идентификаторов, сгенерированных внутри одной миллисекунды. Обычные ULID, созданные в одну миллисекунду, разделяют один и тот же 10-символьный префикс времени, но их 80-битные случайные хвосты независимы, поэтому их взаимный порядок не определён. Монотонная генерация решает это: первый ULID в данной миллисекунде получает свежую случайность, а каждый последующий ULID в той же миллисекунде создаётся увеличением предыдущей случайности на единицу. В результате получается последовательность, где каждое значение строго больше предыдущего, поэтому пакет, вставленный в плотном цикле, остаётся идеально отсортированным. Это важно для высоконагруженных систем — журналов событий, очередей сообщений, массовых импортов — где много строк может создаваться быстрее, чем тикает миллисекундный таймер, а вам по-прежнему нужен стабильный, возрастающий ключ.
Безопасен ли и приватен ли этот генератор ULID?
Да по обоим пунктам. Случайность в каждом ULID берётся из crypto.getRandomValues — криптографически стойкого генератора случайных чисел браузера, никогда из Math.random — поэтому 80 случайных бит непредсказуемы, а вероятность коллизии двух ULID внутри одной миллисекунды исчезающе мала. Не менее важно, что всё работает локально: ULID генерируются, декодируются и конвертируются целиком на вашем устройстве. Ничего не загружается, не логируется и не сохраняется, и вы можете убедиться в этом, открыв «Инструменты разработчика» и наблюдая, как вкладка Network остаётся пустой, пока вы нажимаете «Сгенерировать». Именно это свойство приватности и есть весь смысл создавать идентификаторы в браузере, а не на сервере, который в принципе мог бы хранить копию каждого выданного значения.
В чём разница между ULID и UUIDv7?
И ULID, и UUIDv7 — это упорядоченные по времени 128-битные идентификаторы, которые ставят миллисекундный timestamp первым, поэтому оба сортируются по времени создания и оба эффективно индексируются — основная идея одинакова. Разница в формате и кодировке. ULID представлен как 26 символов Crockford Base32 без дефисов, что короче и URL-безопасно; UUIDv7 представлен в стандартной 36-символьной шестнадцатеричной раскладке UUID с дефисами и несёт биты версии и варианта в фиксированных позициях, поэтому это полностью валидный UUID по RFC 9562, который принимает любая библиотека UUID. Выбирайте UUIDv7, когда нужно оставаться в экосистеме UUID (колонка БД типа UUID, API с типом UUID); выбирайте ULID, когда нужна самая короткая сортируемая строка. Поскольку оба по 128 бит, вы можете сгенерировать ULID здесь и конвертировать его в форму UUID на вкладке «Конвертировать» или сгенерировать UUIDv7 в генераторе UUID.

Похожие инструменты

Все инструменты →

Генератор и проверка bcrypt-хешей

Безопасность

Создавайте и проверяйте bcrypt-хеши паролей онлайн — настраиваемый фактор стоимости, префиксы $2b$/$2a$/$2y$. 100% в браузере; пароль никуда не отправляется.

Декодер JWT

Безопасность

Декодируйте JWT-токены онлайн бесплатно. Просмотр header, payload, signature, срока действия, алгоритма и claims. 100% в браузере — токен не покидает устройство. Без регистрации.

JWT-энкодер и генератор

Безопасность

Бесплатный онлайн-генератор и энкодер JWT. Соберите header и payload, подпишите с HS256, RS256 или ES256 мгновенно. 100% в браузере — ваш секрет и ключ не покидают устройство.

Бесплатный генератор JWT-секрета — HS256/384/512

Безопасность

Создайте надёжный JWT-секрет по RFC для HS256/384/512 — 100% в браузере, ничего не уходит на сервер. base64url, base64 или hex; копия для .env.

Генератор MD5-хешей и контрольных сумм файлов

Безопасность

Создавайте MD5, SHA-256, SHA-1 и SHA-512 хеши онлайн бесплатно. Хеширование текста или файлов в браузере, проверка контрольных сумм и копирование результатов. Без регистрации.

Генератор случайных паролей — настраиваемый и безопасный

Безопасность

Генерируйте сильные случайные пароли мгновенно — бесплатно, 100% в браузере. Настройка длины и символов, batch до 50 с анализом энтропии.