camelCase·snake_case·kebab-case: 사용법
JavaScript의 camelCase, Python·데이터베이스의 snake_case, CSS·URL의 kebab-case를 어디서 쓰는지와 무료 변환 방법을 설명합니다.
게시일: · 7분 분량
camelCase, snake_case, kebab-case 중 무엇을 쓸지는 대개 이름이 사는 곳에 달렸습니다. JavaScript와 Java는 camelCase(firstName), Python·Ruby·SQL은 snake_case(first_name), CSS·HTML 속성·URL은 kebab-case(first-name)를 씁니다. 언어 관례와 팀 스타일 가이드를 따르세요. 무료 대소문자 변환기와 무료 URL 슬러그 생성기로 브라우저에서 대부분 변환할 수 있습니다.
camelCase, snake_case, kebab-case 한눈에 보기
| 스타일 | 예시 | 주로 쓰는 곳 |
|---|---|---|
| camelCase | userFirstName |
JavaScript·TypeScript 변수와 함수, Java 메서드, 많은 웹 API JSON |
| PascalCase | UserFirstName |
대부분 언어의 클래스, React 컴포넌트, C# 메서드 |
| snake_case | user_first_name |
Python 변수·함수, Ruby, SQL 열 이름, 많은 JSON API |
| SCREAMING_SNAKE_CASE | USER_FIRST_NAME |
여러 언어의 상수, 환경 변수 |
| kebab-case | user-first-name |
CSS 속성·클래스, HTML 속성, URL, 파일명, CLI 플래그 |
이름은 모양에서 왔습니다. camelCase는 대문자 혹이 낙타처럼 보이고, snake_case는 밑줄 위에 납작하며, kebab-case는 하이픈 꼬치에 단어가 꽂힌 모습입니다.

