Skip to content
kitto works
All tools

Letter Case Converter — UPPERCASE, lowercase, Title Case & camelCase

Convert text between UPPERCASE, lowercase, Title Case and Sentence case, or convert identifiers to camelCase, PascalCase, snake_case, kebab-case and CONSTANT_CASE. Everything runs in your browser — nothing is ever sent anywhere.

Your text is processed entirely in your browser and is never sent anywhere.

Conversion mode

Programming naming conventions

Result

How to use

  1. Paste or type your text or identifier into the box above.
  2. Pick a mode: basic ones like UPPERCASE and Title Case, or a programming naming convention like camelCase or snake_case.
  3. The "Result" box updates instantly. Use "Copy result" to paste it wherever you need it.

How it works

Basic modes (UPPERCASE / lowercase / Title Case / Sentence case)

These modes keep the original spacing, line breaks and punctuation exactly as they are, and only change the case of letters.

  • UPPERCASE: converts every letter to uppercase.
  • lowercase: converts every letter to lowercase.
  • Title Case: capitalizes the first letter of each word (a run of letters, including apostrophes so contractions like "don't" aren't broken) and lowercases the rest. Digits and punctuation are left untouched.
  • Sentence case: lowercases the whole text, then capitalizes only the first letter of the text and the first letter following each ., !, or ?.

Programming naming conventions (camelCase / PascalCase / snake_case / kebab-case / CONSTANT_CASE)

These modes first break the input into "words", then rebuild it in the chosen format. Because of this, any original spacing or line breaks are replaced by the target format's own separator (or no separator at all).

Words are split using these rules:

  • A boundary is inserted wherever a lowercase letter (or digit) is immediately followed by an uppercase letter — e.g. between "r" and "N" in "userName".
  • A boundary is inserted between a run of uppercase letters and a following "uppercase + lowercase" pair — e.g. between "HTTP" and "Server" in "HTTPServer".
  • Underscores (_) and hyphens (-) are treated as separators.

The resulting words are then reassembled:

  • camelCase: the first word stays lowercase; every later word is capitalized; everything is joined with no separator (e.g. helloWorld).
  • PascalCase: every word is capitalized and joined with no separator (e.g. HelloWorld).
  • snake_case: every word stays lowercase and is joined with underscores (e.g. hello_world).
  • kebab-case: every word stays lowercase and is joined with hyphens (e.g. hello-world).
  • CONSTANT_CASE: every word is uppercased and joined with underscores (e.g. HELLO_WORLD).

Digits stay attached to the word before them and never split a word on their own (e.g. "item2Name" becomes the two words "item2" and "name").

FAQ

Is my text sent anywhere?

No. All conversion happens entirely inside your browser, and nothing is transmitted to a server. Once the page has loaded, it keeps working even offline.

Does Title Case break contractions like "don't"?

No. Apostrophes are treated as part of the word they appear in, so "don't" correctly becomes "Don't" rather than "Don'T".

Can I convert a camelCase variable name to snake_case?

Yes. Word boundaries are automatically detected in camelCase or PascalCase input like "userFirstName", which converts to "user_first_name" or any other naming convention. Underscore-, hyphen-, and space-separated input works the same way.

Does it correctly split identifiers with acronyms, like "HTTPServer"?

Yes. The boundary between a run of uppercase letters (an acronym like HTTP) and the word that follows (Server) is detected, so it's treated as two words: "HTTP" and "Server".

Does Sentence case work on non-English text?

Since most non-Latin scripts don't have separate uppercase and lowercase letters, this tool is mainly intended for English (Latin-alphabet) text. Applying it to text containing other scripts leaves those characters unchanged.