0
Words
0
Characters
0
No spaces
0
Lines
0
Paragraphs
0
Sentences
0 min
Reading time
Input text
Converted output

대소문자 변환기: UPPER, lower, Title, snake_case 온라인

텍스트를 붙여 넣고, 케이스를 클릭하고, 결과를 복사하세요. 9가지 케이스 스타일, 완전한 Unicode 지원, 데이터는 브라우저 밖으로 나가지 않습니다.

대소문자 변환기란?

텍스트 블록을 9가지 케이스 스타일(UPPERCASE, lowercase, Title Case, Sentence case, snake_case, camelCase, PascalCase, kebab-case, CONSTANT_CASE) 사이에서 변환하는 무료 브라우저 도구입니다. 한 번 붙여 넣고, 원하는 케이스를 클릭한 뒤, 결과를 복사하세요. 데이터는 사용자의 기기 밖으로 나가지 않습니다.

Excel의 UPPER, LOWER, PROPER 함수와 Microsoft Word의 "대/소문자 바꾸기" 메뉴, 그리고 lodashchange-case npm 패키지로 처리하던 프로그래머용 스타일을 한 화면에 모은 것이라고 보면 됩니다. 단일 UI, 설치 불필요.

내부적으로는 String.prototype.toLowerCase, toUpperCase, 그리고 로케일 인지 변환을 위해 toLocaleLowerCase / toLocaleUpperCase를 사용합니다(Turkish I 점, German ß, Greek 끝자리 시그마). 식별자 스타일은 단어 경계(_, -, 공백, 소문자에서 대문자로의 전환)에서 분리한 뒤 각 단어의 케이스를 다시 적용합니다.

변환이 실제로 어떻게 동작하는가

9가지 중 두 가지는 순수한 글자 변환입니다. UPPERCASE는 브라우저 로케일로 String.prototype.toLocaleUpperCase를 호출하고, lowercase는 toLocaleLowerCase를 호출합니다. 로케일 인지 버전이 중요한 이유는 MDN의 toLocaleUpperCase 레퍼런스가 터키어 예외를 명시하기 때문입니다. tr-TR에서 소문자 iİ(점 있음)로, 대문자 Iı(점 없음)로 변환됩니다. 로케일 비대응 버전은 터키어에서 이를 잘못 처리합니다.

Title Case와 Sentence case는 좀 더 일이 많습니다. Sentence case는 모두 소문자로 만든 뒤 각 문장의 첫 글자를 대문자로 바꿉니다(., !, ?로 분할). Title Case는 a, an, the, and, or, of, in 같은 짧은 관사·전치사·접속사를 제외하고 각 단어의 첫 글자를 대문자로 바꿉니다. 제목의 첫 단어와 마지막 단어는 항상 대문자로 시작합니다. AP와 Chicago 스타일은 어떤 전치사를 건너뛰는지에서 차이가 있고, 여기서는 합리적인 기본값을 채택해 FAQ에 목록을 적어 두었습니다.

식별자 스타일 5가지(snake_case, camelCase, PascalCase, kebab-case, CONSTANT_CASE)는 동일한 정규화기를 공유합니다. 텍스트는 언더스코어, 하이픈, 공백, 마침표, 또는 소문자에서 대문자로의 전환 중 어떤 것이든 만나면 단어로 분할됩니다(userProfileNameuser, profile, name으로 나뉩니다). 각 단어를 소문자로 만든 뒤 목표 구분자와 케이스 규칙으로 다시 합칩니다. 이는 npm의 change-case 패키지가 취하는 방식과 동일합니다.

세 단계로 케이스 변환

한 패널, 한 번의 클릭, 한 가지 결과. 가입도 업로드도 없습니다.

  1. 1

    텍스트 붙여 넣기

    입력 패널에 텍스트를 넣으세요. 한 줄짜리 문구, CSV 헤더 열, 식별자, 여러 줄 단락 어떤 것이든 됩니다. 변환 결과를 먼저 나란히 보고 싶다면 Sample 버튼이 작은 예시를 채워 줍니다.

  2. 2

    케이스 버튼 클릭

    UPPERCASE, lowercase, Title Case, Sentence case, snake_case, camelCase, PascalCase, kebab-case, CONSTANT_CASE 중 하나를 고르세요. 결과는 출력 패널에 즉시 표시됩니다. 원본 입력은 보존되어 다시 붙여 넣지 않고도 다른 스타일을 시도할 수 있습니다.

  3. 3

    결과 복사

    Copy를 클릭하면 변환된 텍스트가 클립보드에 들어갑니다. Download를 클릭하면 .txt 파일로 저장됩니다. 두 버튼 모두 로컬에서 동작하며 업로드는 없습니다.

대소문자 변환기가 적합한 상황

SQL 적재용 CSV 헤더 정리

First Name, Date Of Birth, Customer ID 같은 헤더로 스프레드시트를 내보냈는데 Postgres에서는 first_name, date_of_birth, customer_id 형태가 필요할 때, 헤더 행을 붙여 넣고 snake_case를 클릭하면 따옴표 없이 CREATE TABLE 문에 곧바로 들어갈 수 있는 식별자에 적합한 형태가 나옵니다.

