Text Case Converter
Convert text to any case instantly — UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case and CONSTANT_CASE. Free, instant, no signup.
Text Case Converter Tool
How to Use the Text Case Converter
Type or paste your text into the input box
Any length of text works — a single word, a sentence, or a full paragraph.
Click any case conversion button
Thirteen formats are available: everyday UPPERCASE, lowercase, Title Case and Sentence case; the developer formats camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, dot.case and path/case; and two novelty forms, sWaP cAsE and AlTeRnAtInG.
The converted text appears instantly below
The output textarea updates immediately with no loading time. Your input is preserved so you can try multiple conversions.
Copy the result with the Copy button
One click copies the converted text to your clipboard, ready to paste anywhere.
Text Case Conventions — From Everyday Writing to Code
When to Use Each Text Case Format
Text case is not merely cosmetic — it carries meaning. UPPERCASE is used for emphasis, acronyms (NASA, HTML, API), and labels where visibility is paramount. In printed signage, legal notices, and warning labels, full capitals communicate urgency and authority. Used mid-sentence, UPPERCASE functions as a visual shout — effective in small doses, fatiguing at length.
Title Case is the standard for headings, book titles, article headlines, product names, and proper nouns. It signals that a phrase is a name or a structured title rather than ordinary prose. In advertising and marketing copy across Singapore, Malaysia, and the wider ASEAN region, Title Case is the default for campaign headings and banner text. Sentence case, by contrast, reads more naturally for body text, UI labels, and conversational writing — only the first word and proper nouns are capitalised, mirroring ordinary speech patterns.
lowercase is the default for body text in most contexts. It is also deliberately chosen for brand names that want to project approachability or modernity — think of technology companies that style their product names entirely in lowercase to feel less formal.
Naming Conventions in Software Development
For developers, case conversion is a daily practical task, not just a typography concern. Each programming language and ecosystem has established naming conventions, and mixing them signals an unfamiliarity with the codebase's culture.
camelCase is the dominant convention in JavaScript — variables, function names, and
object properties are written as getUserProfile, maxRetryCount, or
fetchNewsItems. Java and Kotlin follow the same convention, which Java inherited from
Smalltalk and JavaScript inherited from Java. In a React codebase, event handler props like
onClick and onChange are all camelCase.
PascalCase (also called UpperCamelCase) is used for class names across virtually
every object-oriented language: UserController, DatabaseConnection,
PaymentService. In React, component names must be PascalCase — a component
named userProfile would be treated as a DOM element, not a React component,
causing a silent rendering failure.
snake_case is the standard in Python: PEP 8, the style guide for the standard
library, created on 5 July 2001, prescribes lowercase words separated by underscores for
functions and variables, CapWords for classes and all-capitals for constants. Variables, functions, and module names follow
user_profile, fetch_news_items, and max_retry_count.
Ruby shares this preference. SQL column names and table names are conventionally
snake_case — created_at, user_id, order_total
— making snake_case the default for database schemas used by Python, PHP, and Ruby
applications alike.
kebab-case is the natural choice for HTML and the web: CSS class names
(btn-primary, site-nav), HTML custom attributes
(data-tool-id), and URL slugs (/text-case-converter/,
/ai-directory/) all use hyphens as word separators. Both the hyphen and the
underscore are unreserved characters under RFC 3986, so neither needs encoding in a URL;
the hyphen is preferred because an underscore disappears under an underlined link.
CONSTANT_CASE (sometimes called SCREAMING_SNAKE_CASE) is used universally
for constants and environment variables: API_KEY, DATABASE_URL,
MAX_RETRIES, APP_ENV. In a .env file for any
Laravel, Node.js, or Django project, every variable follows CONSTANT_CASE by convention.
This casing makes constants visually unmistakable from mutable variables, reducing
accidental reassignment bugs.
A project that spans Python (snake_case), JavaScript (camelCase), a PHP framework
(PascalCase classes, snake_case columns, camelCase JSON) and a .env file
(CONSTANT_CASE) forces the same identifier through four spellings. The developer formats
on this page all share one tokeniser: the text is split on every run of characters that is
not an ASCII letter or digit, with an extra split wherever a lowercase letter or digit is
followed by a capital (so userProfileData, user_profile_data and
user-profile-data all yield the same three tokens). Accented letters and
non-Latin characters are treated as separators and dropped — café menu
becomes caf_menu, not cafe_menu — so transliterate first if the
identifier must keep them.
"Function names should be lowercase, with words separated by underscores as necessary to improve readability." — PEP 8, Function and Variable Names
Title Case Rules Across Style Guides
Title Case sounds simple — capitalise the first letter of each word — but the three style guides most often followed in English-language publishing disagree on which small words stay lowercase, and the disagreement is about prepositions, not verbs.
The Chicago Manual of Style (17th edition, 2017, §8.159 — book publishers and university presses) capitalises the first and last words and every noun, pronoun, verb, adjective and adverb, and lowercases articles (a, an, the), the coordinating conjunctions and, but, for, or, nor, and prepositions regardless of length — with, from, between and through all stay lowercase unless they open or close the title or are used adverbially.
The AP Stylebook (newsrooms) draws the line by length instead: every word of four or more letters is capitalised, so With, From and Into take a capital, while articles, conjunctions and prepositions of three letters or fewer do not. Verbs, including is, are and be, are capitalised under both guides — a four-letter preposition is where a Chicago title and an AP title actually differ.
APA Style (7th edition) uses both cases and is often quoted backwards. In the text of a paper — a title mentioned in a sentence, a heading — titles of works take title case, in which every word of four letters or more is a major word and capitalised. In the reference list, titles of articles, books and chapters take sentence case, while journal names keep title case.
The Title Case button on this page implements the mechanical version: it capitalises the first letter of every whitespace-separated word and lowercases the rest, so NASA becomes Nasa and of becomes Of. For a headline that must follow Chicago, AP or APA, treat the output as a first pass and lowercase the small words by hand.
Why the camel has humps and PEP 8 insists on snakes
CamelCase gets its name from the humped appearance of capital letters within a word — like the humps of a Bactrian camel.
Python’s PEP 8, created on 5 July 2001, prescribes lowercase_with_underscores for functions and variables, CapWords for classes and ALL_CAPS for module-level constants.
HTML attributes and CSS properties traditionally use kebab-case: class="my-class" and font-size are standard examples.
SQL keywords are case-insensitive, so select and SELECT run identically; writing keywords in UPPERCASE is a readability convention, not a requirement of the language.
JavaScript’s camelCase convention was inherited from Java, whose designers took it from Smalltalk — the same lineage behind getUserProfile in three languages.
The React framework popularised PascalCase for component names: a component named UserProfile is immediately recognisable as a component, not a variable.
Environment variables are almost universally written in CONSTANT_CASE (SCREAMING_SNAKE_CASE): API_KEY, DATABASE_URL, MAX_RETRIES.
Chicago and AP disagree on four-letter prepositions: AP capitalises With and From (four letters or more), Chicago lowercases every preposition whatever its length. Both capitalise is — it is a verb.
Uppercasing is not always reversible: Unicode’s SpecialCasing rules map the German ß to SS, so the UPPERCASE button turns Straße into STRASSE — two letters that lowercase back to ss, not ß.
The developer formats keep only ASCII letters and digits: café menu becomes caf_menu and 北京 office becomes office. Accented and non-Latin characters are dropped, not transliterated.
Frequently Asked Questions
-
Both formats join words without spaces and capitalise the first letter of each word — except for the first word. In camelCase, the first word starts lowercase:
myVariableName. In PascalCase (also called UpperCamelCase), every word including the first starts with a capital:MyVariableName. In JavaScript, camelCase is used for variables and functions; PascalCase is used for classes and React components. -
Use snake_case in Python (PEP 8 standard for variables and functions), Ruby, SQL column names, and PHP variable names. Use kebab-case for HTML class names, CSS custom properties, URL slugs, and HTML data attributes. The practical difference: hyphens are safe in URLs without encoding and are standard on the web; underscores are preferred in programming languages where hyphens would be interpreted as minus operators.
-
CONSTANT_CASE — also called SCREAMING_SNAKE_CASE — is all-uppercase with underscores as word separators. It is the near-universal convention for constants and environment variables:
API_KEY,MAX_RETRIES,DATABASE_URL,APP_SECRET. The visual distinction from regular variables (which use lowercase or mixed case) makes constants immediately identifiable at a glance, reducing accidental mutation bugs. -
Yes — it capitalises the first letter of every whitespace-separated word and lowercases the remaining letters, so the becomes The and an acronym such as NASA becomes Nasa. Chicago (17th ed., §8.159), AP and APA all keep articles, coordinating conjunctions and short prepositions lowercase inside a title, and they differ on four-letter prepositions (AP capitalises With; Chicago does not). For a headline that must follow a house style, take this output as a first pass and lowercase the small words by hand.
-
Sentence case capitalises the first word of each sentence and nothing else. This tool lowercases the whole text, then capitalises the first letter of the string and the first letter after a full stop, question mark or exclamation mark followed by a space. Two limits follow from that: proper nouns and acronyms are lowercased along with everything else (NASA in Singapore → Nasa in singapore), and a sentence that begins with an accented letter such as É is not capitalised, because the boundary test only recognises ASCII letters and digits. Restore proper nouns by hand after converting.
-
Yes — there is no input cap, and conversion runs locally in your browser, so the only limit is your browser’s memory. UPPERCASE, lowercase, Title Case, Sentence case, sWaP cAsE and AlTeRnAtInG preserve every line break and punctuation mark. The developer formats (camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, dot.case, path/case) treat newlines and punctuation as word boundaries and discard them, so a whole paragraph collapses into one long identifier — use them on single names or short phrases.
-
Numbers are treated as word-boundary markers and preserved in the output. Special characters (hyphens, underscores, punctuation, spaces) are used as word separators and removed from the joined result. For example, "user-id_2024" converts to "userId2024" in camelCase and "UserId2024" in PascalCase. Emojis and non-ASCII characters are also treated as separators and excluded from the output for developer-style formats.
-
Yes, and no. There is no account, subscription or character limit, and all conversion runs entirely in your browser — the text never leaves your device and is never sent to any server, so it is safe to use with confidential code, internal documentation or any sensitive text. Case mapping uses your browser’s built-in
toUpperCase/toLowerCase, which follow the Unicode default case mappings and are not locale-sensitive: a Turkish dotless ı is uppercased to I, not İ. -
Lineage. JavaScript borrowed its surface syntax and naming habits from Java, and Java took camelCase from Smalltalk. Python’s style guide, PEP 8, chose lowercase words separated by underscores for functions and variables on readability grounds (“as necessary to improve readability”), while reserving CapWords for class names. Neither convention is objectively better; each is entrenched in its ecosystem, and mixing them within one codebase is the only genuine mistake.
-
Yes — this is one of the most practical use cases. Paste a variable name or identifier (e.g.
user_profile_data), click camelCase to getuserProfileData, or PascalCase to getUserProfileData. The tool correctly handles existing snake_case, kebab-case, camelCase, and PascalCase inputs and converts between them. For bulk renaming across a codebase, use your IDE's rename refactor feature — this tool is best for one-off conversions and quick reference.
Related News
You may be interested in these recent stories from our newsroom.
-
Apple Loses Its EU Gatekeeper Fight — What the DMA Ruling Actually Changes for Developers
The EU General Court upheld Apple's DMA gatekeeper designation for the App Store and iOS on 8 July 2026. The ruling settles who the rules ap...
-
DuneSlide: Two Cursor Flaws Turn a Zero-Click Prompt Injection Into Code Execution
Cato AI Labs has disclosed DuneSlide — two critical remote-code-execution flaws in Cursor (CVE-2026-50548 and CVE-2026-50549, CVSS 9.8) that...
-
Cloudflare Splits AI Crawlers Into Search, Agent and Training — With New Ad-Page Defaults Coming in September
On 1 July 2026, Cloudflare split AI bot traffic into Search, Agent and Training categories for all customers, including the free tier. From...
Method & sources
How it computes
Thirteen in-browser transformations. UPPERCASE and lowercase call ECMAScript toUpperCase()/toLowerCase(), i.e. the Unicode default case mappings (UnicodeData.txt plus the one-to-many rules in SpecialCasing.txt, so ß → SS), locale-insensitive. Title Case capitalises the first letter of each whitespace-separated token and lowercases the rest; Sentence case lowercases everything and capitalises the string start and any ASCII word character after . ! ? plus whitespace.
What this tool implements
- Case mapping per ECMA-262 (String.prototype.toUpperCase / toLowerCase) following the Unicode Character Database default mappings including SpecialCasing.txt; result length may differ from input (ß → SS).
- Naming conventions described per PEP 8 (created 5 July 2001): lowercase_with_underscores for functions/variables, CapWords for classes, ALL_CAPS constants.
- Title-case rules described per The Chicago Manual of Style 17th ed. §8.159 (prepositions lowercase regardless of length), the AP Stylebook (capitalise words of four or more letters) and APA Style 7th ed. (title case in text/headings, sentence case for titles in the reference list; four-letter rule for major words) — https://apastyle.apa.org/style-grammar-guidelines/capitalization/title-case. The tool implements only the mechanical every-word capitalisation and says so.
- Developer-format tokeniser is ASCII-only by design ([^a-zA-Z0-9] splits); accented and non-Latin characters are dropped, disclosed on the page.
- The seven developer formats share one tokeniser — split on runs of non-ASCII-alphanumerics, plus a split where a lowercase letter or digit precedes a capital — then rejoin with the format's separator and casing. sWaP and AlTeRnAtInG operate per character.
Sources
- Unicode Consortium. SpecialCasing.txt — Unicode Character Database (00DF → 0053 0053 for uppercase). https://www.unicode.org/Public/UCD/latest/ucd/SpecialCasing.txt
- Ecma International. ECMA-262, ECMAScript Language Specification — String.prototype.toUpperCase. https://tc39.es/ecma262/#sec-string.prototype.touppercase
- van Rossum G, Warsaw B, Coghlan A. PEP 8 — Style Guide for Python Code. Python Software Foundation; 2001 (living document). https://peps.python.org/pep-0008/
- The Chicago Manual of Style. 17th ed. Chicago: University of Chicago Press; 2017. §8.159 Principles of headline-style capitalization.
What can make this go out of date
- none at runtime
Pick up where you left off
Stored only in this browser — never sent to our servers.