Tools mentioned in this article
Open the browser-based tool while you read and try the workflow immediately.
API의 JSON 키는 snake_case, TypeScript 변수는 camelCase, CSS 클래스나 URL은 kebab-case, 환경 변수는 CONSTANT_CASE—개발에서는 여러 명명 규칙이 항상 뒤섞여 있습니다. Case Converter는 식별자를 하나 입력하기만 하면 9종류의 명명 규칙으로 동시에 변환해 비교할 수 있는, 브라우저에서 완결되는 도구입니다.

지원하는 9종류의 명명 규칙
| 규칙 | 예시 | 주요 용도 |
|---|---|---|
| camelCase | helloWorld | JavaScript/TypeScript 변수·함수 |
| PascalCase | HelloWorld | 클래스명·타입명·React 컴포넌트 |
| snake_case | hello_world | Python 변수·DB 컬럼·API의 JSON 키 |
| CONSTANT_CASE | HELLO_WORLD | 상수·환경 변수 |
| kebab-case | hello-world | CSS 클래스·URL 슬러그·파일명 |
| dot.case | hello.world | 설정 키·속성 경로 |
| path/case | hello/world | 파일 경로·라우팅 |
| Title Case | Hello World | 제목·문서 타이틀 |
| Sentence case | Hello world | UI 문구·설명문 |
두 가지 모드
빠른 변환: 한 단어를 9규칙으로 비교
입력란에 식별자를 하나 입력하면 9종류 전체의 변환 결과가 실시간으로 나열됩니다. “이 API 응답 키, TypeScript 쪽에서는 뭐라고 이름 붙이지?” 같은 일상적인 변환을 한눈에 확인할 수 있습니다. 각 결과는 원클릭으로 복사할 수 있습니다.
일괄 변환: 목록을 한 규칙으로 한 번에
여러 줄로 된 목록을 붙여넣고 변환할 규칙을 선택하면 모든 줄을 한 번에 변환합니다. 빈 줄은 그대로 유지되므로 붙여넣은 목록과 줄 대응이 어긋나지 않습니다. DB 컬럼명 목록을 TypeScript 속성명으로 바꾸거나, 상수 목록을 환경 변수명으로 변환하는 작업을 한 번에 끝낼 수 있습니다.
똑똑한 변환: 경계 탐지 규칙
단순 치환이 아니라 단어 경계를 분석한 뒤 재구성하기 때문에, 다음과 같은 경우도 올바르게 처리합니다.
- 연속 대문자(약어):
HTTPServerError→http_server_error.HTTP를 하나의 단어로 인식합니다 - 숫자 처리:
base64Encode→base64_encode. 숫자는 인접한 단어에 붙은 채로 분리되지 않습니다 - 혼합된 구분자:
user-profile_imageURL처럼 하이픈·언더스코어·대문자 경계가 섞여 있어도, 일단 단어로 분해한 뒤 목적 규칙으로 재구성합니다
입력 데이터는 브라우저 밖으로 나가지 않습니다
변환은 모두 브라우저 안의 JavaScript로 완결되며, 입력한 식별자가 서버로 전송되지 않습니다. 사내 API의 필드명이나 미공개 스키마 정보도 안심하고 사용할 수 있습니다.
자주 묻는 질문
연속되는 대문자(HTTP나 URL 같은 약어)는 어떻게 처리되나요?
HTTPServer는 http와 server 2개의 단어로 인식됩니다. 약어의 연속 대문자는 “마지막 대문자+소문자” 직전에서 구분하는 규칙으로 분석하므로, XMLHttpRequest도 xml/http/request로 올바르게 분해됩니다.
숫자를 포함한 식별자는 어떻게 변환되나요?
숫자는 인접한 문자와 같은 단어로 취급됩니다. base64Encode는 base64와 encode 2개의 단어가 되어 snake_case에서는 base64_encode입니다. 숫자만 단독으로 분리되는 일은 없습니다.
여러 줄을 한 번에 변환할 수 있나요?
가능합니다. 일괄 변환 모드에 목록을 붙여넣고 변환할 규칙을 선택하기만 하면 됩니다. 빈 줄은 빈 줄 그대로 유지되므로 원래 목록과의 줄 대응이 무너지지 않습니다.
입력한 내용은 외부로 전송되나요?
아니요. 변환은 모두 브라우저 안에서 완결되며, 입력 내용이 서버로 전송되지 않습니다.