Генератор случайных строк

Случайные строки из своего набора символов: буквы и цифры, hex, base64url, только цифры. Длина от 1 до 512, до 1000 строк за раз, префикс и суффикс, исключение похожих символов и повторяемая выдача по seed. Всё считается в браузере.

Параметры

Префикс и суффикс приписываются сверху и в длину не входят

Чем строки разделяются в готовом тексте

Ставится перед случайной частью

Ставится после случайной части

Одинаковый seed даёт одинаковую выдачу. Последовательность нестойкая: предсказуемая, для паролей не подходит

Без повторов строкСтрока, которая уже попадалась, генерируется заново. Если вариантов меньше, чем строк, генерация невозможна — инструмент об этом сообщит

Набор символов

Перезаписывает набор целиком: и флажки, и поле «свои символы»

Символы
Строчные латинские (a-z)
Прописные латинские (A-Z)
Цифры (0-9)
Спецсимволы (!@#$%…)

Добавляются к выбранным наборам. Символ, который уже есть в наборе, второй раз не считается

Похожие символы
Исключить похожие символыУбирает i, l, 1, I, L, 0, O, o

Похожие символы исключаются тем же набором, что и в генераторе паролей : i, l, 1, I, L, 0, O, o. Пригодится, когда строку будут читать с экрана или переписывать руками.

В алфавите 62 символов · вариантов при текущей длине: 4,8 · 10²⁸

Результат

Зачем генерировать случайные строки

Случайная строка нужна там, где значение не должно повторяться и не должно угадываться: идентификатор в базе, имя временного файла, ключ в тестовом наборе, метка в выгрузке. Придумывать такие значения руками бессмысленно — человек невольно повторяется и выбирает предсказуемые сочетания, а исправлять это потом дороже, чем сгенерировать сразу.

Инструмент собирает строки из алфавита, который вы задаёте: четырьмя наборами (строчные, прописные, цифры, спецсимволы), полем «свои символы» и готовыми пресетами — hex, base64url, только цифры. Лишние символы убирает флажок «Исключить похожие»: без него в строке легко получить пару вроде «l» и «1», которую потом никто не различит в письме или в логе.

Генерация идёт в браузере: строки не отправляются на сервер и не сохраняются. С пустым полем seed работает системный генератор, а с заполненным — детерминированный, который повторяет ту же выдачу по тому же seed.

Частые вопросы

Чем это отличается от генератора паролей?

Генератор паролей собирает строку по правилам стойкости: следит, чтобы в ней были и буквы разного регистра, и цифры, и спецсимволы, и оценивает, насколько трудно её подобрать. Здесь правил состава нет: вы задаёте произвольный алфавит и получаете строку нужного формата — hex, base64url, только цифры. Готовая строка отсюда для пароля не годится: она не проверена ни на состав, ни на стойкость.

Почему в base64url нет символов +, / и =?

Это вариант base64 для адресов и имён файлов. В обычном base64 знак «+» в URL означает пробел, «/» разделяет путь, а «=» служит выравниванием до длины, кратной четырём. В base64url их заменили на «-» и «_», а выравнивание опускают, поэтому такая строка без изменений годится для ссылки, имени файла и токена JWT.

Что даёт seed?

Поле сворачивается в 32-битное число и запускает детерминированный генератор: тот же seed при тех же настройках даёт ту же выдачу. Это удобно, чтобы повторить набор тестовых данных или показать кому-то ровно то, что видели сами. Стойкости у такой последовательности нет — знающий seed повторит её целиком, поэтому для паролей и ключей она не подходит. Пустое поле включает системный генератор (crypto.getRandomValues), результат которого предсказать нельзя.

Можно ли получить строку без повторов символов внутри неё?

Нет. Символы в строке независимы: каждый берётся из алфавита случайно, и два одинаковых знака подряд в строке из 16 символов — обычное дело, а не сбой. Запрет на повторы уменьшил бы число возможных строк и сделал бы каждую следующую позицию предсказуемее по предыдущим. Если повторов не должно быть среди строк, включите «Без повторов строк» — это про строки целиком, а не про символы внутри одной.

Входит ли префикс в заданную длину?

Нет. Длина относится только к случайной части, а префикс и суффикс приписываются к ней слева и справа. При длине 16 и префиксе «usr_» готовая строка займёт 20 символов. Так удобнее: длина случайной части задаёт число вариантов, а префикс на него не влияет.

Где применяют случайные строки?

Идентификаторы сессий и токены, имена временных файлов и папок, ключи в тестовых данных, метки, которые не должны повторяться в выгрузке, значения для проверки полей ввода. Там, где от строки нужна непредсказуемость для постороннего, оставляйте поле seed пустым — тогда работает системный генератор браузера.