Uppercase to Lowercase Converter

Convert text between every common case format - UPPERCASE, lowercase, Title Case, Sentence case, tOGGLE cASE.

Convert 5 cases Unicode-safe
Rate this calculator

Uppercase to lowercase text converter

5 cases · live · Unicode-safe · one-click copy

Instructions — Uppercase to Lowercase Converter

1

Paste your text

Drop ANY TEXT into the input box. Conversion happens as you type — no submit button, no waiting. Works with emoji, accented Latin, Greek, Cyrillic, and CJK.

2

Read all 5 cases at once

See lowercase, UPPERCASE, Title Case, Sentence case, and tOGGLE cASE side by side. The stat strip shows character, word, and line counts.

3

Copy what you need

Each mode has its own Copy button. The button flashes green when the text is on the clipboard. Falls back to execCommand in old browsers.

Title Case rule: capitalises the first letter of every word, regardless of word importance.
Sentence case rule: capitalises only the first letter of each sentence (after.!?).

Formulas

Case conversion is a per-character mapping defined by the Unicode Character Database. For pure ASCII it reduces to a single bitwise XOR.

ASCII upper to lower
$$ c_{lower} = c_{upper} + 32 \;\; \text{for} \;\; \text{A-Z} $$
A (65) + 32 = a (97). Works because ASCII places uppercase and lowercase letters in parallel ranges.
XOR shortcut
$$ c_{swapped} = c \oplus 32 $$
XOR with 32 flips the case for ASCII letters in one bitwise op. Used in low-level string functions.
Unicode case mapping
$$ f_{case}: \; \text{char} \to \text{char}^* $$
Per-character mapping. Sometimes 1 char becomes 2 (German ß → SS) or vice versa. The Unicode standard defines both simple and full mappings.
Title case (first letter of each word)
$$ \text{TitleCase}(w_1 \ldots w_n) = \sum_{i=1}^n \text{Capitalize}(w_i) $$
Lowercase everything, then uppercase the first character of each word. This converter uses Unicode word boundaries (\b).
Sentence case
$$ \text{Sentence}(t) = \text{lower}(t) \; \text{with first letter after} \; [.!?] \to \text{upper} $$
Lowercase the input then re-capitalise the first letter of each sentence. Sentence boundary defined by terminal punctuation followed by whitespace.
Toggle case (case swap)
$$ c_{toggle} = \begin{cases} \text{lower}(c) & c \text{ is upper} \\ \text{upper}(c) & c \text{ is lower} \\ c & \text{otherwise} \end{cases} $$
Inverts the case of each letter individually. Useful for catching SHIFT-key mishaps or making aLtErNaTiNg cAsE text.

Reference

Common case styles and when to use them
StyleExampleCommon use
lowercasethe quick brown foxURLs, email, file names
UPPERCASETHE QUICK BROWN FOXAcronyms, constants, signage
Title CaseThe Quick Brown FoxBook titles, headings
Sentence caseThe quick brown fox.Body text, prose
tOGGLE cASETHE qUICK bROWN fOXFix caps-lock typos
camelCasetheQuickBrownFoxJavaScript, Java variables
PascalCaseTheQuickBrownFoxClass names, types
snake_casethe_quick_brown_foxPython, SQL, file names
kebab-casethe-quick-brown-foxCSS classes, URLs
CONSTANT_CASETHE_QUICK_BROWN_FOXEnvironment vars, constants

Unicode case-mapping quirks

Some letters change length or change differently in specific languages.

Special mappings
LowerUpper
ß (German)SS (2 chars)
fi (ligature)FI
ǰJ̌ (2 chars)
ı (Turkish)I
i (Turkish)İ (dotted)
No case
SampleNote
0-9Digits unchanged
中文CJK has no case
العربيةArabic has no case
हिन्दीDevanagari has no case
Emoji unchanged

Article — Uppercase to Lowercase Converter

Uppercase to lowercase converter — text case tool

The uppercase to lowercase converter instantly turns any text between five common case styles — UPPERCASE, lowercase, Title Case, Sentence case, and tOGGLE cASE. For pure ASCII, the conversion is one XOR with 32. For Unicode (accented Latin, Greek, Cyrillic, CJK, emoji), the converter uses Unicode-aware functions to handle special cases like German ß → SS.

Text case conversion sits between presentation and data processing. It is presentation when used to clean up an accidentally-CAPS-LOCKED sentence; it is data processing when normalising user input for case-insensitive searches or unique constraints. Either way, the same five modes cover the everyday needs.

