본문 바로가기

대소문자 변환

대문자, 소문자, Title Case, Sentence case와 모든 프로그래머용 표기법을 지원합니다. 다른 변환기가 틀리는 두 가지, 즉 제대로 된 제목 표기 규칙과 “i”가 “I”로 바뀌지 않는 언어까지 처리합니다.

  • 저장되지 않음
  • 대기열 없음, 기다림 없음
  • 회원가입 없음, 워터마크 없음
변환 형식
언어 규칙
변환 결과

여기에 변환 결과 내용이 표시돼요.

사용 방법

1

텍스트 붙여 넣기

구절, 목록, 변수 이름 등 무엇이든 됩니다.

2

형식 고르기

각 형식마다 예시가 나오므로 “kebab-case”가 어떤 모양인지 짐작할 필요가 없습니다.

3

결과 복사

한꺼번에 처리할 목록이 있다면 줄마다 따로 변환하세요.

각 형식이 적용하는 규칙

Title Case와 Sentence case는 이미 입력한 대문자를 정반대로 다루며, 사람들이 가장 많이 헷갈리는 부분이 바로 이것입니다. Title Case는 첫 글자 뒤에 대문자가 있는 단어(iPhone, NASA, McDonald)를 쓴 그대로 두고 나머지 단어만 판단합니다. Sentence case는 먼저 전체를 소문자로 바꾼 다음 마침표, 물음표, 느낌표, 말줄임표 뒤를 대문자로 바꾸므로, NASA는 Nasa가 되고 이를 막아 줄 예외 목록도 없습니다. Sentence case에는 약어 규칙도 없어서, 이 사이트의 단어 수 세기라면 문장을 나누지 않았을 “e.g. this”에도 대문자가 생깁니다. 약어가 많은 글이라면 Title Case가 안전하고, Sentence case는 변환 후 읽어 봐야 합니다.

기본 언어 설정은 ‘언어 없음’입니다. 목록에서 터키어, 아제르바이잔어, 리투아니아어, 그리스어를 고르지 않으면 대문자와 소문자 변환은 브라우저의 기본 규칙을 따르므로, 기본 설정으로 변환한 터키어 텍스트는 영어식 점 있는/없는 i로 나옵니다. 붙여 넣은 텍스트에 점 없는 ı나 점 있는 İ가 있으면 페이지가 이를 알아채고, 조용히 넘기지 않고 알려 드립니다. 독일어 ß가 SS가 된다는 경고는 가장 많이 쓸 두 형식인 대문자와 CONSTANT_CASE에 적용됩니다. 번갈아 쓰기와 대소문자 반전도 ß를 대문자로 바꾸지만 경고하지는 않습니다.

Title Case는 공백만을 기준으로 단어마다 판단하므로, 하이픈이나 슬래시로 이어진 것은 한 단어로 보고 대문자를 하나만 붙입니다. “mother-in-law”는 “Mother-in-law”가 됩니다. 프로그래머용 표기법은 완전히 다른 기준, 즉 대문자, 숫자, 공백, 밑줄, 하이픈, 점, 슬래시로 나누며, 연속된 대문자를 한 덩어리로 유지하는 규칙이 추가로 있습니다. 그 덕분에 XMLHttpRequest가 xmlhttp_request가 아니라 xml_http_request가 됩니다. 목록을 줄마다 변환할 때는 라인 피드로만 나누므로, Windows 파일의 캐리지 리턴은 각 줄 끝에 붙은 채로 결과에 그대로 따라갑니다.

다른 작업이 필요할 때

되돌릴 수 있어야 하는 것은 아예 대문자로 바꾸지 마세요. SS에서 ß로, 악센트 없는 그리스어 대문자에서 악센트 있는 원래 글자로, 중간 대문자가 필요했던 이름 목록으로 되돌아갈 방법은 없습니다. 정보가 숨겨진 것이 아니라 사라진 것이므로, 무엇을 변환하든 원본을 함께 보관하세요. 이 페이지의 한계가 아니라 대소문자 변환이라는 것 자체의 성질입니다.

