Case Converter

Case Converter

Преобразуйте любую строку сразу в 11 соглашений именования — camelCase, PascalCase, snake_case, kebab-case и другие. Плюс пакетный режим JSON-ключей, который рекурсивно переписывает каждый ключ. Всё в вашем браузере.

Case Converter — TL;DR

Преобразуйте любую строку сразу в 11 соглашений именования — camelCase, PascalCase, snake_case, kebab-case и другие. Плюс пакетный режим JSON-ключей, который рекурсивно переписывает каждый ключ. Всё в вашем браузере.

Это все способы записи многословных идентификаторов (или имён файлов, URL, CSS-классов) без пробелов. camelCase делает заглавной первую букву каждого слова после первого (`userFirstName`), используется в JavaScript, Java, Swift. snake_case переводит всё в нижний регистр и соединяет подчёркиваниями (`user_first_name`), используется в Python, Ruby, SQL. kebab-case использует дефисы (`user-first-name`), используется в CSS, HTML, URL-слагах, флагах командной строки. PascalCase — это camelCase, в котором также первая буква заглавная (`UserFirstName`), используется для имён классов / типов во многих языках.

Токенизатор использует два правила границ: нижний-к-верхнему (`a`, за которым следует `B` = разрыв) и caps-затем-Title (последовательность заглавных, за которой идёт строчная буква, разбивается перед последней заглавной). Так `XMLHttpRequest` становится `[XML, Http, Request]` → `xml_http_request` / `xmlHttpRequest` / `XmlHttpRequest`. `userIDToken` становится `[user, ID, Token]` → `user_id_token`. Это соответствует рекомендациям большинства руководств по стилю.

Идентификаторы и JSON никогда не покидают ваше устройство. Откройте DevTools → Network — и увидите нулевые исходящие запросы во время преобразования или копирования.

Одиннадцать соглашений именования за одну вставку

От классических camelCase / snake_case до dot.case / path/case — плюс пакетный режим JSON-ключей для переименования каждого ключа во вложенном объекте.

11 стилей регистров одновременно

camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case, COBOL-CASE, dot.case, path/case, Title Case, Sentence case, UPPERCASE, lowercase. Вставьте один раз — мгновенно увидите все варианты вывода.

Умная токенизация

Корректно разбивает идентификаторы во всех стилях ввода — `XMLHttpRequest` → `xml_http_request`, `userIDToken` → `user_id_token`. Без путаницы обрабатывает аббревиатуры, цифры и смешанные разделители (_, -, ., /).

Пакетный режим JSON-ключей

Вставьте вложенный JSON-объект и рекурсивно перепишите каждый ключ в выбранном стиле. По желанию — также преобразуйте строковые значения. Массивы, типы и структура сохраняются.

Копирование в один клик

У каждой строки вывода своя кнопка копирования — нажмите, и значение в буфере обмена. Визуальное подтверждение, без спама уведомлениями.

Приватность с первого дня

Каждое преобразование выполняется в JavaScript на вашем устройстве. Ни идентификаторы, ни JSON, ни активность буфера обмена никогда не передаются. Откройте DevTools → Network и убедитесь: нулевые исходящие запросы.

Маленький и быстрый

Чистый JavaScript, без рантайма фреймворков. Холодная загрузка — менее 25 КБ в gzip. Все 11 преобразований для любой строки выполняются менее чем за 1 мс.

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

Два режима — одна строка и пакетная обработка JSON-ключей.

  1. 1

    Выберите режим

    Одна строка — для одного идентификатора или фразы: введите / вставьте один раз и увидите все 11 вариантов вывода. Ключи JSON (пакетно) — когда нужно преобразовать каждый ключ во вложенном API-ответе или конфигурационном файле.

  2. 2

    Вставьте ввод

    Режим одной строки принимает любой ввод — `userFirstName`, `user_first_name`, `user-first-name`, `USER FIRST NAME`, даже `XMLHttpRequest`. Токенизатор корректно разобьёт его и пересоберёт для каждого стиля вывода. Режим JSON принимает любой валидный JSON-объект — глубина не важна.

  3. 3

    Выберите целевой стиль

    В режиме одной строки все 11 вариантов вывода появляются сразу — выбирайте нужный. В режиме JSON выберите один целевой регистр из выпадающего списка; каждый ключ объекта будет переписан в этом стиле.

  4. 4

    Скопируйте и вставьте

    Нажмите на иконку копирования рядом с любой строкой вывода, чтобы отправить значение в буфер обмена. Для JSON-вывода скопируйте весь блок результата и сразу вставьте в свой код или API-клиент.

Создан для код-ревью, рефакторингов и API-интеграций

Четыре частых сценария, в которых одна вставка с получением всех стилей бьёт ручное переименование.

