Letter Case Converter — UPPERCASE, lowercase, Title Case & camelCase
Convert text between UPPERCASE, lowercase, Title Case and Sentence case, or convert identifiers to camelCase, PascalCase, snake_case, kebab-case and CONSTANT_CASE. Everything runs in your browser — nothing is ever sent anywhere.
Your text is processed entirely in your browser and is never sent anywhere.
Result
How to use
- Paste or type your text or identifier into the box above.
- Pick a mode: basic ones like UPPERCASE and Title Case, or a programming naming convention like camelCase or snake_case.
- The "Result" box updates instantly. Use "Copy result" to paste it wherever you need it.
How it works
Basic modes (UPPERCASE / lowercase / Title Case / Sentence case)
These modes keep the original spacing, line breaks and punctuation exactly as they are, and only change the case of letters.
- UPPERCASE: converts every letter to uppercase.
- lowercase: converts every letter to lowercase.
- Title Case: capitalizes the first letter of each word (a run of letters, including apostrophes so contractions like "don't" aren't broken) and lowercases the rest. Digits and punctuation are left untouched.
- Sentence case: lowercases the whole text, then capitalizes only the first letter of the text and the first letter following each
.,!, or?.
Programming naming conventions (camelCase / PascalCase / snake_case / kebab-case / CONSTANT_CASE)
These modes first break the input into "words", then rebuild it in the chosen format. Because of this, any original spacing or line breaks are replaced by the target format's own separator (or no separator at all).
Words are split using these rules:
- A boundary is inserted wherever a lowercase letter (or digit) is immediately followed by an uppercase letter — e.g. between "r" and "N" in "userName".
- A boundary is inserted between a run of uppercase letters and a following "uppercase + lowercase" pair — e.g. between "HTTP" and "Server" in "HTTPServer".
- Underscores (_) and hyphens (-) are treated as separators.
The resulting words are then reassembled:
- camelCase: the first word stays lowercase; every later word is capitalized; everything is joined with no separator (e.g.
helloWorld). - PascalCase: every word is capitalized and joined with no separator (e.g.
HelloWorld). - snake_case: every word stays lowercase and is joined with underscores (e.g.
hello_world). - kebab-case: every word stays lowercase and is joined with hyphens (e.g.
hello-world). - CONSTANT_CASE: every word is uppercased and joined with underscores (e.g.
HELLO_WORLD).
Digits stay attached to the word before them and never split a word on their own (e.g. "item2Name" becomes the two words "item2" and "name").
FAQ
Is my text sent anywhere?
No. All conversion happens entirely inside your browser, and nothing is transmitted to a server. Once the page has loaded, it keeps working even offline.
Does Title Case break contractions like "don't"?
No. Apostrophes are treated as part of the word they appear in, so "don't" correctly becomes "Don't" rather than "Don'T".
Can I convert a camelCase variable name to snake_case?
Yes. Word boundaries are automatically detected in camelCase or PascalCase input like "userFirstName", which converts to "user_first_name" or any other naming convention. Underscore-, hyphen-, and space-separated input works the same way.
Does it correctly split identifiers with acronyms, like "HTTPServer"?
Yes. The boundary between a run of uppercase letters (an acronym like HTTP) and the word that follows (Server) is detected, so it's treated as two words: "HTTP" and "Server".
Does Sentence case work on non-English text?
Since most non-Latin scripts don't have separate uppercase and lowercase letters, this tool is mainly intended for English (Latin-alphabet) text. Applying it to text containing other scripts leaves those characters unchanged.
Related tools
- Character Counter — Manuscript Pages & Social Media LimitsCount characters and lines in real time, plus a 400-character manuscript-page estimate and UTF-8 byte size. Check whether your text fits X, Threads, Instagram, LinkedIn or Bluesky limits, or any custom limit you set. Everything runs in your browser — nothing is ever sent anywhere.
- Emoji Picker — Search by Name or Meaning, Copy in One ClickSearch over 210 emoji across 9 categories (smileys, gestures, animals, food, and more) by name or keyword, and copy them in one click. Your search terms and copied emoji are processed entirely in your browser — nothing is ever sent anywhere.
- Full-width / Half-width Converter — Numbers, Letters & KatakanaConvert numbers, letters, katakana and spaces between full-width and half-width forms, all at once. Handles half-width katakana voiced marks correctly (e.g. ガ → ガ). Everything runs in your browser — nothing is ever sent anywhere.
- Kaomoji Maker — Browse by Emotion, Copy in One ClickSearch Japanese emoticons (kaomoji) across 12 emotion and mood categories — happy, sad, angry, shy, and more — by keyword or category, and copy any of them with one click. Your search terms and copied kaomoji stay in your browser and are never sent anywhere.
- All tools