대소문자 변환 가이드 — 어떤 케이스를 어디에 써야 하는가
대문자/소문자/타이틀 케이스/camelCase/snake_case는 작은 디테일 같지만, 강한 신호를 전달합니다. 잘못된 케이스를 잘못된 곳에 쓰면 비전문적으로 보이거나, 검색이 깨지거나, 코드가 안 돌아가거나, 콘텐츠 가독성이 떨어집니다. 이 가이드는 케이스들과 그 관행, 어디에 어떤 게 맞는지 정리합니다.
모든 글쓰기 전통에는 대소문자 규칙이 있고, 다 다릅니다. 영어 책 제목은 대부분 단어를 대문자로, 뉴스 헤드라인은 첫 단어만 대문자만 쓰는 경우도. 독일어는 모든 명사를 대문자로. 한국어는 대소문자 개념이 없어요. 프로그래머는 식별자에 띄어쓰기 없이 구조를 넣기 위해 여러 스타일(camelCase, snake_case, kebab-case)을 발명했고요. 결과적으로 '그냥 대문자만 다시 치기'는 늘 단순하지 않고 — 따라야 할 진짜 관행이 있습니다.
케이스 변환기는 기계적 부분을 자동화합니다. 어려운 부분은 어디에 어떤 스타일을 써야 하는지 아는 것이고, 이 가이드가 가장 흔한 관행들과 실용 예시를 다룹니다.
마주치는 케이스 스타일
- UPPERCASE (대문자)
- 모든 글자 대문자. 강조, 약어(NASA, USA), 경고문, 외침. 본문엔 일반적으로 부적합.
- lowercase (소문자)
- 모든 글자 소문자. 캐주얼, 친밀, 가끔 예술적. 이메일 주소·URL·해시태그.
- Title Case (타이틀 케이스)
- 각 주요 단어 첫 글자 대문자. 책 제목·기사 헤드라인·노래 제목. 'a, the, of' 같은 작은 단어 처리에 여러 변종.
- Sentence case (문장 케이스)
- 문장 첫 글자만 대문자 — 일반 산문처럼. 제품 UI 문구, 모던 블로그, 일부 헤드라인 컨벤션.
- camelCase
- firstWordLowercaseRestCapitalized. JavaScript 변수, 함수명. 띄어쓰기·구두점 없음.
- PascalCase
- EveryWordCapitalized. 대부분 언어의 클래스명, React 컴포넌트. camelCase와 비슷하지만 첫 단어도 대문자.
- snake_case
- words_separated_by_underscores. Python 변수, DB 컬럼명.
- kebab-case
- words-separated-by-hyphens. URL, CSS 클래스명, HTML 속성.
- SCREAMING_SNAKE_CASE
- ALL_CAPS_WITH_UNDERSCORES. 대부분 언어의 상수(MAX_SIZE, API_KEY).
- iNVERSE cASE
- 각 글자 케이스 뒤집기. 거의 노벨티/접근성 실험용.
어디에 어떤 케이스가 맞는가
| 맥락 | 관행 | 예시 |
|---|---|---|
| 영어 책 제목 | Title Case | The Great Gatsby |
| 모던 기사 헤드라인 | Sentence case (자주) | Why your inbox is making you anxious |
| 미국 신문 헤드라인 | Title Case | Senate Approves New Tax Law |
| 이메일 제목줄 | Sentence case | Re: 금요일 프로젝트 업데이트 |
| URL slug | kebab-case | /blog/why-naming-matters |
| JavaScript 변수 | camelCase | userName, totalPrice |
| Python 변수 | snake_case | user_name, total_price |
| React 컴포넌트 | PascalCase | UserProfile, NavBar |
| CSS 클래스 | kebab-case | .user-profile, .nav-bar |
| DB 컬럼 | snake_case | user_name, created_at |
| 환경 변수 | SCREAMING_SNAKE_CASE | DATABASE_URL, API_KEY |
| 파일명 | kebab-case 또는 snake_case | user-profile.tsx, user_profile.py |
| 해시태그 | PascalCase 또는 lowercase | #GoodMorning 또는 #goodmorning |
Title Case는 보기보다 복잡합니다
스타일 가이드마다 어떤 단어를 대문자로 할지 규칙이 살짝 다릅니다. AP 스타일은 명사·대명사·동사·형용사, 그리고 4자 이상 관사·전치사 대문자. Chicago 스타일은 비슷하지만 미묘하게 차이. APA는 4자 이상 모든 단어 대문자. 차이는 작지만 편집 작업에선 중요합니다.
가장 흔한 실용 룰: 첫 단어와 마지막 단어는 항상 대문자. 사이의 '주요' 단어(명사·동사·형용사·부사) 모두 대문자. 짧은 관사('a, an, the')·접속사('and, but, or')·3자 이하 전치사('in, on, of')는 소문자. 'The Lord of the Rings'가 이 규칙.
이 도구가 처리하는 변환들
- •여러 단어 식별자 변환 — camelCase / PascalCase / snake_case / kebab-case 사이 한 번에 전환
- •약어 보존 — 'XMLParser'를 snake_case로 바꾸면 'xml_parser' (not 'x_m_l_parser')
- •문장 경계 인식 — Sentence case가 한 텍스트의 여러 문장을 정확히 처리
- •Title Case stop-word 처리 — 첫·마지막 단어가 아니면 작은 단어 소문자 유지
- •역케이스 — 모든 글자 케이스 뒤집어 노벨티 효과
자주 묻는 질문
왜 어떤 앱들은 케이스에 엄격한가요?
URL과 파일 경로는 대부분 서버에서 대소문자 구분(Linux, 기본 macOS). 'Image.JPG'와 'image.jpg'는 다른 파일. 프로그래밍 언어의 변수명도 대소문자 구분. 특히 주의해야 할 부분.
해시태그는 #PascalCase가 좋나요 #lowercase가 좋나요?
PascalCase가 접근성에 권장 — 스크린리더가 '#GoodMorning'을 'Good Morning'으로 정확히 읽음. '#goodmorning'은 'goodmorning' 한 단어로 처리. 시각적으론 둘 다 OK지만 접근성이 우선.
Title Case와 Headline Case의 차이?
자주 같은 의미로 쓰임. 일부 스타일 가이드는 'Title Case'(책·기사 제목, 더 많은 대문자)와 'Sentence case'(첫 단어만)를 구분. 'Headline case'는 보통 뉴스 관행으로 그 사이.
대소문자 무시 검색이 내 케이스 선택을 무시하나요?
대부분 모던 검색 엔진(구글, 사이트 검색)은 대소문자 무시 — 어떤 케이스 쿼리든 매칭. 다만 프로그래밍 언어 문자열 연산과 DB LIKE 쿼리는 기본적으로 대소문자 구분.
여기서 변환한 텍스트가 저장되거나 공유되나요?
아니요. 변환은 모두 사용자 브라우저 안에서만 이뤄집니다.
