Case Converter

Paste text and every case appears at once — copy the row you need. Smart Title Case knows its minor words, Sentence case respects abbreviations, and the programmer cases split camelCase boundaries correctly. Live, in your browser.

What is snake_case? A naming style where words are lowercase and joined by underscores: user_login_count. It’s the convention for Python variables and functions, Ruby, and most SQL. The ALL-CAPS variant — MAX_RETRY_LIMIT, called SCREAMING_SNAKE_CASE — is the near-universal convention for constants.
Multi-line input works — each line is converted on its own.

Your text never leaves this page — no uploads, no servers, works offline once loaded.

[ Ad slot — replace with AdSense / Ezoic code ]

The programmer cases, and where each lives

camelCase — first word lowercase, later words capitalized, no separators: userLoginCount. The convention for variables and functions in JavaScript, Java, and Swift. PascalCase — same but with the first word also capitalized: UserLoginCount. Class and type names in almost every language, and components in React. snake_case — lowercase with underscores: Python and Ruby variables/functions, SQL columns, most config keys. SCREAMING_SNAKE_CASE — the constants convention nearly everywhere: MAX_RETRY_LIMIT. kebab-case — lowercase with hyphens: user-login-count. CSS class names, HTML attributes, CLI flags, and URL slugs (hyphens can’t appear in most languages’ identifiers, which is why code never uses it and URLs always do — see the Slug Generator for the URL-specific rules).

Converting between these is where most tools fail: turning parseHTTPResponse2 into snake case requires recognizing the camel boundary (parse|Response), the acronym run (HTTP stays one word), and the letter–digit seam (Response|2). This converter splits on all three, so you get parse_http_response_2, not parse_h_t_t_p_response2.

Sentence case for writing

Sentence case capitalizes the first letter of each sentence and lowercases the rest — the style most publications now use for headlines, and what you want when un-shouting an ALL-CAPS paragraph. The naive version breaks on abbreviations: “Meet Dr. Smith” becomes “Meet dr. smith. Tomorrow…” with a false sentence break after “Dr.”. This converter carries a list of common abbreviations (Dr., Mr., Mrs., Prof., St., vs., e.g., i.e., etc., approx., Inc., Ltd., Jr., Sr., No., U.S., U.K.) and won’t treat their periods as sentence ends — and it preserves the pronoun “I”.

Smart Title Case

Real title case is not “Capitalize Every Word”: the major style guides lowercase minor words — short articles, conjunctions, and prepositions like a, an, the, and, but, or, nor, for, at, by, in, of, on, to, up, as, vs., via — unless they’re the first or last word. The toggle above switches between that rule set and capitalize-everything (which some contexts, like some CMS fields, expect). Style guides differ on prepositions of four-plus letters; this tool lowercases only the short ones, the most widely shared subset.

Case rules at a glance

CaseExampleSeparatorTypical home
UPPERCASEUSER LOGIN COUNTspaceEmphasis, legacy constants
lowercaseuser login countspaceNormalizing text
Title CaseUser Login CountspaceHeadlines, book titles
Sentence caseUser login countspaceModern headlines, UI copy
camelCaseuserLoginCountnoneJS/Java variables
PascalCaseUserLoginCountnoneClass & type names
snake_caseuser_login_count_Python, SQL
SCREAMING_SNAKEUSER_LOGIN_COUNT_Constants
kebab-caseuser-login-count-CSS, URLs, CLI flags

Frequently asked questions

camelCase vs. PascalCase — what’s the actual difference?

Only the first letter: camelCase starts lowercase (userName), PascalCase starts uppercase (UserName). The distinction carries meaning in most codebases — lowercase-first for variables and functions, uppercase-first for classes and types — so “which one” is answered by what you’re naming, not preference.

Which case should I use for URLs?

kebab-case: lowercase words joined by hyphens. Search engines treat hyphens as word separators but treat underscores as word joiners, and mixed case in URLs invites duplicate-content problems since paths can be case-sensitive. The Slug Generator handles the full URL-slug pipeline — transliteration, stopwords, length trimming — beyond just the case.

How are acronyms handled when converting from camelCase?

A run of capitals is kept as one word, with the last capital starting the next word when followed by lowercase: parseHTTPResponse splits as parse · HTTP · Response. Going back to camelCase renders acronyms as normal words (parseHttpResponse) — the style most modern guides recommend precisely because it round-trips cleanly.

Is my text uploaded anywhere?

No — every conversion runs in your browser tab with no server or network request, and the page works offline once loaded.

[ Ad slot — replace with AdSense / Ezoic code ]

Related tools