붙여 넣은 텍스트가 아니라 파일이라면, 뻔한 명령줄 방법이 함정입니다. tr과 awk의 toupper는 ASCII 전용이어서 이름 목록의 영어 글자는 대문자로 바꾸지만 악센트 글자는 모두 그대로 둡니다. 목록을 조용히 망가뜨리면서도 잘 된 것처럼 보입니다. Python이나 Node 한 줄 코드는 유니코드에 맞게 올바르게 처리하며, 터키어, 아제르바이잔어, 리투아니아어, 그리스어에는 로케일을 받는 함수가 필요합니다. 이 페이지가 같은 이유로 제공하는 바로 그 네 언어입니다. 폴더의 파일 이름을 소문자로 바꾸는 것은 또 다른 일이며, macOS와 Windows의 기본값인 대소문자를 구분하지 않는 파일 시스템은 README와 readme를 같은 이름으로 취급합니다.

자주 묻는 질문

제 텍스트가 어딘가에 저장되나요?

아니요. 아무것도 저장하지 않고 어떤 요청도 보내지 않습니다. 페이지가 로드된 뒤에는 인터넷 연결을 끊어도 계속 작동합니다.

여기의 Title Case는 무엇이 다른가요?

모든 단어의 첫 글자를 대문자로 바꾸는 데 그치지 않고 실제 표기 규칙을 따릅니다. “the lord of the rings”는 “The Lord of the Rings”가 됩니다. 관사, 접속사, 짧은 전치사는 소문자로 두므로 “of”와 두 번째 “the”는 소문자로 남습니다. 첫 단어와 마지막 단어는 아무리 짧은 기능어라도 항상 대문자로 시작하므로 “of mice and men”은 “Of Mice and Men”이 됩니다. 대부분의 온라인 변환기는 “The Lord Of The Rings”를 만들어 내는데, 이를 인정하는 표기 지침은 어디에도 없습니다.

“iPhone”과 “NASA”는 왜 그대로 두었나요?

단어 중간에 대문자가 있다면 일부러 그렇게 쓴 것이기 때문입니다. “iPhone”을 “Iphone”으로, “NASA”를 “Nasa”로 바꾸면 틀리므로, 중간에 대문자가 있는 단어는 손대지 않고 그대로 둡니다.

터키어 옵션은 무엇에 쓰나요?

터키어와 아제르바이잔어에는 점 있는 i와 점 없는 i, 두 가지가 있습니다. 소문자 “i”는 점이 있는 “İ”로 대문자가 되고, “I”는 점 없는 “ı”로 소문자가 됩니다. 그래서 “istanbul”을 영어 규칙으로 대문자로 바꾸면 “ISTANBUL”이 되는데, 이는 도시 이름이 아닙니다. “İSTANBUL”이어야 합니다. 실제 버그의 원인으로 잘 알려진 문제이며, 그래서 언어를 짐작하지 않고 직접 고르게 합니다. 그리스어와 리투아니아어에도 고유한 규칙이 있으며, 둘 다 지원합니다.

camelCase를 snake_case로 바꿀 수 있나요?

네, 어느 방향이든 됩니다. camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case, dot.case, path/case를 서로 변환할 수 있습니다. 보통 여기서 문제가 생기는 약어도 제대로 처리합니다. “XMLHttpRequest”는 XML, Http, Request로 나뉘어 “xml_http_request”가 됩니다. 소문자에서 대문자로 바뀌는 지점에서만 나누는 변환기는 “xmlhttp_request”를 만들어 냅니다.

대문자로 바꿀 때 잃는 것이 있나요?

경우에 따라 있으며, 그럴 때는 경고해 드립니다. 독일어 “ß”는 대문자로 “SS”가 되고 자동으로 되돌릴 수 없습니다. “STRASSE”는 “Straße”였을 수도 “Strasse”였을 수도 있습니다. 그리스어는 대문자에서 악센트가 빠지는데, 그리스어로는 맞는 표기이지만 역시 되돌릴 수 없습니다.

참고: 두 가지 변환은 정보를 잃으며 되돌릴 수 없습니다. 독일어 ß는 대문자로 바꾸면 SS가 되고, SS는 그냥 두 글자일 수도 있으므로 되돌릴 방법이 없습니다. 터키어와 아제르바이잔어에는 점 있는 i와 점 없는 i가 있어 영어와 다르게 변환됩니다. 텍스트가 이 언어라면 언어를 선택하세요. 그렇지 않으면 i와 I가 잘못 바뀝니다.

내 웹사이트에 이 도구 넣기

블로그, 수업 페이지, 도움말 글 어디에나 무료로 넣을 수 있습니다. 코드 한 줄만 붙여 넣으면 방문자가 페이지에서 바로 사용할 수 있습니다.