Aa 대소문자 변환기
입력하면 9가지 표기법 결과가 동시에 나와요. 여러 줄을 넣으면 줄마다 따로 변환해서 변수명 목록도 한 번에 바꿀 수 있어요.
사용법
- 입력란에 문장이나 변수명을 넣으면 아래 9개 칸에 변환 결과가 동시에 나타납니다.
- 필요한 칸의 copy 버튼이나 결과 영역을 클릭하면 바로 복사됩니다.
- 여러 줄을 넣으면 줄마다 따로 변환합니다. DB 컬럼 목록을 camelCase 필드명으로 바꾸는 식으로 한 번에 처리할 수 있어요.
표기법(케이스) 종류와 쓰임
| 표기법 | 예시 | 주로 쓰는 곳 |
|---|---|---|
| camelCase | userProfileImage | JavaScript·Java 변수와 함수, JSON 키 |
| PascalCase | UserProfileImage | 클래스, React 컴포넌트, C# 메서드 |
| snake_case | user_profile_image | Python 변수·함수, DB 테이블·컬럼명 |
| kebab-case | user-profile-image | URL 경로, CSS 클래스, 파일명, npm 패키지명 |
| CONSTANT_CASE | USER_PROFILE_IMAGE | 상수, 환경변수(.env) |
| Title Case | The Lord of the Rings | 영어 제목, 헤드라인, 버튼 문구 |
| Sentence case | The lord of the rings | 일반 문장, UI 안내 문구 |
단어는 어떻게 나누나요?
코드용 표기법(camel·Pascal·snake·kebab·CONSTANT)은 먼저 입력을 단어로 쪼갠 뒤 정해진 규칙으로 다시 붙입니다. 공백, 밑줄(_), 하이픈(-), 점 같은 기호와 소문자→대문자 경계가 단어 경계입니다. 그래서 maxRetryCount, max_retry_count, max-retry-count, Max Retry Count는 모두 같은 세 단어로 인식되고 서로 자유롭게 바꿀 수 있습니다.
- 연속된 대문자는 약어로 봅니다:
XMLHttpRequest→xml_http_request - 숫자는 앞 단어에 붙습니다:
version2Update→version2_update - 작은따옴표는 지웁니다:
don't stop→dontStop - 한글은 대소문자가 없어 그대로 두고, 단어 구분만 적용됩니다:
회원 목록→회원_목록
변환 원리와 예시
변환은 두 단계예요. ① 위 규칙으로 단어 목록을 만들고, ② 표기법마다 정해진 대소문자 규칙과 구분자로 다시 붙여요. camelCase = 첫 단어 소문자 + 나머지 단어 첫 글자 대문자, 구분자 없음 / snake_case = 모두 소문자 + _ / kebab-case = 모두 소문자 + - / CONSTANT_CASE = 모두 대문자 + _.
예를 들어 get user_profile URL은 get · user · profile · URL 네 단어로 나뉘고, 기본 옵션에서 이렇게 바뀌어요.
| 표기법 | 결과 |
|---|---|
| camelCase | getUserProfileUrl |
| PascalCase | GetUserProfileUrl |
| snake_case | get_user_profile_url |
| kebab-case | get-user-profile-url |
| CONSTANT_CASE | GET_USER_PROFILE_URL |
| UPPERCASE / lowercase | GET USER_PROFILE URL / get user_profile url (글자만 바꾸고 기호는 그대로) |
"약어 유지"를 켜면 URL이 그대로 남아 camelCase가 getUserProfileURL이 돼요. 제목용 Title Case는 the lord of the rings → The Lord of the Rings처럼 of·the를 소문자로 둬요.
언어·도구별 이름 규칙
| 언어·분야 | 변수·함수 | 클래스·타입 | 상수 | 근거 |
|---|---|---|---|---|
| Python | snake_case | PascalCase | CONSTANT_CASE | PEP 8 |
| Java | camelCase | PascalCase | CONSTANT_CASE | Google Java Style |
| JavaScript·TypeScript | camelCase | PascalCase | CONSTANT_CASE 또는 camelCase | 관례 (React 컴포넌트는 PascalCase 필수) |
| Go | camelCase (외부 공개면 PascalCase) | PascalCase | PascalCase·camelCase | Effective Go |
| Rust | snake_case | PascalCase | CONSTANT_CASE | Rust API Guidelines |
| SQL·DB | snake_case 컬럼 | snake_case 테이블 | - | 관례 (따옴표 없는 대소문자 처리 차이 때문) |
| URL·CSS·파일명 | kebab-case 소문자 | 구글 URL 구조 권장 | ||
Go는 대소문자가 문법이에요. 이름이 대문자로 시작하면 패키지 밖에서 쓸 수 있고, 소문자면 패키지 안에서만 보여요. 같은 단어라도 userName과 UserName은 공개 범위가 달라요.
헷갈리는 입력 예시 3가지 (기본 옵션)
| 입력 | camelCase | snake_case | 약어 유지 켜면 |
|---|---|---|---|
getHTTPResponseCode | getHttpResponseCode | get_http_response_code | camelCase getHTTPResponseCode |
HTML5 canvas API | html5CanvasApi | html5_canvas_api | camelCase html5CanvasAPI, Title HTML5 Canvas API |
iPhone 15 Pro max | iPhone15ProMax | i_phone_15_pro_max | 변화 없음 |
첫 번째는 연속 대문자 HTTP 뒤에 Response가 오는 지점을 단어 경계로 잡아 세 단어로 나눠요. 세 번째처럼 소문자로 시작하는 고유명사(iPhone, eBay)는 소문자→대문자 경계 때문에 i와 phone으로 쪼개지니, 결과를 보고 직접 고쳐 주세요.
흔한 실수
- 약어 처리 규칙을 섞어 씀 — 한 프로젝트에서
userId와userID를 함께 쓰면 검색·자동완성이 꼬여요. 팀에서 "약어도 단어처럼(Id, Url)" 또는 "약어는 대문자(ID, URL)" 중 하나로 정하세요. - UPPERCASE를 CONSTANT_CASE로 착각 — UPPERCASE는 글자만 바꿔서
max retry→MAX RETRY이고, 상수 이름은MAX_RETRY(CONSTANT_CASE)예요. - DB 컬럼을 camelCase로 만듦 — PostgreSQL은 따옴표 없는 이름을 소문자로 바꿔
userName이username이 돼요. 컬럼은 snake_case가 안전해요. - 한글 변수명 — 한글은 대소문자가 없어 그대로 남아요(
회원 목록 page→회원_목록_page). 코드에서는 영어 이름을 쓰는 게 협업에 안전해요.
Title Case 규칙
영어 제목은 보통 주요 단어의 첫 글자만 대문자로 쓰고, 관사(a, an, the), 짧은 전치사(of, in, on, to…), 등위접속사(and, but, or)는 소문자로 둡니다. 단, 제목의 첫 단어와 마지막 단어는 항상 대문자로 시작합니다. 스타일 가이드(APA, Chicago, AP)마다 세부 규칙이 조금씩 다르므로, 모든 단어를 대문자로 시작하려면 "소문자 유지" 옵션을 끄세요.
Title·Sentence case는 기본적으로 나머지 글자를 소문자로 바꿉니다. 그래서 NASA가 Nasa가 될 수 있는데, "약어 유지"를 켜면 두 글자 이상 대문자 단어는 그대로 둡니다. 고유명사(iPhone, GitHub)는 변환 후 직접 확인하세요.