Uppercase to Lowercase
Text ToolsConvert text between lowercase, uppercase, title case, sentence case, and programming cases like camelCase with proper Unicode handling.. Free, private — all processing in your browser.
The Uppercase to Lowercase tool converts text between every common case convention in one interface: lowercase, UPPERCASE, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, and inverse case. Each case serves a different purpose. Lowercase normalizes for case-insensitive comparison. UPPERCASE emphasizes or matches constants. Title Case formats headings. camelCase and snake_case are programming identifier conventions. The tool handles them all from one input so you can pick the right output for your context.
Unicode handling is correct throughout. German ß uppercases to SS (or to the uppercase ẞ in modern convention) correctly. Turkish dotted i uppercases to dotted İ. Latin accents preserve their diacritics. Greek, Cyrillic, and other non-Latin scripts convert according to Unicode case mapping rules. Everything runs in your browser, so case-sensitive data (email addresses where the local part is technically case-sensitive, SQL identifiers in case-sensitive databases, or legal documents with specific formatting) stays private to your machine.
Uppercase to Lowercase — key features
Every common case
Lowercase, UPPERCASE, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, inverse case.
Unicode correct
Handles German ß, Turkish dotted i, accented letters, and non-Latin scripts per Unicode case mapping rules.
Locale-aware
Optional Turkish locale mode for correct i/I conversion; English default for everything else.
Word boundary detection
Programming case conversions detect word boundaries intelligently from camelCase, snake_case, or spaces.
Title case modes
Naive (capitalize every word) or style-guide-aware (AP/Chicago rules skipping articles and prepositions).
Live preview
All case variants update simultaneously as you type — see the result before choosing.
Acronym handling
Preserves acronyms when converting between cases, so "HTTPServer" becomes "http-server" not "h-t-t-p-server".
Client-side only
Text stays in your browser — safe for sensitive content.
How to use the Uppercase to Lowercase
- 1
Paste your text
Drop any text — a word, sentence, identifier, or paragraph — into the input.
- 2
See all case variants
Every common case appears simultaneously below the input.
- 3
Pick your preferred style
Click the case variant that matches your need.
- 4
Optional — set locale or style rules
Turkish locale for i/I handling; style-guide mode for title case.
- 5
Copy the result
One-click copy the chosen case variant to clipboard.
Common use cases for the Uppercase to Lowercase
Writing and editing
- →Heading capitalization: Convert article headings to proper title case following AP or Chicago style rules.
- →SHOUTING to normal: Convert an all-caps email rant to sentence case before replying professionally.
- →Pasted formatting cleanup: Normalize capitalization in content copied from PDFs or OCR where case may be inconsistent.
Development
- →Identifier conversion: Convert between snake_case (Python, Ruby) and camelCase (JavaScript, Java) when porting code.
- →CSS class naming: Turn descriptive names into kebab-case class names matching BEM or Tailwind conventions.
- →Environment variable names: Convert mixed-case variable names to CONSTANT_CASE for .env files.
Data processing
- →Database column normalization: Convert column names between snake_case (PostgreSQL convention) and camelCase (ORM typical output).
- →Email normalization: Lowercase email addresses before deduplication to ensure case-insensitive matching.
- →Search index preparation: Normalize text case before building a search index for consistent matching.
Uppercase to Lowercase — examples
Simple case conversions
A sentence shown in every common case.
Hello World
lowercase: hello world UPPERCASE: HELLO WORLD Title Case: Hello World Sentence case: Hello world camelCase: helloWorld PascalCase: HelloWorld snake_case: hello_world kebab-case: hello-world CONSTANT_CASE: HELLO_WORLD
Programming identifier
Converting camelCase to multiple programming conventions.
getUserByEmail
snake_case: get_user_by_email kebab-case: get-user-by-email PascalCase: GetUserByEmail CONSTANT: GET_USER_BY_EMAIL
Acronym preservation
HTTPServer converts cleanly.
HTTPServer
snake_case: http_server kebab-case: http-server (not h_t_t_p_server)
Turkish locale
Correct i/I handling for Turkish.
Istanbul (Turkish locale, to lowercase)
default locale: istanbul Turkish locale: ıstanbul (dotless)
Title case with style
Article and preposition handling.
the quick brown fox jumps over the lazy dog
naive: The Quick Brown Fox Jumps Over The Lazy Dog AP style: The Quick Brown Fox Jumps Over the Lazy Dog (second "the" lowercase)
Technical details
Case conversion is more nuanced than it looks. JavaScript\u2019s toLowerCase and toUpperCase handle basic Latin correctly, but there are edge cases.
Turkish locale: the letter i in Turkish has a dotted and dotless variant. toLowerCase(\"I\") returns \"i\" in the default locale but should return \"ı\" (dotless) in Turkish locale. Similarly toUpperCase(\"i\") returns \"I\" by default but \"İ\" in Turkish. Use toLocaleLowerCase(\"tr\") and toLocaleUpperCase(\"tr\") for Turkish text.
German sharp s (ß): lowercase-only historically; modern Unicode defines ẞ (uppercase) as equivalent. toUpperCase(\"ß\") returns \"SS\" by default (traditional convention), not \"ẞ\". For strict Unicode 5.1+ handling, use a case-mapping-aware library.
Combining marks: decomposed forms (\"e\" + combining acute) may lowercase differently than precomposed (\"é\"). Normalize to NFC before case operations for consistency.
Programming case conversions:
- camelCase: first word lowercase, subsequent words capitalized, no separators (getUserName)
- PascalCase: all words capitalized (GetUserName)
- snake_case: all lowercase with underscores (get_user_name)
- kebab-case: all lowercase with hyphens (get-user-name)
- CONSTANT_CASE: all uppercase with underscores (GET_USER_NAME)
Conversion between these requires word segmentation. Identifying word boundaries in existing identifiers uses heuristics: camelCase breaks at lowercase-to-uppercase transitions; snake_case and kebab-case break at separators; runs of uppercase are treated as acronyms (\"XMLParser\" → \"xml-parser\" or \"XML Parser\").
Title case: the naive approach capitalizes every word. Proper title case follows style guide rules (AP, Chicago) that skip articles and prepositions. The tool offers both modes — naive and style-guide-aware.
Sentence case: capitalize the first character of each sentence. Sentence detection uses regex on sentence-ending punctuation with heuristics to avoid false splits on abbreviations.
Inverse case: swap every uppercase with its lowercase and vice versa. Mainly useful for decorative or visual effects.
Performance: case conversion is O(n) and fast. Multi-megabyte text converts in milliseconds.
Common problems and solutions
⚠Turkish i not handled
In Turkish, the letter I uppercase has two forms: İ (dotted) and I (dotless). toUpperCase in default locale gives wrong result for Turkish text. Use the Turkish locale option or toLocaleUpperCase("tr") in code.
⚠German ß uppercase
Traditionally ß uppercases to SS. Modern Unicode (5.1+) defines ẞ as the uppercase. The tool uses the traditional SS by default — switch to Unicode mode for ẞ.
⚠Combined characters split
Decomposed characters (e + combining acute) may case differently than precomposed (é). Normalize to NFC before case operations for consistency.
⚠Acronyms lost in camelCase conversion
URLParser might become urlParser (correct) or uRLParser (wrong). The tool detects runs of uppercase followed by lowercase and treats as acronym boundaries.
⚠Title case rules vary
AP style, Chicago, and MLA have different rules about which words to capitalize. The tool offers AP as default; switch to naive (everything capitalized) or Chicago if needed.
⚠Sentence case misses abbreviations
Sentence boundary detection can misidentify "Dr. Smith" or "U.S." as sentence endings. Review output for accuracy on text with many abbreviations.
⚠Number handling in identifiers
httpServer2 converts to http_server_2 or http_server2 depending on convention. Pick the rule that matches your downstream code style.
Uppercase to Lowercase — comparisons and alternatives
Compared to text editor case transformation shortcuts (VS Code Ctrl+Shift+U for uppercase), this tool provides every case at once and handles programming case conversions (camelCase, snake_case) that editors rarely offer directly.
Compared to programming language built-ins (Python str.lower(), JavaScript toLowerCase()), this tool is faster for one-off interactive use. For automation, always use the built-in string method with appropriate locale handling.
Compared to case-converter libraries (change-case, camelcase in npm), this tool is the no-install version of the same functionality. Libraries are still better for code where consistent behavior and testability matter.
Frequently asked questions about the Uppercase to Lowercase
▶How do I convert text to lowercase?
Paste your text and click the lowercase variant in the output. All characters become lowercase — the tool handles German ß, accented letters, and Unicode correctly.
▶What is camelCase vs PascalCase?
camelCase starts with a lowercase letter and capitalizes subsequent words: getUserName. PascalCase capitalizes the first letter too: GetUserName. camelCase is common in JavaScript and Java variable names; PascalCase is common for class names in the same languages.
▶When should I use snake_case vs kebab-case?
snake_case (hello_world) is conventional in Python, Ruby, PostgreSQL, and file names. kebab-case (hello-world) is conventional in CSS class names, URLs, and some JSON keys. Both are all lowercase with separators — pick based on the target system.
▶How does title case handle articles and prepositions?
In AP and Chicago style, short prepositions and articles (the, a, of, in, on) are lowercase within titles unless they start the title. The tool’s style-guide mode applies these rules automatically. Naive mode capitalizes every word.
▶Does the tool handle Turkish correctly?
Yes, if you enable the Turkish locale option. Turkish has dotted and dotless i/I variants that convert differently from English. The default locale handles English correctly; switch to Turkish for Turkish text.
▶How is an acronym handled in case conversion?
The tool detects runs of uppercase letters as acronyms. "HTTPServer" converts to "http-server" or "httpServer" rather than breaking into "h-t-t-p-server". This matches modern programming conventions.
▶Is my text uploaded?
No. All conversion happens in your browser using JavaScript string methods. Text — including confidential identifiers, names, and data — stays private to your machine.
▶Can I convert very long text?
Yes. Case conversion is O(n) and fast. Multi-megabyte text converts in milliseconds with no memory issues.
Additional resources
- Unicode case mapping — Official Unicode case mapping tables for correct uppercase/lowercase conversion across all scripts.
- MDN toLocaleLowerCase — JavaScript locale-aware case conversion reference.
- change-case on npm — Popular JavaScript library for programmatic case conversion.
- AP Stylebook capitalization — Style guide for title case rules in journalism and publishing.
- Wikipedia — Letter case — Overview of letter case conventions across writing systems and uses.
Related tools
All Text ToolsCase Converter
Convert between upper, lower, title, camel, snake, kebab, Pascal, CONSTANT cases
Find and Replace
Find and replace text with regex support, case sensitivity, whole-word matching, and preview of all changes before applying.
Line Counter
Count lines in text with separate totals for blank lines, non-blank lines, words, characters, and paragraphs for detailed statistics.
Remove Duplicate Lines
Remove duplicate lines from text with case-sensitive or case-insensitive matching, preserving original order or sorting the result.
Remove Line Breaks
Remove line breaks from text, convert to spaces, or keep paragraph breaks while flattening unwanted newlines.
Sort Lines
Sort text lines alphabetically, numerically, by length, randomly, or in reverse, with options for case sensitivity and duplicate removal.
Learn more
Explore more tools
200+ free tools that run in your browser.
Browse all tools →