대소문자 변환기

텍스트를 UPPER, lower, Title, Sentence, camelCase 등으로 변환합니다.

100% 비공개 — 전적으로 브라우저에서 실행됩니다. 데이터는 사용자의 기기에서 처리되며 인터넷으로 전송되지 않습니다.

대소문자 변환기 소개

이 무료 대소문자 변환기는 텍스트의 대소문자 표기를 바꿔 줍니다. 텍스트를 붙여 넣고 클릭 한 번으로 UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case로 전환하실 수 있습니다.

모든 처리는 브라우저 안에서 이루어지며 아무것도 업로드되지 않습니다. 이는 들리는 것보다 훨씬 중요합니다. 표기를 바꿔야 하는 텍스트는 흔히 고객 이름이 담긴 열, 이메일 주소 목록, 데이터베이스 내보내기 파일이기 때문입니다.

각 표기와 어울리는 상황

UPPERCASE — 모든 글자를 대문자로. 짧은 레이블과 약어에 좋습니다. 몇 단어를 넘어가는 글에는 좋지 않습니다. 대문자는 단어의 모양을 지워 버리는데, 읽는 사람은 단어를 부분적으로 그 윤곽으로 식별하므로 전부 대문자인 문장은 측정 가능할 만큼 더 느리게 읽힙니다. 스크린 리더는 길고 대문자로 된 단어를 한 글자씩 읽어 주기도 하며, 메시지에서는 소리를 지르는 것처럼 읽힙니다.

lowercase — 모두 소문자로. 비교하기 전에 데이터를 정규화할 때, 그리고 태그, 슬러그, 이메일 주소에 유용합니다.

Sentence case — 문장의 첫 글자만 대문자로 하고 나머지는 쓰인 그대로 둡니다. 평범한 산문의 방식이며, 읽기 쉽고 번역하기도 쉬워서 제목과 UI 레이블에서도 점점 표준이 되고 있습니다.

Title Case — 대부분의 단어를 대문자로 시작합니다. 영어 기사 제목과 책 제목에서 전통적으로 쓰입니다. 문제는 정확한 규칙이 어느 스타일 가이드를 따르느냐에 따라 달라진다는 점입니다.

camelCase — firstNameField. 공백 없이 단어를 붙이고, 첫 단어를 제외한 각 새 단어의 첫 글자를 대문자로 합니다. JavaScript, Java, C#에서 변수와 함수의 표준입니다.

PascalCase — FirstNameField. 같은 방식이지만 첫 단어도 대문자로 시작합니다. React 컴포넌트를 포함해 대부분의 언어에서 클래스와 컴포넌트 이름에 사용합니다.

snake_case — first_name_field. 단어를 밑줄로 잇습니다. Python과 Ruby의 표준이며, SQL 열 이름에서는 거의 보편적입니다.

kebab-case — first-name-field. 단어를 하이픈으로 잇습니다. URL, CSS 클래스, HTML 속성, 파일 이름에 사용합니다. 하이픈은 안전하지만 밑줄은 불편한 모든 곳이 해당됩니다.

Title Case가 보기보다 어려운 이유

스타일 가이드가 둘이면 같은 제목에서 서로 다른 결과가 나옵니다.

문제는 어떤 짧은 단어를 소문자로 둘지 정하는 것입니다. AP 스타일에서는 세 글자 이하의 단어는 제목의 처음이나 끝에 오지 않는 한 소문자로 둡니다. 시카고 스타일에서는 관사(a, an, the), 등위 접속사(and, but, or), 그리고 모든 전치사가 길이와 무관하게 소문자로 남습니다. 그래서 Between은 시카고에서는 소문자로 남지만 AP에서는 대문자가 됩니다.

두 스타일이 일치하는 점은 두 가지입니다. 첫 단어와 마지막 단어는 항상 대문자로 시작할 것, 그리고 목록에 없는 나머지는 전부 대문자로 시작할 것입니다.

