Конвертер регистра/ camelCase · snake_case · kebab-case

Мгновенная конвертация текста между camelCase, PascalCase, snake_case, kebab-case и ещё 8 форматами именования.

Ввод
camelCase
helloWorld
PascalCase
HelloWorld
snake_case
hello_world
kebab-case
hello-world
UPPER_SNAKE_CASE
HELLO_WORLD
Title Case
Hello World
Sentence case
Hello world
lowercase
hello world
UPPERCASE
HELLO WORLD
dot.case
hello.world
path/case
hello/world

Этот инструмент решил вашу проблему?

Что такое конвертер регистра

Конвертер регистра преобразует текст между различными форматами именования одним кликом, включая camelCase, PascalCase, snake_case, kebab-case, UPPER_SNAKE_CASE и ещё 11 форматов.

Распространённые соглашения об именовании

Переменные и функции JavaScript используют camelCase, классы — PascalCase; Python использует snake_case; имена CSS-классов и URL-слаги — kebab-case; константы — UPPER_SNAKE_CASE.

Примеры кода

JavaScript / TypeScript
// lodash
import { camelCase, snakeCase, kebabCase, startCase } from "lodash";

camelCase("hello world")   // "helloWorld"
snakeCase("helloWorld")    // "hello_world"
kebabCase("HelloWorld")    // "hello-world"
startCase("hello_world")   // "Hello World"

// change-case (lightweight)
import { camelCase, pascalCase, snakeCase } from "change-case";
camelCase("foo bar")       // "fooBar"
pascalCase("foo-bar")      // "FooBar"
Python
import re

def to_snake(s):
    s = re.sub(r'([A-Z]+)([A-Z][a-z])', r'\1_\2', s)
    s = re.sub(r'([a-z])([A-Z])', r'\1_\2', s)
    return s.lower().replace('-', '_').replace(' ', '_')

def to_camel(s):
    words = re.split(r'[_\-\s]+', s)
    return words[0].lower() + ''.join(w.title() for w in words[1:])

# pip install stringcase
from stringcase import camelcase, snakecase, pascalcase
camelcase("hello_world")   # "helloWorld"
snakecase("helloWorld")    # "hello_world"
Go
// go get github.com/iancoleman/strcase
import "github.com/iancoleman/strcase"

strcase.ToCamel("hello_world")       // "HelloWorld"
strcase.ToLowerCamel("hello-world")  // "helloWorld"
strcase.ToSnake("helloWorld")        // "hello_world"
strcase.ToKebab("HelloWorld")        // "hello-world"
strcase.ToScreamingSnake("helloW")   // "HELLO_W"
Shell
# snake_case to kebab-case
echo "hello_world" | tr '_' '-'
# hello-world

# to UPPER_SNAKE_CASE
echo "hello world" | tr '[:lower:] ' '[:upper:]_'
# HELLO_WORLD

# Python one-liner
python3 -c "
import re, sys
s = sys.stdin.read().strip()
print(re.sub(r'([a-z])([A-Z])', r'\1_\2', s).lower())
" <<< "helloWorld"

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

В чём разница между camelCase и PascalCase?
camelCase начинается со строчной буквы, а затем каждое следующее слово пишется с заглавной (например, helloWorld). PascalCase пишет каждое слово с заглавной, включая первое (например, HelloWorld). Переменные и функции JavaScript обычно используют camelCase; имена классов и компонентов — PascalCase.
Когда использовать snake_case?
snake_case использует только строчные буквы с подчёркиваниями между словами. Это официальный стиль Python (PEP 8) для переменных, функций и имён файлов. Названия столбцов баз данных и переменные окружения Linux также используют этот формат.
В чём разница между kebab-case и snake_case?
kebab-case использует дефисы (-) между словами; snake_case использует подчёркивания (_). kebab-case является стандартом для CSS-классов, HTML-атрибутов и URL-слагов. snake_case чаще используется в идентификаторах языков программирования.
Для чего используется UPPER_SNAKE_CASE?
UPPER_SNAKE_CASE (также SCREAMING_SNAKE_CASE) — это соглашение для констант — например, MAX_RETRY_COUNT, API_BASE_URL. Python, Java и JavaScript используют этот стиль для глобальных констант и значений перечислений.
Как работает токенизатор?
Инструмент разделяет текст на слова, обнаруживая границы camelCase, подчёркивания, дефисы, точки, слэши и пробелы. Каждое слово затем собирается согласно правилам целевого формата.
Для чего используются dot.case и path/case?
dot.case разделяет слова точками (например, hello.world) — распространено в ключах конфигурации и именах Java-пакетов. path/case использует слэши (например, hello/world) — распространено в путях к файлам и сегментах URL.