What is an uppercase to lowercase converter?

An uppercase to lowercase converter takes a block of text and outputs the same text in any of several case styles. The simplest case (literally and figuratively) is uppercase → lowercase: every uppercase letter becomes its lowercase counterpart, with non-letter characters (digits, punctuation, emoji) unchanged.

This page also handles four related transformations. Title Case capitalises the first letter of every word — useful for headings and titles. Sentence case capitalises the first letter of every sentence — for body text. Toggle case flips the case of every letter — useful for fixing CAPS-LOCK mishaps. UPPERCASE goes the other direction, making everything capital for signs, acronyms, or emphasis.

Five text case modes

  • lowercase = every letter becomes lowercase: "the quick brown fox"
  • UPPERCASE = every letter becomes uppercase: "THE QUICK BROWN FOX"
  • Title Case = first letter of each word: "The Quick Brown Fox"
  • Sentence case = first letter of each sentence: "The quick brown fox."
  • tOGGLE cASE = case-swap each letter: "THE qUICK bROWN fOX"

ASCII case conversion mechanics

For ASCII letters (A-Z and a-z), case conversion is a single arithmetic operation. The ASCII codes for A-Z are 65-90 (binary 01000001 to 01011010); a-z are 97-122 (01100001 to 01111010). The two ranges differ by exactly 32, which is 2⁵ = the 6th bit (00100000).

To convert uppercase to lowercase, add 32 (or set bit 5). To convert lowercase to uppercase, subtract 32 (or clear bit 5). To toggle case, XOR with 32 (which flips bit 5). The conversion is one CPU instruction — millions of operations per second on any modern processor.

Uppercase to lowercase converter — ASCII math
'A' = 65 'a' = 97
'a' - 'A' = 32 'A' XOR 0x20 = 'a'
toLower: c + 32 for A-Z toUpper: c - 32 for a-z

Unicode case mapping quirks

Outside ASCII, case conversion is per-script and sometimes language-specific. The Unicode Character Database (UCD) provides per-character mapping tables, but several quirks complicate the picture.

Did you know

German ß (eszett) historically had no uppercase form. The convention is ß → SS in uppercase (two letters from one). Unicode 5.1 added a capital ẞ (U+1E9E) but it remains rare. Turkish has the opposite problem: i and ı are distinct lowercase letters with distinct uppercase mappings — i → İ (dotted), ı → I (dotless).

For most everyday English, French, Spanish, German, and Polish text, the uppercase to lowercase converter just works. Edge cases come up in language-specific spell-checkers, identifier comparison code, and database collation. The Intl API methods toLocaleLowerCase('tr-TR') and similar variants exist specifically to handle Turkish-style locale rules.

Text case conventions in programming

Beyond the five English-text cases, programmers use several other case conventions for identifiers. camelCase is dominant in JavaScript and Java for variables and methods. PascalCase is used for classes and types. snake_case is the standard in Python and SQL. kebab-case appears in CSS classes and URL slugs. CONSTANT_CASE (or SCREAMING_SNAKE_CASE) marks constants and environment variables.

This particular converter focuses on the five English-text cases. For identifier-style cases, see related tools like camelCase / snake_case converters. The mental rule: word-separator + capitalisation pattern fully defines an identifier case style.

Readability — uppercase vs lowercase

Adults read lowercase text about 15% faster than uppercase. Lowercase has varied letter shapes (ascenders like l, d; descenders like p, g) that create distinctive "word shapes" the eye recognises quickly. Uppercase blocks are uniform in height, forcing letter-by-letter parsing.

Tip

Long passages in ALL CAPS are interpreted as shouting in digital writing — and they are physically tiring to read. Use uppercase for short headings, acronyms, traffic signs, and emphasis. Use Title Case for headlines (more eye-catching than sentence case). Use Sentence case for body text (most readable).

Common case conversion mistakes

Uppercase to lowercase pitfalls

Treating Unicode strings as ASCII bytes: case mapping for Cyrillic, Greek, Latin Extended, and CJK requires Unicode-aware functions. PHP strtoupper() only handles ASCII unless you use mb_strtoupper().

Losing proper nouns when applying sentence case. Sentence case lowercases everything except sentence-initial letters; named entities (Paris, John, NASA) get lowercased too. The fix is manual or via a named-entity-recognition library.