제목을 URL 슬러그로

"Why We Switched from MongoDB to Postgres" 같은 블로그 제목은 kebab-case에서 why-we-switched-from-mongodb-to-postgres가 됩니다. 이는 Google의 URL 구조 문서가 권장하는 URL 규칙입니다. 문장부호는 사라지고, 공백은 하이픈이 되며, 케이스가 정규화됩니다. 제목을 붙이고 kebab-case를 누른 뒤 CMS에 붙여 넣으면 됩니다.

Python 식별자를 JavaScript용으로 바꾸기

user_profile_namecreated_at을 반환하는 Python 백엔드의 응답 필드명을 userProfileNamecreatedAt을 선호하는 TypeScript 프론트엔드로 옮긴다고 해 봅시다. snake_case 식별자를 붙여 넣고 camelCase를 클릭하면 분할기가 언더스코어 경계를 정확히 처리합니다. 반대 방향도 같은 방식으로 동작합니다.

레거시 스키마의 SQL 식별자 정리

오래된 Oracle 스키마는 식별자가 CONSTANT_CASE입니다: USER_PROFILE_NAME, ORDER_LINE_ITEM_ID. Postgres 관습은 언더스코어가 들어간 소문자입니다. 컬럼 목록을 붙이고 snake_case를 클릭하면 Postgres 친화적인 형태가 나옵니다. 분할기는 기존 언더스코어를 존중하므로 여러 단어로 된 식별자도 단어 단위로 정확히 분리된 상태로 유지됩니다.

책·노래 제목 목록에 Title Case 적용

"the great gatsby", "TO KILL A MOCKINGBIRD", "Of mice And men" 같이 케이스가 섞인 제목 목록을 모았다고 해 봅시다. 붙여 넣고 Title Case를 클릭하면 관사와 짧은 전치사는 소문자로 두면서 올바르게 대문자화된 제목이 나옵니다("To Kill a Mockingbird"). Word의 "대/소문자 바꾸기" 메뉴를 행마다 여는 것보다 빠릅니다.

온통 대문자로 외친 이메일 답장 정리

누군가 지원 스레드에 모두 대문자로 답장했습니다. 메시지를 붙이고 Sentence case를 클릭하면 읽기 좋게 바뀝니다: 각 문장의 첫 글자만 대문자, 나머지는 소문자. 그런 다음 Copy를 누르고 사람이 인상 쓰지 않고 읽을 수 있는 형태로 답장하세요.

케이스 스타일 빠른 참조

이 도구가 노출하는 9가지 스타일과 알아 둘 만한 Unicode 함정을 짧게 정리한 치트시트입니다. 예시는 적절한 곳에 <code>userProfileName</code> 또는 "the quick brown fox"를 사용합니다.

TopicWhat this tool does
UPPERCASE모든 글자를 대문자로. USERPROFILENAME, THE QUICK BROWN FOX. String.prototype.toLocaleUpperCase가 기반입니다. SQL 키워드, CSS의 text-transform: uppercase, YAML 환경 변수 기본값에서 흔합니다.
lowercase모든 글자를 소문자로. userprofilename, the quick brown fox. String.prototype.toLocaleLowerCase가 기반입니다. 이메일 주소, 호스트명, 대소문자 구분 없는 검색 키에 쓰입니다.
Title Case의미 있는 단어의 첫 글자를 대문자로, 짧은 관사와 전치사는 소문자로 둡니다. "The Quick Brown Fox Jumps Over the Lazy Dog". 제목의 첫 단어와 마지막 단어는 항상 대문자로 시작합니다. AP와 Chicago는 다섯 글자 이상의 전치사에서 다릅니다.
Sentence case각 문장의 첫 글자를 대문자, 나머지는 소문자. "The quick brown fox jumps over the lazy dog." ., !, ?로 분할합니다. 외치는 듯한 전체 대문자 텍스트를 정리하거나 혼합 케이스를 정규화할 때 유용합니다.
snake_case단어를 언더스코어로 잇고 모두 소문자. user_profile_name. Python의 함수·변수 관습(PEP 8). Postgres의 식별자 관습. Ruby, Rust, SQL 식별자에서 흔합니다.
camelCase구분자 없이 잇고 첫 단어는 소문자, 이후 단어는 대문자로 시작. userProfileName. JavaScript와 Java의 변수·메서드 관습. 대부분의 JS 네이티브 API에서 JSON 객체 키로 사용됩니다.
PascalCase구분자 없이 잇고 첫 단어를 포함해 모든 단어를 대문자로 시작. UserProfileName. Java, C#, Python, Rust, TypeScript의 클래스명 관습. UpperCamelCase라고도 합니다.
kebab-case단어를 하이픈으로 잇고 모두 소문자. user-profile-name. CSS 셀렉터·속성의 관습. URL 슬러그 관습(SEO에서 Google이 선호). 명세상 HTML 속성 관습이기도 합니다(다만 DOM 프로퍼티에서는 camelCase로 노출).
CONSTANT_CASE단어를 언더스코어로 잇고 모두 대문자. USER_PROFILE_NAME. C, Java, JavaScript의 컴파일 타임 상수 관습. 환경 변수(DATABASE_URL, NODE_ENV)와 SQL 키워드에서 흔합니다.
Unicode 함정Turkish 점 있는/없는 I(iİ, Iı), 독일어 ß는 대문자에서 SS로, 그리스어 끝자리 시그마 ς는 단어 끝에만 나타납니다. 이런 경우엔 항상 로케일 인지 메서드를 쓰세요. 더 넓은 개요는 Wikipedia의 "대문자와 소문자"를, 식별자 역사는 Snake case / Camel case를 참조하세요.

