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 슬러그, CLI 플래그에서 사용됩니다. PascalCase는 첫 글자까지 대문자로 시작하는 camelCase입니다(`UserFirstName`). 많은 언어에서 클래스/타입 이름에 사용됩니다.

토크나이저는 두 가지 경계 규칙을 사용합니다: 소문자에서 대문자로(`a` 다음에 `B` = 분리) 그리고 대문자 뒤 Title(연속된 대문자 다음에 소문자가 오면 마지막 대문자 앞에서 분리). 그래서 `XMLHttpRequest`는 `[XML, Http, Request]` → `xml_http_request` / `xmlHttpRequest` / `XmlHttpRequest`가 됩니다. `userIDToken`은 `[user, ID, Token]` → `user_id_token`이 됩니다. 이는 대부분의 언어 스타일 가이드 권장사항과 일치합니다.

식별자와 JSON은 기기를 떠나지 않습니다. DevTools → Network를 열면 변환이나 복사 중에 외부 요청이 0건임을 확인할 수 있습니다.

11가지 네이밍 규칙, 한 번의 붙여넣기

고전적인 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를 열어 외부 요청이 0건임을 직접 확인하세요.

작고 빠릅니다

프레임워크 런타임 없이 순수 JavaScript로 작성되었습니다. 콜드 로드는 gzip 압축 후 25 KB 미만입니다. 어떤 문자열에 대한 11가지 변환도 1ms 미만에 완료됩니다.

변환기 사용 방법

두 가지 모드 — 단일 문자열과 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 연결을 위해 만들어졌습니다

한 번 붙여넣고 모든 스타일을 얻는 것이 손가락으로 일일이 이름을 바꾸는 것보다 나은 네 가지 흔한 시나리오.

백엔드 ↔ 프런트엔드 경계

백엔드는 `user_first_name`을 주는데 프런트엔드는 `userFirstName`을 원합니다. 붙여넣고, 복사하고, 붙여넣으면 — 끝입니다. JSON 일괄 모드를 사용해 샘플 API 응답의 모든 키를 한 번에 변환하세요(이후 결과를 기반으로 codegen 템플릿을 작성하면 됩니다).

여러 언어 간 리팩터링

Python 라이브러리를 JavaScript로 포팅 중인가요? Python 소스의 snake_case 식별자를 가져와 camelCase 출력으로 실행하세요. 결과를 JS 포트에 그대로 넣으면 됩니다. 스마트 토크나이저는 `__double_underscore`와 끝자리 숫자를 깨뜨리지 않고 처리합니다.

ENV 변수 ↔ 런타임 설정

`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를 열면 변환이나 복사 중에 외부 요청이 0건임을 확인할 수 있습니다.

  • 모든 토큰화, 케이스 변환, JSON 순회는 사용자의 기기에서 JavaScript로 실행됩니다 — 페이지 소스에서 확인 가능합니다.
  • 클립보드 쓰기는 표준 navigator.clipboard.writeText API를 사용하며, 어떤 것도 기록되지 않습니다.
  • 로그인 없음, 식별자 값에 대한 텔레메트리 없음, 서드파티 API 없음. 쿠키 동의 상태용 쿠키 하나와 언어 설정용 쿠키 하나만 사용합니다.

관련 가이드

네이밍 규칙, 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` = 분리) 그리고 대문자 뒤 Title(연속된 대문자 다음에 소문자가 오면 마지막 대문자 앞에서 분리). 그래서 `XMLHttpRequest`는 `[XML, Http, Request]` → `xml_http_request` / `xmlHttpRequest` / `XmlHttpRequest`가 됩니다. `userIDToken`은 `[user, ID, Token]` → `user_id_token`이 됩니다. 이는 대부분의 언어 스타일 가이드 권장사항과 일치합니다.

JSON 키 일괄 모드는 무엇을 하나요?

JSON 객체를 붙여넣으세요 — 깊게 중첩된 것도 가능합니다 — 그리고 대상 케이스 스타일을 선택하세요. 도구는 트리 전체를 깊이 우선 순회하며, 모든 키(배열 내부의 키 포함)를 변환하고 재구성된 JSON을 출력합니다. 배열, 타입(number / boolean / null), 구조는 정확히 보존됩니다. "문자열 값도 함께 변환"을 켜면 문자열 값을 가진 모든 필드의 내용도 동일한 토크나이저를 통해 다시 작성됩니다.

내 프로젝트에는 어떤 규칙을 사용해야 하나요?

먼저 언어의 주된 규칙을 따르고, 그다음 의 규칙을 따르세요. 기본값으로: JS / Java / Swift / Kotlin / Go에는 camelCase(공개 이름은 PascalCase 사용), Python / Ruby / Rust / SQL 컬럼에는 snake_case, CSS 클래스 / HTML 속성 / URL 경로 / npm 패키지 / CLI 플래그에는 kebab-case, 환경 변수와 언어 상수에는 SCREAMING_SNAKE_CASE를 사용하세요. 계층 간(snake_case API → camelCase 프런트엔드) 변환할 때는 단일 경계를 정하고 시스템의 나머지 부분은 일관되게 유지하세요.

서버로 전송되는 것이 있나요?

없습니다. 토큰화, 모든 변환, JSON 키 일괄 모드 모두 브라우저에서 JavaScript로 실행됩니다. DevTools → Network를 열면 사용 중에 외부 요청이 0건임을 확인할 수 있습니다. 쿠키 동의 상태용 쿠키 하나와 언어 설정용 쿠키 하나를 사용하며, 그게 전부입니다.