대소문자 변환기
텍스트를 대문자·소문자·문장형·제목형·카멜/스네이크/케밥 케이스로 변환합니다.
대소문자 변환기란?
실수로 Caps Lock을 켜고 긴 글을 썼거나, 문서 서식을 맞추기 위해 텍스트를 모두 대문자 또는 소문자로 바꿔야 할 때가 있습니다. 개발자라면 변수명 규칙에 따라 camelCase를 snake_case로 바꾸는 등의 작업이 빈번합니다. 툴즈25시 대소문자 변환기는 이런 모든 상황을 위한 해결책입니다. 텍스트를 붙여넣는 순간, 추가적인 클릭 없이 대문자, 소문자, 문장형, 제목형은 물론 camelCase, PascalCase, snake_case, kebab-case 등 프로그래밍과 마크업에 사용되는 14가지 형식으로 즉시 변환된 결과를 보여줍니다. 특히, 'user ID'나 'my-variable'처럼 여러 형태로 섞인 단어들을 지능적으로 인식해 정확하게 분리하므로, 일일이 수정하는 번거로움이 없습니다. 입력한 내용은 서버로 전송되지 않고 오직 사용자의 브라우저 안에서만 처리되어 민감한 정보도 안심하고 변환할 수 있습니다.
사용 방법
- 상단의 '텍스트 입력' 칸에 변환하고 싶은 문장을 직접 입력하거나 붙여넣습니다. 어떻게 동작하는지 궁금하다면 '예시 넣기' 버튼을 눌러보세요.
- 입력과 동시에 하단에 총 14가지 형식(대문자, 소문자, camelCase, snake_case 등)으로 변환된 결과가 즉시 나타납니다.
- 입력창 바로 아래에서 인식된 글자 수와 단어 수를 확인하여 변환이 정확히 이루어졌는지 검토할 수 있습니다.
- 필요한 형식의 결과값 오른쪽에 있는 '복사' 버튼을 눌러 간편하게 클립보드에 복사한 후 원하는 곳에 붙여넣어 사용합니다.
대소문자 변환기 사용 가이드
실제 작업에서 이 도구를 어떻게 쓰는지, 무엇을 조심해야 하는지 정리했습니다.
언어·플랫폼마다 관례가 정해져 있습니다
어떤 케이스를 쓸지는 취향 문제가 아니라 그 생태계의 관례를 따르는 문제입니다. 관례를 어기면 동작은 하지만 코드 리뷰에서 지적당하고 자동 완성·린터와도 어긋납니다.
| 쓰는 곳 | 케이스 | 예 |
|---|---|---|
| 자바스크립트·자바 변수·함수 | camelCase | productStockManager |
| 클래스·컴포넌트·타입 | PascalCase | ProductStockManager |
| 파이썬 변수·함수, Rust | snake_case | product_stock_manager |
| 상수·환경변수 | SCREAMING_SNAKE_CASE | PRODUCT_STOCK_MANAGER |
| CSS 클래스, HTML 속성, URL 경로 | kebab-case | product-stock-manager |
| DB 테이블·컬럼 (MySQL/PostgreSQL) | snake_case | product_stock_manager |
| 웹 자산 파일명 | kebab-case | product-stock-manager.js |
가장 흔한 작업 — API 응답과 코드 사이의 변환
실무에서 이 도구를 여는 순간은 대체로 정해져 있습니다. 파이썬·PHP 백엔드가 snake_case 로 JSON을 내려주는데 프런트는 camelCase 를 쓰는 상황, 또는 DB 컬럼 목록을 받아 자바스크립트 객체 키로 바꿔야 하는 상황입니다.
입력창에 붙여넣으면 14가지 형식이 동시에 나오므로 필요한 칸만 복사하면 됩니다. 다만 이 도구는 입력 전체를 하나의 문자열로 보고 단어를 나눕니다 — 줄바꿈도 단어 구분자가 되므로 여러 줄을 넣으면 전체가 하나의 camelCase 로 합쳐집니다. 한 줄씩 변환하는 것이 의도한 사용법입니다.
- 역방향도 됩니다 — camelCase 를 붙여넣으면 대문자 앞에서 단어를 끊어 snake_case 로 만들어 줍니다. 입력창 오른쪽에 몇 개 단어로 인식했는지 표시되니 그 숫자로 확인하세요.
- dot.case 는 설정 파일 키(spring.datasource.url)나 로그 네임스페이스에, path/case 는 URL 경로를 만들 때 씁니다.
- 역순(뒤집기)은 이모지·한글이 섞여도 깨지지 않게 코드 포인트 단위로 처리합니다.
약어가 섞이면 어떻게 되나
개발자들이 실제로 논쟁하는 지점입니다. HTTPServer 를 어떻게 나눌 것인가. 이 도구는 연속된 대문자 뒤에 대문자+소문자가 오면 거기서 끊습니다. HTTPServer 는 HTTP + Server 로, XMLHttpRequest 는 XML + Http + Request 로 인식합니다. 그래서 snake_case 는 http_server, camelCase 는 httpServer 가 됩니다.
결과가 항상 기대와 같지는 않습니다. userID 는 user + ID 로 잘 끊겨 user_id 가 나오지만, 대문자가 연달아 붙은 이름은 사람이 생각한 경계와 다르게 갈릴 수 있습니다. 약어가 많이 섞인 이름은 결과를 눈으로 확인하는 편이 낫습니다.
한글이 섞였을 때 벌어지는 일
한글에는 대소문자가 없습니다. 대문자 변환을 해도 그대로입니다. 그래서 이 도구는 한글을 손대지 않고 그대로 둡니다 — "상품 재고 관리"를 camelCase 로 바꾸면 "상품재고관리"가 됩니다.
한글과 영문이 붙어 있으면 단어 경계로 봅니다. "사용자Name"은 사용자 + Name 두 단어로 인식해 snake_case 에서 사용자_name 이 됩니다. 실무에서 이 조합을 만나는 곳이 있습니다.
- 기획서의 한글 항목명을 영문 변수명으로 옮기기 전, 구분자만 먼저 정리하는 중간 단계.
- 엑셀에서 받은 한글 컬럼 헤더를 임시 키로 만들 때 — 다만 최종 코드에 한글 식별자를 남기지는 마세요. 인코딩 문제로 도구·환경마다 다르게 깨질 수 있습니다.
- CSS 클래스나 URL 경로에 한글이 들어가면 브라우저는 처리하지만 퍼센트 인코딩되어 주소가 길어지고, 일부 빌드 도구가 처리하지 못합니다.
이 도구로 안 되는 것
기계적인 규칙만 적용하므로 문맥은 모릅니다. 한계를 정직하게 적어 둡니다.
- 제목형(Title Case)은 모든 단어의 첫 글자를 대문자로 만듭니다. 영어 표기법상 관사·전치사(a, the, of, in)는 소문자로 두는 것이 맞지만 그 구분은 하지 않습니다. 영문 제목을 정식으로 다듬으려면 손을 봐야 합니다.
- 문장형(Sentence case)은 마침표·느낌표·물음표 뒤를 문장의 시작으로 봅니다. "Dr. Kim" 같은 약어의 마침표도 문장 끝으로 오해합니다.
- 전체 대문자·소문자와 문장형을 제외한 나머지 형식은 원래 문장의 문장부호를 버립니다(구분자로만 쓰므로). 문장을 그대로 두면서 대소문자만 바꾸고 싶다면 UPPERCASE·lowercase·Sentence case 칸을 보세요.
자주 묻는 질문
한글도 변환되나요?
네, 변환할 수 있습니다. 다만 한글은 대소문자 개념이 없어 원문 그대로 유지됩니다. 이 도구의 장점은 '파일이름FileName'처럼 한글과 영문이 붙어 있을 때 이를 '파일이름_file_name'처럼 별개의 단어로 똑똑하게 인식하여 분리해주는 점입니다. 따라서 한글이 포함된 텍스트도 깨짐 걱정 없이 안전하게 변환할 수 있습니다.
입력한 텍스트 내용은 안전하게 처리되나요?
네, 안전합니다. 툴즈25시의 모든 도구는 사용자의 개인정보와 데이터 보안을 최우선으로 생각합니다. 대소문자 변환기에 입력한 어떤 내용도 저희 서버로 전송되거나 저장되지 않습니다. 모든 변환 과정은 100% 사용자의 웹 브라우저 내부에서만 이루어지므로, 외부에 유출될 염려 없이 안심하고 사용하셔도 좋습니다.
camelCase, snake_case는 무엇이고 언제 쓰나요?
주로 프로그래밍에서 변수나 함수의 이름을 정하는 규칙입니다. camelCase는 '첫 단어는 소문자, 이후 단어 첫 글자는 대문자(예: myVariableName)'로, JavaScript 등에서 널리 쓰입니다. snake_case는 '모든 단어를 소문자로 쓰고 언더스코어(_)로 연결(예: my_variable_name)'하며, Python이나 데이터베이스에서 자주 사용됩니다. 이 도구는 두 형식을 포함해 다양한 케이스를 한 번에 제공하여 여러 언어와 환경에 맞춰 코드를 작성할 때 편리합니다.
단어는 어떤 기준으로 나뉘나요?
공백이나 하이픈(-), 언더스코어(_)는 물론, 대소문자가 바뀌는 지점(예: 'myVariable'의 'my'와 'Variable')과 한글과 영문 경계(예: '데이터Code'의 '데이터'와 'Code')까지 모두 단어의 경계로 인식합니다. 덕분에 여러 형식으로 작성된 텍스트를 붙여넣어도 각 단어를 정확하게 분리하여 원하는 케이스로 깔끔하게 변환할 수 있습니다.