/ developer & network toolbox
← all tools

$ case

runs locally

Case Converter

Convert between UPPER, lower, Title, camelCase, snake_case, kebab-case and more, with live counts.

case — invoker.tools
stats0 chars · 0 words · 0 lines

About the Case Converter

This case converter reformats any text into nine case styles at once: UPPER CASE, lower case, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case and CONSTANT_CASE. Paste your text, pick a target case, and the converted result appears immediately, ready to copy.

It earns its keep whenever code or content crosses a naming convention boundary: a JavaScript variable needs camelCase, a Python constant needs CONSTANT_CASE, a URL slug needs kebab-case, a CSV header might need snake_case. Rather than retyping or hand-editing punctuation, paste once and click through every style until one fits.

Above the conversion buttons, the tool also runs as a live character, word and line counter, so you can check text length while you work without switching to a separate utility.

Everything happens client-side in your browser. The text you paste, and the case-converted result, are never sent to a server or stored anywhere, which makes it a reasonable place to reformat variable names or content pulled from internal, unpublished work.

How to use it

  1. Paste or type your text into the input field.
  2. Check the live character, word and line counts shown just above the case buttons.
  3. Click the case you want, such as snake_case, camelCase or Title Case.
  4. Read the converted result in the output box below the buttons.
  5. Click copy to place the result on your clipboard.
  6. Click a different case button at any time to re-run the same input through another style.
  7. Edit the input text and click a case button again to convert a new piece of text.

Examples

  • Hello World converts to PascalCase HelloWorld, camelCase helloWorld, snake_case hello_world, kebab-case hello-world and CONSTANT_CASE HELLO_WORLD.
  • My Blog Post Title converts to kebab-case my-blog-post-title, a ready-to-use URL slug.
  • user_first_name converts to camelCase userFirstName, since the underscore is treated as a word separator.
  • hello world. This is a test. Converts with Sentence case to Hello world. This is a test.
  • myVariableName converted to snake_case comes out as myvariablename rather than my_variable_name, because there is no separator character between the words for the converter to split on.
  • api key name converts to CONSTANT_CASE API_KEY_NAME, a typical environment-variable name.

The nine case styles it produces

Each button applies one transformation to the same input text, so it is easy to compare styles side by side for the same words.

  • UPPER CASE: every letter uppercase, e.g. HELLO WORLD.
  • lower case: every letter lowercase, e.g. Hello world.
  • Title Case: the first letter of each word capitalized, e.g. Hello World.
  • Sentence case: only the first letter of each sentence capitalized, e.g. Hello world. Another one.
  • camelCase: words joined with no separator, first word lowercase, every following word capitalized, e.g. HelloWorld.
  • PascalCase: words joined with no separator, every word capitalized including the first, e.g. HelloWorld.
  • snake_case: words lowercased and joined with underscores, e.g. Hello_world.
  • kebab-case: words lowercased and joined with hyphens, e.g. Hello-world.
  • CONSTANT_CASE: words uppercased and joined with underscores, e.g. HELLO_WORLD.

How word splitting actually works

For camelCase, PascalCase, snake_case, kebab-case and CONSTANT_CASE, the converter first breaks the input into words by matching runs of letters and digits, treating every other character (spaces, hyphens, underscores, punctuation, line breaks) as a separator. That is why Hello-World, hello_world and hello world all convert identically.

The important limitation: capital letters inside an unbroken run of letters are not treated as word boundaries. A word that is already camelCased or PascalCased, such as myVariableName, has no separator characters in it at all, so it is read as a single word rather than three. Converting it to snake_case just lowercases that one word (myvariablename) instead of inserting underscores at the capital letters. To convert existing camelCase into snake_case or kebab-case correctly, add spaces or underscores at the word boundaries first, or use a code-aware refactoring tool instead.

Common mistakes with case conversion

  • Expecting the tool to re-split an already-cased identifier: it only splits on separator characters, not on capitalization, so camelCase or PascalCase input needs manual word breaks before converting to snake_case or kebab-case.
  • Assuming Sentence case understands abbreviations: a period followed by a space, as in e.g. Or Dr. Smith, is read as the end of a sentence, so the next word gets capitalized even mid-abbreviation.
  • Converting multi-line text with camelCase, PascalCase, snake_case, kebab-case or CONSTANT_CASE and expecting line breaks to survive: those five styles join every word in the whole input into one continuous identifier, discarding line breaks. UPPER, lower, Title Case and Sentence case, by contrast, transform characters in place and keep your line breaks intact.
  • Forgetting kebab-case already lowercases everything: no extra manual lowercasing step is needed to turn a title into a clean URL slug.

Frequently asked questions

What is a camelCase converter?

It is a tool that reformats text into camelCase, where the first word is lowercase and every following word is capitalized with no spaces or separators, e.g. User first name becomes userFirstName. It is the standard naming convention for JavaScript variables and function names.

How do I convert text case online?

Paste your text into the input box, click the target case button such as UPPER, Title Case or snake_case, and copy the result. The conversion runs live in your browser, with no install and no file upload required.

What is the difference between camelCase and PascalCase?

Both remove separators and capitalize word boundaries, but camelCase keeps the very first letter lowercase (myVariable) while PascalCase capitalizes it too (MyVariable).

How do I turn a title into a URL slug?

Convert it to kebab-case. That lowercases every word and joins them with hyphens, producing a clean slug such as my-page-title, with no extra formatting needed.

Can it convert an existing camelCase variable back to snake_case?

Not automatically. The converter splits words on separator characters only, and camelCase text has none, so it is read as one long word. Insert spaces or underscores at the capital letters first if you need a clean snake_case result.

What is CONSTANT_CASE used for?

It is the convention for constants and environment variables, e.g. API_KEY_NAME or MAX_RETRIES, using all-uppercase words joined by underscores.

Is my text sent to a server?

No. The conversion, and the character, word and line counts, all run locally in your browser. Nothing you paste is uploaded or stored.

Does it count words and characters too?

Yes. A stats line above the case buttons shows live character, word and line counts that update as you type or paste, so you get a case converter and a quick length check in one place.

Can it handle multi-line text?

Yes, but the effect depends on the case you pick. UPPER, lower, Title Case and Sentence case preserve your line breaks. CamelCase, PascalCase, snake_case, kebab-case and CONSTANT_CASE join every word from every line into a single result, since those styles build one continuous identifier from all the words in the input.

Why did a word after e.g. Or an abbreviation get capitalized in Sentence case?

The Sentence case rule capitalizes any letter that follows a period, exclamation mark or question mark plus whitespace. It cannot distinguish an abbreviation's period from a real sentence end, so text like e.g. Hello gets read as two sentences.

More text tools