대소문자 변환기: 자주 묻는 질문

터키어, 독일어, 그리스어에 대해 로케일 인지 케이스 변환을 지원하나요?

네. UPPERCASE와 lowercase는 브라우저 로케일로 String.prototype.toLocaleUpperCasetoLocaleLowerCase를 사용합니다. 터키어에서는 iİ(점 있음)로, Iı(점 없음)로 바뀝니다. 이는 Unicode Technical Standard #21의 Unicode 규칙을 따릅니다. 독일어 ß는 소문자에서는 그대로, 대문자에서는 SS가 됩니다. 그리스어 끝자리 시그마 ς도 올바르게 처리됩니다.

Title Case는 어떤 단어를 건너뛸지 어떻게 결정하나요?

Title Case는 짧은 관사·전치사·접속사를 소문자로 둡니다: a, an, the, and, or, but, nor, for, of, in, on, at, to, by, as, vs. 제목의 첫 단어와 마지막 단어는 항상 대문자로 시작합니다. AP와 Chicago는 경계 사례에서 다릅니다(Chicago는 다섯 글자 이상의 전치사를 대문자로, AP는 그렇지 않음). 다양한 입력에서 가장 일관된 결과가 나오기 때문에 AP에 가까운 짧은 목록을 사용합니다.

camelCase와 PascalCase의 차이는 무엇인가요?

둘 다 단어를 구분자 없이 결합하지만 첫 글자에서 다릅니다. camelCase는 첫 단어를 소문자로 둡니다: userProfileName. PascalCase는 첫 단어를 포함해 모든 단어를 대문자로 시작합니다: UserProfileName. 관습은 언어에 따라 다릅니다. Java는 메서드와 변수에 camelCase, 클래스명에 PascalCase를 씁니다. Python의 PEP 8은 함수에 snake_case, 클래스에 PascalCase를 씁니다. Google의 JavaScript 스타일 가이드는 클래스 외 모든 곳에 camelCase를 씁니다.

명명 규칙 사이에서 프로그래밍 식별자를 변환할 수 있나요?

네. 식별자 스타일 5가지(snake_case, camelCase, PascalCase, kebab-case, CONSTANT_CASE)는 동일한 단어 분할기를 사용하며, 언더스코어, 하이픈, 공백, 마침표, 소문자에서 대문자로의 전환에서 분리합니다. 따라서 userProfileName, user_profile_name, user-profile-name, USER_PROFILE_NAME 모두 동일한 세 단어로 나뉘고, 다섯 가지 스타일 사이에서 깔끔하게 변환됩니다. 이는 npm change-case 패키지와 lodash의 _.kebabCase 계열의 동작과 일치합니다.

Unicode와 비-ASCII 텍스트도 처리하나요?

네. 변환에는 로케일 인지 문자열 메서드를 사용하므로, 악센트가 있는 라틴 문자(é, ñ, ü), 그리스어, 키릴 문자, Turkish 점 있는/없는 I, German ß 등 대부분의 문자 체계가 올바르게 처리됩니다. case folding(동등성 비교용, 예: String.prototype.normalize + 소문자화)과 case mapping(표시용)의 차이를 알아 두세요. 여기서 하는 것은 case mapping입니다. 로케일을 가로지르는 동등성 비교에는 localeCompare{ sensitivity: 'base' }와 함께 쓰는 편이 더 적합할 수 있습니다.

입력 크기에 제한이 있나요?

몇 MB까지는 1초도 안 되어 처리됩니다. 10 MB를 넘어가면 브라우저가 무거워지기 시작하는데, 이는 변환 자체가 느려서가 아니라 긴 문자열을 출력 패널에 다시 그리는 비용이 크기 때문입니다. 더 큰 파일에는 CLI를 쓰세요: bash의 tr '[:upper:]' '[:lower:]', Python의 str.upper() / str.lower() / str.title(), 또는 표시 전용이라면 CSS의 text-transform 속성도 있습니다.

개인정보와 동작 방식

텍스트는 절대 브라우저 밖으로 나가지 않습니다. 모든 변환은 JavaScript의 String 프로토타입에 내장된 표준 String 메서드를 사용해 사용자의 기기에서 로컬로 실행됩니다. 입력에 대한 분석도, 로그도, 서버 왕복도 없습니다. 우리가 따르는 Unicode 규칙은 Unicode Technical Standard #21 (Case Mappings)에서 가져왔으며, 이는 브라우저 엔진이 직접 구현하는 표준과 동일합니다.