언어별 사용법
JavaScript와 TypeScript. 변수·함수는 camelCase(getUserName), 클래스와 React 컴포넌트는 PascalCase(UserCard), 상수는 흔히 SCREAMING_SNAKE_CASE(MAX_RETRIES)입니다. getElementById, toLowerCase 같은 내장 API도 따릅니다.
Python. Python 스타일 가이드 PEP 8은 함수·변수·모듈에 snake_case, 클래스에 CapWords(PascalCase), 상수에 밑줄이 있는 대문자를 씁니다. getUserName도 동작하지만 Python 개발자에게는 어색합니다.
CSS와 HTML. CSS 속성은 background-color, font-size처럼 kebab-case이고 클래스도 .nav-item, .card-title처럼 흔합니다. data-user-id는 JavaScript에서 element.dataset.userId가 되어 두 관례가 공존하는 이유를 잘 보여 줍니다.
SQL과 데이터베이스. 열과 테이블은 보통 created_at, order_items처럼 snake_case입니다. 많은 DB는 따옴표 없는 이름을 한쪽 대소문자로 접으므로 createdAt은 매번 따옴표를 쓰지 않으면 createdat이 될 수 있습니다.
URL과 파일명. kebab-case를 쓰세요. Google의 URL 구조 안내는 단어 구분에 밑줄보다 하이픈을 권합니다. 소문자는 About.html과 about.html을 다르게 보는 서버의 깨진 링크도 피합니다. URL 슬러그란 무엇인가와 URL 슬러그 모범 사례를 보세요.
JSON과 API. 하나의 규칙은 없습니다. JavaScript 중심 API는 camelCase가, Python·Ruby 백엔드는 snake_case가 많습니다. API 하나에서 하나를 고르고 섞지 마세요.
어느 쪽이 더 읽기 쉬운가요?
셋 다 익숙해지면 읽을 수 있습니다. 실용적인 차이는 다음과 같습니다.
- snake_case와 kebab-case는 단어 사이가 뚜렷해 긴 이름과 약어에서 좋습니다.
html_parser,htmlParser,HTMLParser를 비교해 보세요. - camelCase는 짧고 구분 문자가 필요 없습니다.
- kebab-case는 대부분 언어에서
user minus name으로 읽혀 변수명에 쓸 수 없습니다. - 편집기에서 더블클릭하면 snake_case·camelCase 전체를 고르는 경우가 많지만 kebab-case는 하이픈에서 끊길 수 있습니다.
진짜 규칙은 일관성입니다. userName, user_name, UserName을 한 파일에서 섞는 것이 어느 한 스타일보다 읽기 어렵습니다.
대소문자 형식 변환하기
Python API의 created_at을 JavaScript createdAt으로 바꾸거나, 페이지 제목을 URL로 바꾸고, 설정 이름을 환경 변수로 만들 때 변환이 필요합니다.
kebab-case 또는 snake_case로. 슬러그 생성기에 단어를 한 줄씩 넣고 kebab-case는 Hyphens (-), snake_case는 **Underscores (_)**를 고르세요. 모두 소문자로 바꾸고 악센트·기호를 정리합니다. user_first_name은 user-first-name이 되지만 camelCase는 나누지 않아 userFirstName이 userfirstname이 됩니다. 먼저 단어 사이에 공백을 넣으세요.
SCREAMING_SNAKE_CASE로. 슬러그 생성기에서 snake_case를 만든 뒤 무료 대소문자 변환기에 붙여 UPPERCASE를 누릅니다. 반대로 MAX_RETRIES는 lowercase로 max_retries가 됩니다.
camelCase 또는 PascalCase로. 한 번에 되는 버튼은 없습니다. 단어 사이 공백을 넣고 변환기의 Capitalized Case를 눌러 User First Name을 만든 뒤, 공백을 지우면 PascalCase, 첫 글자를 소문자로 하면 camelCase입니다.
코드 안에서 여러 이름을 한꺼번에. 큰 이름 변경은 편집기의 정규식 찾기·바꾸기를 사용하세요. 무료 정규식 테스터에서 먼저 _([a-z])처럼 snake_case에서 대문자가 될 자리를 찾는 패턴을 시험하고, 캡처 문자를 대문자로 바꾸는 교체 문법은 편집기 문서를 확인하세요.
변환할 때 주의할 점
- 약어.
userId와userID,HtmlParser와HTMLParser중 하나를 정해 일관되게 씁니다. - 숫자.
address_line_2는addressLine2로 자연스럽지만 숫자를 빼면 안 됩니다. - 공개 이름. JSON 필드나 URL 이름을 바꾸면 사용자가 깨집니다. URL에는 리디렉션을 추가하고 API의 옛 필드는 한동안 유지하세요.
텍스트를 변환하세요
UPPERCASE, lowercase, Capitalized Case는 무료 대소문자 변환기, kebab-case와 snake_case는 슬러그 생성기를 쓰세요. 둘 다 브라우저에서 실행되어 붙여 넣은 내용은 기기를 떠나지 않습니다.
자주 묻는 질문
- camelCase와 snake_case의 차이는 무엇인가요?
- camelCase는 첫 단어 뒤의 단어를 대문자로 이어
firstName이 됩니다. snake_case는 단어를 소문자로 쓰고 밑줄로 이어first_name이 됩니다. - JSON에는 camelCase와 snake_case 중 무엇을 써야 하나요?
- 둘 다 가능합니다. 가장 많은 클라이언트가 쓰는 언어에 맞추고 API 내부에서 일관되게 유지하세요.
- CSS는 왜 kebab-case를 쓰나요?
- CSS는
font-size같은 하이픈 속성으로 설계되었고 클래스도 이를 따릅니다. 하이픈은 대부분 변수명에 못 쓰므로 JavaScript는 같은 속성에 camelCase를 씁니다. - kebab-case는 URL에 좋은가요?
- 네. Google은 URL 단어 구분에 하이픈을 권하고, 소문자는 대소문자 민감성 문제를 줄입니다.
- 대소문자 변환기로 camelCase를 만들 수 있나요?
- 한 번에는 안 됩니다. Capitalized Case 뒤 공백을 지우고 첫 글자를 소문자로 바꾸세요. kebab-case와 snake_case는 URL 슬러그 생성기를 쓰세요.
텍스트 도구
대소문자 변환기 사용해 보기
무료, 가입 불필요, 브라우저에서 작동합니다. 텍스트를 붙여 넣고 클릭 한 번으로 대문자(UPPERCASE), 소문자(lowercase), 문장 첫 글자 대문자(Sentence case), 제목 형식(Title Case), 단어 첫 글자 대문자(Capitalized Case)로 바꾼 다음 복사하세요.
함께 쓰면 좋은 도구
- URL 슬러그 생성기제목이나 어떤 텍스트든 "my-first-blog-post"처럼 깔끔한 소문자 URL 슬러그로 바꾸세요. 악센트는 변환되고(café는 cafe로), 기호는 제거되며, 짧은 단어를 빼거나, 최대 길이를 정하거나, 제목 목록 전체의 슬러그를 한 번에 만들 수 있습니다.
- 정규식 테스터텍스트에 정규 표현식을 적용해 입력하는 즉시 모든 일치 항목을 강조 표시로 확인하세요. 캡처 그룹(이름 있는 그룹 포함) 표와 실시간 찾아 바꾸기 미리 보기도 제공합니다. JavaScript 정규식 규칙을 따르며, 너무 오래 실행되는 패턴은 페이지가 멈추지 않도록 중단됩니다.