Find your next tool

Browse tools or search by task

Explore JSONToonPro

Text & Web Tools

Case Converter – camelCase, snake_case & More

Convert text between uppercase, lowercase, Title Case, camelCase, PascalCase, snake_case and kebab-case instantly in your browser.

Runs locally in your browser. Nothing you paste is uploaded.

Case Converter workspace
Input text
camelCase
...
PascalCase
...
snake_case
...
CONSTANT_CASE
...
kebab-case
...
Train-Case
...
dot.case
...
Title Case
...
Sentence case
...
UPPER CASE
...
lower case
...

Type any phrase and every case format updates instantly. Click the copy icon on any card. Conversion runs entirely in your browser.

Online Case Converter

Paste text and choose the casing convention required by your document or codebase. Copy the result and review acronyms, product names and punctuation. Automated casing cannot infer every linguistic or naming preference.

Uppercase, Lowercase and Title Case

Uppercase and lowercase transform letter case. Title Case capitalizes words according to this tool’s rules and is not a substitute for a publication’s style guide. Review intentional mixed-case brands and abbreviations.

camelCase, PascalCase, snake_case and kebab-case

camelCase starts with a lowercase word; PascalCase begins with uppercase. snake_case uses underscores and kebab-case uses hyphens. Choose the convention expected by the consuming language or framework.

Case Conversion Rules for Developers

A naming convention can improve consistency, but changing case alone does not make a string a valid identifier. Check reserved words, leading digits and Unicode rules in the target language. Review collisions after punctuation removal.

Case Conversion Examples

The words user profile name can become userProfileName, UserProfileName, user_profile_name or user-profile-name. These forms share a source phrase but serve different naming conventions. Keep external API keys stable unless a migration is intended.

More examples and technical details

The Main Naming Conventions

Case conventions exist because most programming languages forbid spaces in identifiers, so multi-word names need some other way of showing where one word ends and the next begins. Over time each ecosystem settled on its own answer, and the differences are now strong enough that using the wrong one reads as a mistake even when the code compiles fine.

FormatExampleTypical use
camelCaseuserNameJavaScript and Java variables, method names, JSON keys
PascalCaseUserNameClass and type names, React components, C# members
snake_caseuser_namePython identifiers, Ruby, SQL column names
SCREAMING_SNAKE_CASEUSER_NAMEConstants and environment variables
kebab-caseuser-nameURLs, CSS classes, HTML attributes, npm package names
dot.caseuser.nameConfig keys, namespaces, feature flag paths
Train-CaseUser-NameHTTP header names such as Content-Type

What Each Language Actually Expects

Following the local convention is not pedantry. Linters enforce it, code review flags it, and in at least one popular language it changes the meaning of your code.

  • Python: PEP 8 specifies snake_case for functions, variables, and module names, PascalCase for classes, and SCREAMING_SNAKE_CASE for module level constants.
  • JavaScript and TypeScript: camelCase for variables and functions, PascalCase for classes, React components, and type names. React in particular requires components to start with a capital letter, because JSX treats a lowercase tag as a plain HTML element.
  • Go: PascalCase for exported identifiers and camelCase for unexported ones. Here capitalisation is semantically meaningful rather than stylistic: a leading capital is what makes a name visible outside its package, so renaming changes visibility.
  • SQL: snake_case dominates because many databases fold unquoted identifiers to a single case (PostgreSQL lowercases them, Oracle uppercases them), so a CamelCase column silently becomes camelcase unless you quote it everywhere.
  • CSS and URLs: kebab-case, partly because these contexts are case insensitive in places and partly because hyphens simply read better in long strings.

Why URLs Use kebab-case (and Why It Matters for SEO)

Search engines treat a hyphen as a word separator and an underscore as a word joiner. That single difference is the reason kebab-case is the standard for URL slugs.

/blog/case-converter-guide  -> read as: case converter guide
/blog/case_converter_guide  -> risks being read as one long token
/blog/caseConverterGuide    -> mixed case, fragile across systems

There is a practical reason too: many web servers and file systems differ in how they treat letter case, so an all lowercase hyphenated path avoids duplicate URLs that resolve to the same page.

Acronyms: the Hard Part of Case Conversion

Splitting a name into words is easy when every word is lowercase with a single capital. It stops being easy the moment an acronym appears, because a run of consecutive capitals gives the parser no obvious boundary.

HTTPResponse   -> HTTP + Response? or H + T + T + P + Response?
XMLHttpRequest -> XML + Http + Request
parseJSONData  -> parse + JSON + Data
userID         -> user + ID, but snake_case could be user_id or user_i_d

The usual heuristic is that a capital following another capital starts a new word only when the character after it is lowercase, which correctly turns HTTPResponse into HTTP plus Response. Style guides diverge on the output: Go recommends keeping acronyms fully capitalised (userID, ServeHTTP), while Java and much of the JavaScript world prefer treating them as ordinary words (userId, XmlParser). Pick one rule per codebase and let the linter enforce it, because inconsistent acronym casing is a persistent source of broken lookups when names are generated at runtime.

Renaming identifiers is usually one step in a larger cleanup. Browse the full text and developer tools collection for formatters, encoders, and converters that handle the rest of the job.

Frequently asked questions

How do I convert uppercase text to lowercase?

Paste the text and select lowercase.

How do I convert text to camelCase?

Choose camelCase to join recognized words and capitalize later word starts.

What is the difference between camelCase and PascalCase?

camelCase begins lowercase; PascalCase begins uppercase.

How are spaces and punctuation handled?

The selected convention determines separators and punctuation removal. Review the output when source text has unusual delimiters.

Is text uploaded?

No. Input is processed in this browser tab and is not uploaded by the tool. Copy and download are actions you control; ordinary page analytics do not receive tool input.