Case Converter

Case Converter

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

Case Converter — TL;DR

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

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

Токенізатор використовує два правила меж: малою-до-великої (`a`, після якого `B` = розділ) і caps-then-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-keys для перейменування кожного ключа у вкладеному об'єкті.

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-keys

Вставте вкладений JSON-об'єкт і перейменуйте кожен ключ у вибраному стилі — рекурсивно. За потреби також перетворюйте рядкові значення. Зберігає масиви, типи та структуру.

Копіювання в один клік

У кожного рядка результату — власна кнопка копіювання: натисніть, і значення вже у вашому буфері обміну. Візуальне підтвердження; без спаму сповіщеннями.

Приватність за дизайном

Кожне перетворення виконується на JavaScript на вашому пристрої. Жодні ідентифікатори, JSON чи дії з буфером обміну не передаються назовні. Відкрийте DevTools → Network і переконайтеся, що вихідних запитів нуль.

Маленький і швидкий

Чистий JavaScript, без рантайму фреймворку. Холодне завантаження — менше 25 КБ у gzip. Усі 11 перетворень будь-якого рядка завершуються менш ніж за 1 мс.

Як користуватися конвертером

Два режими — для одного рядка і пакетний для JSON-keys.

  1. 1

    Оберіть режим

    Один рядок — для одного ідентифікатора чи фрази: введіть або вставте раз і побачите всі 11 виходів регістру. JSON keys (пакетно) — коли треба перетворити кожен ключ у вкладеній 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 vars ↔ конфіг рантайму

Перетворіть `MY_AWESOME_FEATURE_FLAG` (угода для env-змінних) на `myAwesomeFeatureFlag` (JS-змінна) або `my_awesome_feature_flag` (Python). Цикл 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 для стану згоди на 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-слагах, прапорцях CLI. PascalCase — це camelCase із великою і першою літерою (`UserFirstName`); вживається для імен класів / типів у багатьох мовах.

Як розумний токенізатор обробляє абревіатури?

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

Що робить пакетний режим JSON-keys?

Вставте 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 frontend), оберіть одну межу й тримайте решту системи послідовною.

Чи передається щось на ваш сервер?

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