그리고 어떤 자동 변환기도 제대로 처리할 수 없는 단어들이 있습니다. 무엇을 의도했는지 알아야 하기 때문입니다. iPhone은 소문자 i를 지켜야 합니다. eBay, macOS, PhD, NASA, iOS는 모두 형태가 고정되어 있습니다. 어떤 변환기든 그중 일부를 뭉개 놓기 마련이므로, Title Case로 바꾼 제목은 내보내기 전에 늘 사람이 한 번 읽어 볼 가치가 있습니다.

프로그래밍에 표기 방식이 이렇게 많은 이유

무의미한 편 가르기처럼 보이지만 그렇지 않습니다. 식별자에는 공백이 들어갈 수 없기에 모든 언어가 단어를 잇는 방식을 하나 정해야 했고, 그 선택이 그대로 굳어진 것입니다.

오늘날 각각이 쓰이는 곳:

  • JavaScript / TypeScript — 변수와 함수에는 camelCase, 클래스와 React 컴포넌트에는 PascalCase, 파일 이름과 CSS에는 kebab-case
  • Python — 변수와 함수에는 snake_case, 클래스에는 PascalCase
  • Java / C# — 변수에는 camelCase, 클래스와 메서드에는 PascalCase
  • SQL — 테이블과 열에는 snake_case. 많은 데이터베이스가 따옴표 없는 이름을 어차피 소문자로 바꾸기 때문입니다
  • CSS / HTML — 전반적으로 kebab-case
  • 상수 — 거의 모든 언어에서 UPPER_SNAKE_CASE
  • URL — kebab-case. 검색 엔진이 하이픈을 단어 구분자로, 밑줄을 연결자로 취급하기 때문입니다

변환기의 실질적인 가치는 이들 사이를 오가는 데 있습니다. snake_case 데이터베이스 열은 백 군데에서 camelCase JavaScript 속성이 되고, 이를 손으로 옮기는 과정에서 오타가 생깁니다.

터키어 i, 그리고 다른 함정들

대소문자를 바꾸는 일은 언제나 되돌릴 수 있는 것이 아니며, 때로는 안전하지도 않습니다.

점 없는 i. 터키어와 아제르바이잔어에서 대문자 I는 소문자로 바꾸면 ı(점 없음)가 되고, i는 대문자로 바꾸면 İ(점 있음)가 됩니다. 터키어 시스템에서 문자열을 소문자로 바꾼 뒤 "identifier"와 비교하다가 실제 소프트웨어가 망가진 사례가 있습니다. 별도의 이름이 붙을 만큼 잘 알려진 버그입니다.

독일어 ß. ß의 대문자는 역사적으로 SS였기 때문에 STRASSE를 소문자로 바꿔도 straße로 돌아오지 않습니다. 대문자 ẞ가 이제 존재하지만 어디서나 쓰이지는 않습니다.

소문자로 바꾸면 약어가 파괴됩니다. NASA는 nasa가 되고, 어떤 변환기도 이를 복원할 수 없습니다. 약어와 소리쳐 쓴 단어를 구분할 수 없기 때문입니다.

대소문자 무시가 보편적인 것은 아닙니다. 도메인 이름은 대소문자를 구분하지 않지만 그 뒤의 경로는 구분합니다. /About과 /about은 서로 다른 페이지일 수 있습니다. 이메일도 마찬가지로 도메인 쪽은 구분하지 않지만 @ 앞부분은 기술적으로 구분합니다. 다만 대부분의 제공업체는 구분하지 않는 것처럼 다룹니다.

사용 방법

  • 상자에 텍스트를 입력하거나 붙여 넣습니다
  • 표기 버튼을 클릭해 변환합니다
  • 결과를 복사합니다