Forgetting that some scripts have no case. Arabic, Hebrew, Devanagari (Hindi), Thai, and CJK ideographs have no upper/lower distinction. Case conversion passes these characters through unchanged. Digit characters also have no case.

Locale issues — applying English-locale case rules to Turkish text breaks the i / İ / ı / I distinctions. The Intl API methods toLocaleLowerCase(locale) exist to apply language-specific rules; use them when locale matters.

Uppercase to lowercase quick rules

To convert uppercase to lowercase in any major language: JavaScript str.toLowerCase(), Python str.lower(), PHP mb_strtolower($s), Ruby str.downcase, Bash tr A-Z a-z, MySQL LOWER(col). For UPPERCASE, swap the function. For Title Case in JavaScript: str.replace(/\b\w/g, c => c.toUpperCase()). The uppercase to lowercase converter on this page applies all five modes simultaneously, with one-click copy for each.

For batch jobs and command-line use, both Unix and Windows have built-in case tools. tr on Linux and macOS handles ASCII; for full Unicode use iconv chained with locale-aware tools or pipe to a Python one-liner (python3 -c "import sys; print(sys.stdin.read().lower())"). PowerShell on Windows uses .ToLower() and .ToUpper() on strings directly. Spreadsheets have =LOWER(A1), =UPPER(A1), and =PROPER(A1) for Title Case.

The uppercase to lowercase converter on this page is designed for quick visual conversion — paste, see, copy. For programmatic use, the language-native functions are faster. For locale-aware conversion (Turkish, Greek, special cases), use the toLocaleLowerCase / toLocaleUpperCase variants of any modern programming language and provide the locale tag ("tr-TR", "el-GR", "de-DE").

FAQ

For ASCII letters, lowercase to uppercase shifts each letter by 32 in ASCII (or equivalently, flips a single bit via XOR with 32). For non-ASCII characters, the conversion uses Unicode case-mapping tables — most languages have well-defined mappings, but some (like German ß) require special handling: ß becomes SS in uppercase (2 characters from 1).
Title Case capitalises the first letter of every word ("The Quick Brown Fox"). Sentence case capitalises only the first letter of each sentence and proper nouns ("The quick brown fox."). News headlines, book titles, and many H1 headings use Title Case; body text and paragraphs use Sentence case. AP style and Chicago style each have their own Title Case rules about small words like "and" and "of".
Toggle case (also called swap case or invert case) flips the case of every letter individually — uppercase becomes lowercase and vice versa. It is mostly used to fix "CAPS LOCK ON" typos: paste mISTYPED tEXT into the toggle converter and it becomes the intended Mixed Case. Not the same as alternating case ("tHe QuIcK"), which alternates letter-by-letter.
The German letter ß (eszett or sharp s) historically had no uppercase form. The convention was to convert ß → SS in uppercase. In 2017, the Council for German Orthography officially added a capital ẞ (U+1E9E), but most text still uses the SS expansion. This is why Unicode case mapping is not a simple 1:1 function — sometimes 1 character becomes 2.
Yes. Emoji, CJK ideographs, Arabic, Hebrew, Devanagari, and most other scripts have no concept of case — they pass through unchanged. The converter uses Unicode-aware case mapping (toLocaleUpperCase() / toLocaleLowerCase()) and iterates by code point, so emoji that need surrogate pairs are handled correctly.
Turkish has two pairs of i: dotted i/İ and dotless ı/I. In Turkish locale, the uppercase of "i" is "İ" (with dot), and the lowercase of "I" is "ı" (without dot). This is opposite to English. The famous "Turkish-i bug" has caused countless bugs in non-locale-aware string code. This converter does not apply Turkish locale by default; for Turkish text, paste into a locale-aware tool.
Lowercase is read faster by adults familiar with the script, by about 15% on average. Lowercase letters have varied shapes (ascenders, descenders) that the eye recognises quickly as "word shapes". UPPERCASE BLOCKS have uniform height, making the eye scan letter by letter. Use uppercase sparingly — for short signs, acronyms, or emphasis. Long passages in all caps are tiring to read and are interpreted as shouting in digital writing.
This converter does not preserve proper nouns automatically — it lowercases the entire text and then capitalises the first letter of each sentence. After conversion, you may need to manually capitalise "Paris", "John", "NASA", etc. More advanced NLP tools (like spaCy or BERT-based systems) can recognise named entities and preserve their case, but they are much slower than this simple rule-based converter.