Регистры строк и URL-слаг
Разбиение строк на слова и девять регистров (camelCase, snake_case, CONSTANT_CASE), URL-слаг с транслитерацией кириллицы.
Слова ищутся автоматически: по пробелам, дефисам, подчёркиваниям и границам регистра (camelCase, PascalCase, акронимы вроде XMLParser). Пересчёт идёт на каждое изменение.
Регистры
Девять представлений одного ввода. Кнопка «Копировать» кладёт значение в буфер обмена.
URL-слаг
Кириллица транслитерируется в ASCII («ё» → e, «щ» → sch, «ъ/ь» отбрасываются), не-алфавитно-цифровые символы вырезаются.
Последние преобразования
В истории — сводки (число слов и пример слага), исходные строки не сохраняются. Записи живут в localStorage этого браузера.
Готовые примеры
Найдено: 3 из 3
- Смешанный ввод foo-bar_bazQuxКлассический «слипшийся» идентификатор: дефис, подчёркивание и горб вперемешку. Автодетект разбивает его на слова и показывает все девять регистров сразу.
- Кириллица для слагаЗаголовок статьи на русском: «ё» → e, «щ» → sch, «ъ/ь» отбрасываются, пунктуация вырезается — остаётся чистый ASCII-слаг для URL.
- Уже camelCaseИмя initHistoryViewPanel в верблюжем регистре: конвертер находит границы слов и разворачивает его в snake_case, kebab-case и CONSTANT_CASE.
Что это и как пользоваться
Инструмент разбивает строку на слова и выдаёт девять записей сразу: camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, sentence case, Title Case, lowercase и UPPERCASE. Переключение мгновенное, поэтому варианты удобно сравнивать на одном экране.
Девять записей — это не десять разных алгоритмов, а разные соглашения: camelCase и PascalCase различаются только первой буквой, snake_case и kebab-case — разделителем, CONSTANT_CASE и UPPERCASE — наличием разделителя.
Разбиение понимает границы слов в разных стилях: userName, user_name и USER-NAME дают одинаковый набор слов, а «Имя пользователя» — два слова, а не одно.
Отдельный блок строит URL-слаг: кириллица транслитерируется, пробелы и спецсимволы заменяются разделителем — дефисом или подчёркиванием, — а регистр выбирается между нижним, верхним и сохранением исходного.
Для адресов страниц обычно берут дефис и нижний регистр, для идентификаторов — подчёркивание. Транслитерация передаёт звучание, а не смысл: «Привет мир» становится privet-mir, и это не перевод.
Когда пригодится
- Привести заголовок к имени переменной под стиль проекта.
- Получить слаг для адреса страницы из русского заголовка.
- Сделать имена колонок в snake_case из пользовательских подписей.
- Перевести имя поля из API в стиль базы: userId → user_id, не переписывая его вручную в каждой миграции.
- Проверить, как разобьётся на слова сложное имя вроде HTTPServer2, прежде чем использовать его в коде.
- Сравнить camelCase и snake_case для одного имени, чтобы выбрать стиль для нового модуля.
Чего инструмент не делает
- Смысл не меняется: страница не переводит текст и не исправляет орфографию, только форму записи.
- Уникальность не проверяется: свободен ли слаг или адрес, знает только ваша система.
- Диакритика теряется при транслитерации: «ё» и «й» передаются упрощённо, а редкие символы могут выпасть.
- Сокращения не распознаются: API и api считаются одним словом, а не аббревиатурой с особым правилом.
- Длина результата не ограничивается, но ввод — 100 000 знаков: слаг из длинного текста получится нечитаемым.
- Первая буква зависит от выбранного стиля: PascalCase — то же слово с большой буквы, а не отдельное правило.
Примеры
- Вход
Hello World- Выход
helloWorld (camel), hello_world (snake), HELLO_WORLD (constant)- Вход
Привет мир- Выход
privet-mir (слаг, разделитель — дефис)