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

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

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

camelCase в snake_case — конвертер онлайн

Змеиный регистр — это соглашение Python из PEP 8 и привычная форма для колонок в PostgreSQL и MySQL, где имена без кавычек всё равно приводятся к нижнему регистру. Когда данные приходят из фронтенда с ключами вида createdAt, их приходится переписывать под бэкенд: createdAt → created_at. Инструмент делает это по всему списку сразу, разбивая слова по заглавным буквам, и работает в браузере — имена таблиц и полей не покидают вкладку. Смотрите также: тот же список в kebab-case для CSS, заменить подчёркивания на дефисы, привести всё к нижнему регистру.

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

  1. Скопируйте ключи или имена переменных в поле «camelCase текст», по одному имени в строке.
  2. Нажмите «Конвертировать» — перед каждой заглавной буквой появится подчёркивание, а сама буква станет строчной.
  3. Просмотрите поле «snake_case результат»: имена в верхнем регистре и аббревиатуры лучше проверить перед вставкой в миграцию.
  4. Кнопкой «Копировать» перенесите список в модель Python, в CREATE TABLE или в маппинг ответа API.
  5. Если те же имена нужны ещё и для CSS или URL, прогоните исходный список через конвертер camelCase в kebab-case.

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

Почему в Python принят именно snake_case?

Так предписывает PEP 8: имена функций, переменных и полей пишутся строчными буквами со словами через подчёркивание, а CamelCase остаётся за классами. Смешивать стили в одном модуле не запрещено, но линтеры вроде flake8 и ruff начнут ругаться, а код перестанет выглядеть привычно для другого разработчика.

Как перевести ключи JSON из API в поля модели?

Выпишите список ключей ответа по одному в строке, преобразуйте их здесь и используйте результат как имена атрибутов. В pydantic или в сериализаторе DRF исходное написание задают алиасом, чтобы во внешнем контракте остался camelCase, а внутри кода жил snake_case. Так обе стороны сохраняют свои соглашения.

Что будет с именем вида ID или userID?

Подчёркивание ставится перед каждой заглавной буквой, поэтому userID превращается в user_i_d, а не в user_id. Такие хвосты правьте вручную либо заранее приведите аббревиатуру к виду userId. Это известное ограничение любого механического разбиения по регистру.

Нужен ли snake_case для имён колонок в PostgreSQL?

Строго — нет, но это сильно облегчает жизнь. Идентификатор без кавычек PostgreSQL приводит к нижнему регистру, поэтому колонка orderTotal, созданная без кавычек, станет ordertotal и потеряет читаемость. Имя order_total остаётся тем же в любом запросе и не требует экранирования.

Обрабатывается ли уже готовый snake_case повторно?

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

Куда девается регистр в SCREAMING_SNAKE_CASE?

Инструмент даёт нижний регистр, поэтому для констант результат придётся перевести в верхний отдельным шагом — например, конвертером текста в заглавные буквы. Константы в Python и в env-файлах пишутся именно так: MAX_RETRY_COUNT, а не max_retry_count.

Примеры

Ключи JSON из API под модель Python
До: createdAt updatedAt isEmailConfirmed
После: created_at updated_at is_email_confirmed
Колонки для CREATE TABLE
До: orderTotalAmount customerPhone
После: order_total_amount customer_phone — имена не требуют кавычек в PostgreSQL