Case Converter by Klipto

Convert text to UPPER, lower, Title, Sentence, camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE and dot.case. Free, in your browser, or convert on paste with Klipto on your Mac.

Pick a case above.

100% in your browser. Nothing is uploaded, logged, or stored.

Paste your text in the box above, pick a format, and copy the result. This case converter switches text between UPPERCASE, lowercase, Sentence case, Title Case, Capitalize Each Word, tOGGLE, camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE and dot.case. It all runs client-side in your browser, so nothing is uploaded, logged or stored.

Writers come here to fix a headline that arrived in all caps. Developers come far more often, because conventions differ by language and across the seam between two systems. A front-end on camelCase talking to an API that wants user_id means renaming fields by hand. Both jobs get equal weight here.

Meet Klipto

Change case where you paste, not in a browser tab.

Klipto is a native macOS clipboard manager. Copy any text and its preview panel cycles UPPER, lower, camelCase, snake_case and more — right where you paste, offline.

See what Klipto does

Every format, with an example

UPPERCASE and lowercase: every letter up, or every letter down. THE QUICK BROWN FOX and the quick brown fox.

Sentence case and Title Case: first letter up, rest down, The quick brown fox. Or principal words up and small words down, The Art of War. Capitalize Each Word skips the exceptions: The Art Of War.

tOGGLE and aLtErNaTiNg: inverts or alternates each letter, tHE qUICK bROWN fOX.

camelCase: no separator, first word lowercase, myVariableName. Variables, functions and methods in JavaScript, TypeScript, Java, Kotlin, Swift and C#.

PascalCase: the same with the first word capitalized, MyVariableName. Classes, types, interfaces, React components, exported Go identifiers.

snake_case: lowercase words with an underscore between them, my_variable_name. Python (PEP 8), Ruby, Rust, and almost every database column name.

kebab-case and url-slug: lowercase words joined by a hyphen, my-variable-name. URLs and slugs, CSS class names, HTML attributes, npm package names, CLI flags. A url-slug is kebab-case with punctuation and accents taken out, which is why Klipto ships it as its own transform. In most languages kebab-case cannot be an identifier, since the hyphen reads as a minus sign.

CONSTANT_CASE: uppercase snake_case, MY_VARIABLE_NAME. Constants and environment variables across C-descended languages. SCREAMING_SNAKE_CASE is the same thing with a better name.

dot.case: lowercase words joined by periods, my.variable.name. Config keys and log fields.

On the Mac the conversion moves into the paste itself. You pick a case once in Klipto's paste preview and it applies on Command-V, in any app, offline, next to roughly twenty other transforms.

The part worth knowing is that the case chips are exclusive. Picking snake_case replaces camelCase instead of stacking on top of it, so you can flip between two conventions on the same clipboard item and watch the result before it lands: get it automatically on every paste with Klipto.

The acronym trap

getHTTPResponse or getHttpResponse? Google's style guides say treat an acronym as an ordinary word: lowercase it, then capitalize the first letter. That gives getHttpResponse and xmlHttpRequest, and Google's C++ guide writes StartRpc() rather than StartRPC(). Adjacent capitals erase the word boundaries, so parseHTTPURL is hard to read. Airbnb and Microsoft land in the same place.

This is the one spot where converters openly disagree with each other, mine included. Check acronyms in the output before committing them.

Which convention, and does it matter

Consistency inside a project beats the choice itself. The split came from history, not from logic: C settled on snake_case in the terminal era, Java brought camelCase in with its method names. An eye-tracking study by Binkley et al. found camelCase slightly faster for experienced developers and snake_case slightly more accurate for beginners, with the gap under 5%.

Title case and sentence case have firmer rules. AP style keeps articles, coordinating conjunctions and short prepositions lowercase, while capitalizing the first and last word plus verbs, nouns, pronouns, adjectives and adverbs. APA, Chicago and MLA differ in the details. For most work: sentence case for body text, title case for headings.

How to use it

1. Paste your text into the box at the top. No length limit worth worrying about, and it works on a phone.

2. Tap a format. The output updates instantly, so you can compare snake_case against kebab-case first.

3. Press Copy.

This free tool vs Klipto

This free web toolKlipto
UPPERCASE, lowercase, Sentence, TitleYes, manuallyYes, in the paste preview
Dev cases (camelCase, snake_case, kebab, dot, CONSTANT)Yes, manuallyYes
url-slugUse kebab-caseYes, dedicated transform
Applied on pasteNo, paste in and copy backYes, on every Command-V
Works system-wide (editor, Slack, Notion, code)No, this page onlyYes, anywhere you paste
Needs a website or internetYesNo, native and offline
PrivacyIn your browserOn-device, never touches the network
Clipboard history and recallNoYes
Stack (paste many items in order)NoYes
20+ transforms (case, JSON, colour, counts)NoYes
PlatformAny browsermacOS 14+
PriceFreeFree tier, $19.99 one-time Pro

Frequently asked questions

How do I convert uppercase to lowercase?

Paste the text, then pick lowercase to drop every letter down or UPPERCASE to raise every letter. Sentence case sits between the two and capitalizes only the first letter. Copy when the output looks right.

What is the difference between title case and sentence case?

Title case capitalizes the principal words in a heading: The Art of War. Sentence case capitalizes the first word and proper nouns only: The art of war. Use sentence case for body text, title case for headings.

What is camelCase?

camelCase joins words with no separator and capitalizes each word after the first, giving myVariableName. It is the default for variables, functions and methods in JavaScript, TypeScript, Java, Kotlin, Swift and C#.

What is PascalCase?

PascalCase, also called UpperCamelCase, capitalizes every word including the first and uses no separators, giving MyVariableName. Developers use it for classes, types, interfaces and React components.

What is snake_case?

snake_case lowercases every word and puts an underscore between them, giving my_variable_name. It is standard in Python and Ruby, and it is the usual choice for database column names whatever language runs the query.

What is kebab-case, and how is a url-slug different?

kebab-case lowercases words and joins them with hyphens, giving my-variable-name. A url-slug is the same shape with punctuation and accented characters removed so it is safe in a URL. Klipto has a separate url-slug transform for that.

What is CONSTANT_CASE or SCREAMING_SNAKE_CASE?

CONSTANT_CASE uppercases every word and separates them with an underscore, giving MY_VARIABLE_NAME. It is the convention for constants and environment variables in C-descended languages. Both names mean the same format.

How do I convert camelCase to snake_case?

Paste the camelCase text and pick snake_case. myVariableName becomes my_variable_name. This one runs constantly at API boundaries. Check the acronyms in the output, since converters handle them differently.

How do I capitalize the first letter of each word?

Pick Capitalize Each Word for every word without exception: The Art Of War. Title Case is similar but leaves articles and short prepositions lowercase: The Art of War.

Is it free, and is my text private?

Free, with no install and no account. Conversion happens client-side in your browser, so your text is never uploaded, logged or stored.

How do I change text case on a Mac, on paste?

Native routes include the Raycast Change Case extension, an Alfred workflow and Apple Shortcuts, each single-purpose. Klipto keeps the case transform in its paste preview and applies it on Command-V, system-wide and offline.

Get Klipto for Mac

Free for 14 days · no card, no account required · 5 MB

Download Klipto