IT Market
Инструменты/Текст/Регистр/snake_case в kebab-case — конвертер онлайн
snake_case → kebab-case

Конвертер стилей именования

Коротко об инструменте

snake_case в kebab-case — конвертер онлайн

Вставьте список имён в snake_case — my_variable_name, user_id, created_at — и получите тот же список в kebab-case, где вместо подчёркиваний стоят дефисы. Это ежедневная задача при переносе полей из Python, PostgreSQL или Ruby в вёрстку: CSS-классы, data-атрибуты, имена файлов и ЧПУ-адреса пишутся через дефис, а не через подчёркивание. Можно вставить сразу целый столбец имён. Скрипт замены выполняется прямо во вкладке, отправки на сервер нет. Смотрите также: вернуть имена из camelCase в snake_case, camelCase сразу в дефисную запись, чистый адрес страницы из строки.

Как пользоваться

  1. Вставьте имена в поле «snake_case текст» — по одному в строке или сплошным текстом, как в плейсхолдере my_variable_name.
  2. Нажмите «Конвертировать»: каждое подчёркивание заменяется дефисом, остальные символы остаются как есть.
  3. Прочитайте поле «kebab-case результат» и убедитесь, что двойные подчёркивания превратились в двойные дефисы там, где это допустимо.
  4. Нажмите «Копировать» и вставьте готовый список в файл стилей, роутер или конфиг проекта.
  5. Если в исходнике встречались заглавные буквы, приведите их к нижнему регистру отдельным инструментом — здесь только подставляются дефисы.

Вопросы и ответы

Чем kebab-case отличается от snake_case и когда какой использовать?

Обе записи разделяют слова, но snake_case использует подчёркивание, а kebab-case — дефис. Подчёркивания приняты в Python, Ruby и в именах столбцов SQL. Дефисы — в CSS-классах, HTML-атрибутах, именах npm-пакетов и в адресах страниц: поисковые системы считают дефис разделителем слов, а подчёркивание — нет.

Что произойдёт с двойным подчёркиванием в __init__?

Каждое подчёркивание меняется на дефис независимо, поэтому __init__ станет --init--. Для дандер-методов Python такая замена бессмысленна, их имена трогать не нужно. Убирайте служебные имена из списка до конвертации либо правьте результат вручную после неё.

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

Да. Вставьте весь столбец в поле «snake_case текст» — переносы строк сохраняются, и результат придёт таким же списком, строка в строку. Это удобно, когда вы копируете имена полей прямо из вывода DESCRIBE или из файла миграции.

Приводит ли инструмент буквы к нижнему регистру?

Нет, он выполняет только замену символа подчёркивания на дефис. Строка User_Name станет User-Name, а не user-name. Если нужен полностью строчный вариант для CSS-класса или адреса страницы, сначала прогоните текст через конвертер нижнего регистра, а затем через этот.

Подойдёт ли результат для URL с русскими словами?

Кириллица останется кириллицей: «моя_страница» превратится в «моя-страница». Такой адрес технически работает, но в ссылках он кодируется процентами и выглядит громоздко. Для ЧПУ надёжнее сначала транслитерировать текст латиницей, а уже потом расставить дефисы.

Есть ли обратное преобразование из kebab-case в snake_case?

На этой странице только направление snake в kebab. Обратная замена — это та же операция с заменой дефиса на подчёркивание, её проще всего сделать поиском и заменой в редакторе. В разделе текстовых инструментов есть родственные конвертеры для camelCase.

Остаётся ли вставленный код на сервере?

Нет. Замена символов выполняется скриптом страницы прямо в браузере, содержимое полей не передаётся никуда за пределы вкладки. Поэтому вставлять внутренние имена таблиц и полей здесь безопаснее, чем в сервисы с обработкой на бэкенде.

Примеры

Поля таблицы в CSS-классы
До: user_id order_total created_at
После: user-id order-total created-at
Имя файла для ЧПУ-адреса
До: kak_vybrat_noutbuk_2026
После: kak-vybrat-noutbuk-2026