Case Converter
Convert text between UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case and CONSTANT_CASE.
We use cookies and similar technologies to enhance your browsing experience, analyze site traffic, and personalize content and ads. By clicking "Accept", you consent to our use of cookies. Learn more in our Privacy Policy.
Convert text between UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case and CONSTANT_CASE.
The Case Converter takes any block of text and rewrites it in a different letter-casing convention: UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case, or CONSTANT_CASE. Paste your text, pick a target style, and copy the result. It handles single words, full sentences, and multi-line input, and the programmer styles (camel, Pascal, snake, kebab, constant) split on spaces, hyphens, underscores, and the boundaries inside existing camelCase so a messy identifier becomes a clean one in a single pass.
It runs entirely in your browser. Your text is processed locally in the page and is never sent to a server, which matters when the thing you are reformatting is a config snippet, a column name from a private schema, or anything else you would rather not paste into a remote service. There is no signup, no upload step, and no limit beyond what your browser can hold in memory.
Each style follows a clear rule:
userFirstName.UserFirstName.user_first_name.user-first-name.USER_FIRST_NAME.The programmer styles first tokenize the input into words. They break on spaces, hyphens, underscores, and the lower-to-upper transition inside existing identifiers, so getHTTPResponse and get-http-response both normalize cleanly into whichever target you choose.
Say you start with this messy column label copied from a spreadsheet:
Total Order-Value (USD)
Converting it produces:
total_order_value_usdtotalOrderValueUsdTOTAL_ORDER_VALUE_USDtotal-order-value-usdTotal Order-Value (USD)Notice the difference between the two groups. The programmer styles strip surrounding whitespace, drop the parentheses and other non-alphanumeric noise, and rejoin clean tokens, which is exactly what you want for a database column or variable name. The prose styles (Title, Sentence) preserve your punctuation and spacing because they are meant for human-readable text, not identifiers. Pick the group that matches your destination.
A few things this gets used for every day:
camelCase for JavaScript, snake_case for Python, or PascalCase for a class.First Name into first_name for a column, or a set of headers into consistent keys.max retry count becomes MAX_RETRY_COUNT.My Blog Post Title becomes my-blog-post-title for a clean, readable path.Because it accepts multi-line input, you can convert a whole list at once instead of one item at a time.
A few edge cases trip people up:
getHTTPResponse to camelCase gives getHttpResponse, not getHTTPResponse. Most style guides actually prefer the lowercased form, but if your team keeps acronyms uppercase, you will want to fix those by hand.version2Beta becomes version_2_beta in snake_case only if your input already separated the number; a glued version2 is treated as one token.a, the, of, in) lowercase unless they start the line. If you need that style, lowercase those words afterward.i).Casing is not just style. Most programming languages are case-sensitive, so userId and userid are two different identifiers. Conventions exist so a name's appearance signals what it is:
Mixing these within one project makes code harder to read and search. A converter is handy precisely because translating between conventions by hand is tedious and easy to get subtly wrong, especially across a long list of names.
Both join words with no separators. camelCase keeps the first word lowercase (userName), while PascalCase capitalizes the first word too (UserName). PascalCase is commonly used for class and type names.
CONSTANT_CASE (also called SCREAMING_SNAKE_CASE) is all-uppercase words joined by underscores, like MAX_RETRY_COUNT. It conventionally marks values that don't change at runtime, such as constants and environment variables.
Yes. The tool splits existing identifiers on case boundaries and on separators, so getUserId, get_user_id, and get-user-id all normalize to the same word list before being rebuilt in your chosen style.
It treats them as ordinary words, so getHTTPResponse becomes getHttpResponse in camelCase. That matches most style guides, but if your team keeps acronyms uppercase you'll need to adjust those manually.
The programmer styles discard whitespace and non-alphanumeric characters to produce a valid identifier. The prose styles (Title Case, Sentence case) keep your punctuation and spacing intact.
No. All conversion runs locally in your browser. Nothing you paste is sent to a server, so it's safe for private code, config, and schema names.
This tool capitalizes the first letter of each word for predictability. Strict editorial Title Case lowercases short articles and prepositions; if you need that, lowercase those words after converting.
Yes. Multi-line input is supported and line breaks are preserved, so you can reformat a full list of column names or headers in a single pass.