알아 두면 좋은 점

  • 소문자로 바꾸면 정보가 영구히 사라집니다. 이름과 약어의 대문자는 나중에 되살릴 수 없습니다. 다시 필요할 수 있다면 원본을 보관하십시오.
  • Title Case는 사람이 확인해야 합니다. iPhone, eBay, macOS, PhD 등 형태가 고정된 모든 단어가 대상입니다.
  • 제목에서는 Sentence case가 우세해지고 있습니다. 현대의 스타일 가이드 대부분이 이제 이쪽을 선호합니다. 더 빨리 읽히고 번역에도 더 잘 견딥니다.
  • 긴 글에 전부 대문자를 쓰지 마십시오. 읽는 속도가 느려지고, 스크린 리더를 혼란스럽게 할 수 있으며, 메시지에서는 소리 지르는 것으로 읽힙니다.
  • URL에는 snake_case가 아니라 kebab-case를 쓰십시오. 검색 엔진은 하이픈에서 단어를 나누지만, 밑줄은 단어를 붙여 버립니다.
  • 악센트 문자가 온전한지 확인하십시오. 유니코드를 제대로 다루지 못하는 변환기는 é, ü, ñ를 망가뜨립니다. 이 도구는 이를 올바르게 처리합니다.

자주 묻는 질문

Title Case와 Sentence case의 차이는 무엇인가요?

Sentence case는 일반적인 글쓰기처럼 첫 단어만 대문자로 시작합니다. 예: "How to convert text case". Title Case는 대부분의 단어를 대문자로 시작합니다. 예: "How to Convert Text Case". 영어 기사 제목과 책 제목은 전통적으로 Title Case를 쓰지만, 요즘은 제품과 문서 스타일 가이드 대부분이 Sentence case를 선호합니다. 더 빨리 읽히고 번역도 더 깔끔하게 되기 때문입니다.

camelCase란 무엇이며 PascalCase와 어떻게 다른가요?

둘 다 공백 없이 단어를 잇고 새 단어마다 첫 글자를 대문자로 합니다. camelCase는 첫 단어를 소문자로 두고(firstName), PascalCase는 첫 단어도 대문자로 합니다(FirstName). 관례상 camelCase는 변수와 함수의 이름에, PascalCase는 클래스, 타입, React 컴포넌트의 이름에 씁니다.

URL에는 어떤 표기를 써야 하나요?

kebab-case입니다. /free-online-tools처럼 소문자 단어를 하이픈으로 잇습니다. Google은 하이픈을 단어 구분자로, 밑줄을 연결자로 취급하므로 image_resizer는 한 단어로 읽힐 수 있는 반면 image-resizer는 두 단어로 읽힙니다. 소문자인 점도 중요합니다. 대부분의 서버에서 URL 경로는 대소문자를 구분하기 때문입니다.

데이터베이스 열에는 어떤 표기를 써야 하나요?

snake_case가 거의 보편적인 관례입니다(first_name, created_at). 대부분의 데이터베이스가 따옴표 없는 식별자를 소문자로 바꾸는 방식과 잘 맞고, 이름을 따옴표로 감쌀 필요도 없습니다. 그런 다음 보통 애플리케이션 계층에서 camelCase로 변환하는데, 이것이 변환기를 찾게 되는 가장 흔한 이유 중 하나입니다.

Title Case에서 일부 단어가 잘못 나오는 이유는 무엇인가요?

변환기가 그 단어가 무엇인지 알 수 없기 때문입니다. iPhone, eBay, macOS, NASA는 어떤 대문자 규칙으로도 예측할 수 없는 고정된 형태를 가지고 있습니다. 어떤 짧은 단어를 소문자로 둘지에 대해서도 스타일 가이드마다 의견이 갈립니다. AP는 세 글자 이하 단어를 소문자로 두고, 시카고는 길이와 상관없이 관사, 접속사, 전치사를 소문자로 둡니다. Title Case로 바꾼 제목은 게시하기 전에 반드시 읽어 보십시오.

제 텍스트가 서버로 전송되나요?

아니요. 변환은 전적으로 브라우저 안에서 이루어지므로 붙여 넣으신 내용은 기기를 벗어나지 않고 아무것도 저장되지 않습니다. 이곳에서 내보낸 고객 목록이나 이메일 주소의 표기를 바꾸는 일이 잦으므로 알아 두실 만합니다.

관련 도구

비디오 튜토리얼

새로운 도구를 꾸준히 추가하고 있습니다 — 공개될 때 알림을 받으려면 YouTube에서 구독하세요.

다른 도구

전체 보기

추천 앱

전체 보기