Конвертування регістру тексту — це процес зміни регістру літер або шаблону розділення слів у рядку. Конвертер регістру приймає вхідний рядок на кшталт "hello world" і перетворює його на UPPERCASE, lowercase, Title Case, camelCase, snake_case, kebab-case або інші формати. Перетворення є простим для ASCII-тексту, але крайні випадки виникають із абревіатурами ("XMLParser"), правилами, специфічними для певної локалі (турецька крапкова I), та рядками зі змішаними системами письма.
Мови програмування, файлові системи та посібники зі стилю мають власні угоди щодо іменування. JavaScript-змінні зазвичай використовують camelCase. Функції та змінні Python дотримуються snake_case згідно з PEP 8. CSS-класи використовують kebab-case. Стовпці баз даних варіюються залежно від команди, але snake_case домінує у PostgreSQL і MySQL. Перемикання між цими угодами вручну — повільний і схильний до помилок процес, особливо при перейменуванні у десятках файлів.
Угоди щодо регістру також важливі поза межами коду. Title Case дотримується правил, визначених посібниками зі стилю, як-от Chicago Manual of Style та APA, де артиклі та короткі прийменники залишаються в нижньому регістрі, якщо тільки не починають речення. Sentence case робить великою лише першу літеру та власні назви. Американська англомовна видавнича практика за замовчуванням використовує Title Case для заголовків; більшість європейської та технічної документації натомість застосовує Sentence case.
Навіщо використовувати цей конвертер регістру?
Вставте будь-який текст і миттєво конвертуйте його між дев'ятьма форматами регістру, не встановлюючи розширення VS Code і не пишучи разовий скрипт.
⚡
Миттєве конвертування
Оберіть формат регістру та одразу побачте результат. Без запитів до сервера, без очікування. Перемикайтесь між форматами, щоб порівнювати вивід поряд.
🔒
Обробка з пріоритетом конфіденційності
Усі перетворення виконуються у вашому браузері за допомогою JavaScript. Ваш текст залишається на вашому пристрої. Нічого не передається на сервер і нічде не зберігається.
🔄
Дев'ять форматів в одному інструменті
UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case та CONSTANT_CASE. Одне введення охоплює кожну поширену угоду.
🌍
Без реєстрації
Відкрийте сторінку та починайте конвертувати. Без реєстрації, без браузерного розширення, без встановлення на робочий стіл. Працює на будь-якому пристрої із сучасним браузером.
Сценарії використання конвертера регістру
Розробка фронтенду
Конвертуйте назви пропсів компонентів зі snake_case відповідей API до camelCase для JavaScript-об'єктів. Перейменовуйте CSS-класи з camelCase до kebab-case під час переходу на систему іменування BEM або utility-first.
Проектування бекенд API
Перекладайте назви полів між угодами при відображенні стовпців бази даних (snake_case) на ключі JSON-відповіді (camelCase). Перевіряйте, чи рівні серіалізації виводять очікуваний формат.
DevOps та інфраструктура
Генеруйте назви змінних середовища у форматі CONSTANT_CASE з описових фраз. Конвертуйте назви ресурсів Terraform між snake_case та kebab-case при узгодженні з посібниками зі стилю команди.
QA та автоматизація тестування
Підготовляйте тестові фіксчури з правильно зазначеними назвами полів. Виявляйте невідповідності регістру між API-контрактами та очікуваннями клієнтів до виходу у production.
Інженерія даних
Нормалізуйте заголовки стовпців при імпорті CSV або Excel-файлів до бази даних. Конвертуйте заголовки зі змішаним регістром на кшталт "First Name" до стовпців snake_case як "first_name" для узгодженої схеми бази даних.
Технічне письмо та документація
Форматуйте посилання на код у документації з правильним регістром. Конвертуйте описи звичайною мовою до назв класів PascalCase або URL-слагів kebab-case для узгодженості в технічних специфікаціях.
Довідник угод щодо регістру
Кожна угода щодо іменування має специфічні правила для написання великих літер і розділення слів. У таблиці нижче наведено всі дев'ять форматів, які підтримує цей інструмент, з використанням фрази "the quick brown fox" як приклад.
Регістр
Правило
Приклад
UPPERCASE
Every letter capitalized
THE QUICK BROWN FOX
lowercase
Every letter lowercased
the quick brown fox
Title Case
First letter of each word capitalized
The Quick Brown Fox
Sentence case
First letter of each sentence capitalized
The quick brown fox
camelCase
No separators, first word lowercase
theQuickBrownFox
PascalCase
No separators, every word capitalized
TheQuickBrownFox
snake_case
Words joined by underscores, all lowercase
the_quick_brown_fox
kebab-case
Words joined by hyphens, all lowercase
the-quick-brown-fox
CONSTANT_CASE
Words joined by underscores, all uppercase
THE_QUICK_BROWN_FOX
camelCase проти snake_case проти kebab-case
Ці три угоди домінують у розробці програмного забезпечення, але кожна належить до різної екосистеми. Вибір неправильної угоди порушує роботу лінтерів, порушує API-контракти або призводить до суперечливих кодових баз.
camelCase
Стандарт для змінних JavaScript і TypeScript, назв функцій та ключів об'єктів. Java та C# використовують його для локальних змінних і параметрів методів. JSON API, побудовані для JavaScript-клієнтів, зазвичай використовують ключі camelCase. Перше слово — в нижньому регістрі; кожне наступне слово починається з великої літери.
snake_case
Стандарт за замовчуванням для Python (PEP 8), Ruby, Rust і більшості SQL-баз даних. Функції стандартної бібліотеки C також дотримуються цього шаблону. Слова розділяються підкресленнями, всі в нижньому регістрі. CONSTANT_CASE (усі великі літери з підкресленнями) — це варіант, що використовується для констант та змінних середовища.
kebab-case
Стандарт для CSS-класів, HTML-атрибутів, URL-слагів та імен прапорів CLI (--output-dir). Поширений у Lisp і Clojure. Слова розділяються дефісами, всі в нижньому регістрі. Більшість мов програмування не можуть використовувати дефіси в ідентифікаторах, тому kebab-case обмежений рядками, іменами файлів і розміткою.
Приклади коду
Як програмно конвертувати між угодами щодо регістру. Кожен приклад охоплює найпоширеніші перетворення: camelCase до snake_case, snake_case до camelCase, а також базові конвертування до верхнього, нижнього регістру та Title Case.
JavaScript
// camelCase → snake_case
function toSnakeCase(str) {
return str
.replace(/([a-z])([A-Z])/g, '$1_$2')
.replace(/[\s-]+/g, '_')
.toLowerCase()
}
toSnakeCase('myVariableName') // → "my_variable_name"
toSnakeCase('kebab-case-str') // → "kebab_case_str"
// snake_case → camelCase
function toCamelCase(str) {
return str
.toLowerCase()
.replace(/[_-](\w)/g, (_, c) => c.toUpperCase())
}
toCamelCase('my_variable_name') // → "myVariableName"
// Title Case
function toTitleCase(str) {
return str.replace(/\w\S*/g, w =>
w.charAt(0).toUpperCase() + w.slice(1).toLowerCase()
)
}
toTitleCase('the quick brown fox') // → "The Quick Brown Fox"
Python
import re
text = "the quick brown fox"
# UPPERCASE / lowercase
text.upper() # → "THE QUICK BROWN FOX"
text.lower() # → "the quick brown fox"
# Title Case
text.title() # → "The Quick Brown Fox"
# camelCase
def to_camel(s):
words = re.split(r'[\s_-]+', s)
return words[0].lower() + ''.join(w.capitalize() for w in words[1:])
to_camel("my_variable_name") # → "myVariableName"
# snake_case from camelCase
def to_snake(s):
return re.sub(r'([a-z])([A-Z])', r'\1_\2', s).lower()
to_snake("myVariableName") # → "my_variable_name"
# kebab-case
def to_kebab(s):
return re.sub(r'([a-z])([A-Z])', r'\1-\2', s).replace('_', '-').lower()
to_kebab("myVariableName") # → "my-variable-name"
camelCase починається з малої літери (myVariable), тоді як PascalCase починається з великої (MyVariable). У JavaScript camelCase використовується для змінних і функцій; PascalCase — для назв класів і компонентів React. C# використовує PascalCase для публічних методів і властивостей. Єдина структурна відмінність — перший символ.
Як конвертувати camelCase до snake_case у JavaScript?
Вставте підкреслення перед кожною великою літерою за допомогою regex, а потім переведіть результат у нижній регістр: str.replace(/([a-z])([A-Z])/g, '$1_$2').toLowerCase(). Це обробляє стандартний camelCase. Для рядків із послідовними великими літерами на кшталт "XMLParser" потрібен додатковий прохід regex для правильного розбиття серій великих літер.
Чому Python використовує snake_case замість camelCase?
PEP 8, офіційний посібник зі стилю Python, опублікований у 2001 році, обрав snake_case для функцій і змінних, оскільки Гвідо ван Россум та основна команда вважали його більш читабельним. Дослідження Binkley et al. (2009) показало, що ідентифікатори snake_case розпізнавалися швидше програмістами, ніж camelCase під час певних завдань читання. Ця угода впроваджується лінтерами, як-от flake8 і pylint.
Чи є Title Case тим самим, що написання великих літер у кожному слові?
Простий Title Case робить великою першу літеру кожного слова — саме це і робить цей інструмент. Формальний Title Case (AP, Chicago, APA) має додаткові правила: артиклі (a, an, the), короткі сполучники (and, but, or) та короткі прийменники (in, on, at) залишаються в нижньому регістрі, якщо тільки вони не є першим або останнім словом. Формальне написання заголовків вимагає пошуку в словнику, а не лише перетворення на рівні символів.
Чи підтримує цей інструмент Unicode та не-латинські системи письма?
Інструмент використовує вбудовані методи JavaScript toUpperCase() і toLowerCase(), які дотримуються правил написання Unicode, визначених у стандарті Unicode (Розділ 3, Секція 3.13). Це правильно обробляє символи з наголосами (é до É), німецький eszett (ss до SS) та грецькі літери. Однак правила, специфічні для локалі, як-от турецьке написання (де рядкова i повинна конвертуватися до İ з крапкою, а не I), залежать від налаштування локалі браузера, а не від цього інструменту.
Для чого використовується CONSTANT_CASE?
CONSTANT_CASE (також відомий як SCREAMING_SNAKE_CASE) використовується для констант і змінних середовища. У JavaScript: const MAX_RETRIES = 3. У Python: MAX_RETRIES = 3 (за угодою, оскільки Python не має справжніх констант). У shell-скриптах: export DATABASE_URL=.... Стиль із великими літерами сигналізує, що значення не слід перевизначати після ініціалізації.
Як обрати правильну угоду щодо регістру для свого проєкту?
Дотримуйтесь домінуючої угоди для вашої мови та фреймворку. JavaScript/TypeScript: camelCase для змінних, PascalCase для класів і компонентів. Python: snake_case для функцій і змінних, PascalCase для класів. CSS: kebab-case. SQL: snake_case для стовпців і таблиць. Ключі JSON REST API: відповідайте мові фронтенду (camelCase для JS-клієнтів, snake_case для Python-клієнтів). Якщо сумніваєтесь, перевірте конфігурацію лінтера або .editorconfig у кореневій директорії вашого проєкту.