2026. 03. 19
텍스트 대소문자 변환 — camelCase와 snake_case를 고르는 기준
대문자, 소문자, camelCase, snake_case, kebab-case가 각각 어디에 쓰이는지 정리했습니다. 파일명, 변수명, URL 슬러그를 한 번에 정리할 때 실수하기 쉬운 점도 함께 설명합니다.
엑셀에서 받은 상품명을 파일명으로 바꾸거나, API 문서의 필드명을 코드 변수로 옮길 때 대소문자 규칙이 섞이면 금방 지저분해집니다. 사람이 하나씩 고치면 빠뜨리는 항목이 생깁니다.
대소문자 변환은 단순히 ABC를 abc로 바꾸는 작업만이 아닙니다. 단어 사이의 공백, 하이픈, 밑줄을 어떤 규칙으로 정리할지도 함께 결정합니다.
자주 쓰는 케이스 형식
| 형식 | 예시 | 주로 쓰는 곳 |
|---|---|---|
| UPPERCASE | SUMMER SALE | 짧은 라벨, 코드값 |
| lowercase | summer sale | 검색어 정리, 일반 텍스트 |
| camelCase | summerSaleGuide | JavaScript 변수명 |
| PascalCase | SummerSaleGuide | 클래스명, 컴포넌트명 |
| snake_case | summer_sale_guide | Python 변수명, DB 컬럼 |
| kebab-case | summer-sale-guide | URL 슬러그, 파일명 |
웹 주소에는 보통 kebab-case가 잘 맞습니다. 공백 대신 하이픈을 쓰면 사람이 읽기 쉽고, 한글이나 특수문자보다 공유할 때 깨질 가능성이 적습니다. 슬러그(slug)는 웹 주소 뒤에 붙는 짧은 이름을 말합니다.
화면 그대로 따라하기
도구 화면에는 형식을 고르는 Case 선택 상자와 텍스트를 넣는 Content 입력칸이 있습니다.
- Case 선택 상자에서 형식을 고릅니다. lowercase부터 aLtErNaTiNg cAsE, InVeRsE cAsE까지 아홉 가지가 있습니다.
- Content 칸에 바꿀 텍스트를 붙여 넣습니다. 입력하는 동안 칸 아래에 글자 수(characters)와 단어 수(words)가 실시간으로 표시됩니다.
- Convert 버튼을 누르면 아래에 결과 상자가 나타납니다.
- 결과 상자 오른쪽 위의 Copy 버튼으로 복사합니다. 처음부터 다시 하려면 Clear를 눌러 입력을 지웁니다.
실제로 Summer Sale Guide를 넣어 보면 camelCase는 summerSaleGuide, PascalCase는 SummerSaleGuide, snake_case는 summer_sale_guide, kebab-case는 summer-sale-guide로 나옵니다. 같은 세 단어가 규칙에 따라 네 가지 다른 모습이 되는 셈입니다.
한글은 대소문자가 없어 글자 자체는 바뀌지 않습니다. 여름 세일 안내를 snake_case로 바꾸면 띄어쓰기만 밑줄로 바뀌어 여름_세일_안내가 됩니다. 한글 텍스트에는 띄어쓰기를 밑줄이나 하이픈으로 한 번에 정리하는 용도로 쓰게 됩니다.
여기서 막히기 쉽습니다
특수문자는 변환 후에도 그대로 남습니다. 2026 여름 세일!을 kebab-case로 바꾸면 2026-여름-세일!이 되고 느낌표는 사라지지 않습니다. URL 슬러그를 만들 때는 느낌표, 괄호, 쉼표를 먼저 지우고 변환하세요. 주소에 특수문자가 남으면 공유할 때 링크가 끊길 수 있습니다.
여러 줄을 한 번에 넣을 때는 형식에 따라 결과가 다릅니다. lowercase와 UPPERCASE는 줄바꿈이 그대로 유지되지만, camelCase, PascalCase, snake_case, kebab-case, Title Case는 줄바꿈도 공백처럼 취급해 모든 줄이 한 줄로 합쳐집니다. 파일명 목록처럼 줄 단위로 바꿔야 한다면 한 줄씩 넣어야 합니다.
Title Case는 모든 단어의 첫 글자를 대문자로 바꿉니다. 영어 제목 표기 관습에서는 of, the 같은 관사와 전치사를 소문자로 두는데, 이 구분까지 해 주지는 않으니 논문이나 출판물 제목이라면 변환 후에 직접 손보세요.
상품명이나 블로그 제목을 URL로 바꿀 때는 의미 없는 단어를 줄이는 것도 좋습니다. how-to-fix-wi-fi-issues처럼 핵심 단어가 남아야 검색 결과나 공유 링크에서 내용을 알 수 있습니다.
코드에서의 실수
JavaScript에서는 userName과 username이 다른 변수입니다. Python에서도 user_name과 UserName은 다릅니다. 대소문자 변환 도구로 한 번에 고친 뒤에는 기존 코드와 맞는 규칙인지 확인해야 합니다.
팀 프로젝트라면 ESLint, Pylint 같은 도구로 네이밍 규칙을 정해 두는 편이 좋습니다. 사람의 기억보다 자동 검사가 더 안정적입니다. 한국어 파일명이나 공백이 들어간 파일명은 일부 배포 환경에서 문제가 될 수 있으니, 공개 URL이나 서버 파일명은 영문 소문자와 하이픈 중심으로 정리하세요.
자주 묻는 질문
camelCase와 PascalCase는 뭐가 다른가요? 첫 단어의 첫 글자 하나 차이입니다. camelCase는 summerSaleGuide처럼 첫 단어만 소문자로 시작하고, PascalCase는 SummerSaleGuide처럼 모든 단어가 대문자로 시작합니다. JavaScript에서는 변수에 camelCase, 클래스와 React 컴포넌트에 PascalCase를 쓰는 관례가 널리 퍼져 있습니다.
aLtErNaTiNg cAsE와 InVeRsE cAsE는 어디에 쓰나요? aLtErNaTiNg cAsE는 한 글자씩 대소문자를 번갈아 바꾸는 장난스러운 표기라 실무 문서에는 쓰지 않습니다. InVeRsE cAsE는 대문자와 소문자를 통째로 맞바꾸는 기능이라, 캡스록(CapsLock)이 켜진 줄 모르고 친 문장을 복구할 때 유용합니다.
변환한 결과는 어디에 저장되나요? 변환은 브라우저 화면 안에서 바로 처리되고 따로 저장되지 않습니다. 페이지를 새로 고치면 결과가 사라지니, 필요한 결과는 Copy 버튼으로 복사해 두세요.