Граница backend ↔ frontend

Бэкенд отдаёт `user_first_name`; фронтенду нужен `userFirstName`. Вставили, скопировали, вставили — готово. Используйте пакетный режим JSON, чтобы за один шаг преобразовать все ключи в примере API-ответа (а затем по результату писать шаблон codegen).

Рефакторинг между языками

Переносите Python-библиотеку на JavaScript? Возьмите snake_case-идентификаторы из Python-исходника и пропустите их через вывод camelCase. Вставьте результат в свой JS-порт. Умный токенизатор справляется с `__double_underscore` и завершающими цифрами без сбоев.

ENV-переменные ↔ конфиг рантайма

Преобразуйте `MY_AWESOME_FEATURE_FLAG` (соглашение для env-переменных) в `myAwesomeFeatureFlag` (JS-переменная) или `my_awesome_feature_flag` (Python). Round-trip между CONSTANT_CASE / camelCase / snake_case точен.

CSS / именование файлов

BEM ожидает kebab-case: `.user-card__avatar--large`. Получили имя JS-переменной от дизайнера (`userCardAvatarLarge`)? Преобразуйте за один шаг. Полезно для утилит Tailwind, имён npm-пакетов, URL-слагов и имён CLI-флагов — всем им предпочтителен kebab-case.

100% приватно — выполняется в вашем браузере

Идентификаторы и JSON никогда не покидают ваше устройство. Откройте DevTools → Network — и увидите нулевые исходящие запросы во время преобразования или копирования.

  • Вся токенизация, преобразование регистров и обход JSON выполняются как JavaScript на вашей машине — это видно в исходном коде страницы.
  • Для записи в буфер обмена используется стандартный API navigator.clipboard.writeText; ничего не логируется.
  • Без логина, без телеметрии по значениям идентификаторов, без сторонних API. Мы используем только один cookie для состояния согласия и один — для предпочтения языка.

Похожие гайды

Отобранные материалы по соглашениям именования, дизайну API и рефакторингу.

Часто задаваемые вопросы

В чём разница между camelCase, snake_case и kebab-case?

Это все способы записи многословных идентификаторов (или имён файлов, URL, CSS-классов) без пробелов. camelCase делает заглавной первую букву каждого слова после первого (`userFirstName`), используется в JavaScript, Java, Swift. snake_case переводит всё в нижний регистр и соединяет подчёркиваниями (`user_first_name`), используется в Python, Ruby, SQL. kebab-case использует дефисы (`user-first-name`), используется в CSS, HTML, URL-слагах, флагах командной строки. PascalCase — это camelCase, в котором также первая буква заглавная (`UserFirstName`), используется для имён классов / типов во многих языках.

Как умный токенизатор обрабатывает аббревиатуры?

Токенизатор использует два правила границ: нижний-к-верхнему (`a`, за которым следует `B` = разрыв) и caps-затем-Title (последовательность заглавных, за которой идёт строчная буква, разбивается перед последней заглавной). Так `XMLHttpRequest` становится `[XML, Http, Request]` → `xml_http_request` / `xmlHttpRequest` / `XmlHttpRequest`. `userIDToken` становится `[user, ID, Token]` → `user_id_token`. Это соответствует рекомендациям большинства руководств по стилю.

Что делает пакетный режим JSON-ключей?

Вставьте JSON-объект — даже глубоко вложенный — и выберите целевой стиль регистра. Инструмент обходит всё дерево в глубину, преобразует каждый ключ (включая ключи внутри массивов) и выдаёт перестроенный JSON. Массивы, типы (number / boolean / null) и структура сохраняются точно. Включите «Также преобразовать строковые значения», чтобы дополнительно переписать содержимое каждого строкового поля через тот же токенизатор.

Какое соглашение использовать в моём проекте?

Следуйте сначала доминирующему соглашению вашего языка, затем — вашей команды. По умолчанию: camelCase для JS / Java / Swift / Kotlin / Go (для экспортируемых имён — PascalCase), snake_case для Python / Ruby / Rust / колонок SQL, kebab-case для CSS-классов / HTML-атрибутов / URL-путей / npm-пакетов / CLI-флагов, SCREAMING_SNAKE_CASE для переменных окружения и языковых констант. При преобразовании между слоями (snake_case API → camelCase фронтенд) выберите одну границу и держите остальную систему согласованной.

Что-нибудь отправляется на ваш сервер?

Нет. Токенизация, все преобразования и пакетный режим JSON-ключей выполняются как JavaScript в вашем браузере. Откройте DevTools → Network — и увидите нулевые исходящие запросы во время использования. Мы используем один cookie для состояния согласия и один — для предпочтения языка, и всё.