What this case converter does
This English-language case converter handles 11 formats in one tool: UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, dot.case, and aLtErNaTiNg. Most converters stumble when the input is already camelCase or uses mixed delimiters — type getUserID_v2 into a naive tool and you'll get getuserid_v2. This converter splits on case boundaries first, then by delimiter, so the tokenizer preserves word boundaries regardless of how the input was originally formatted. Every conversion happens locally: 100% client-side — your data never leaves your browser. No uploads, no tracking, no server logs. Whether you're a developer renaming variables, a writer fixing capitalization, or someone building URL slugs, the tool covers the full spectrum of text capitalization needs.
Features
- Smart boundary tokenizer. Splits input on both case boundaries and delimiters (spaces, underscores, hyphens, dots), so mixed inputs like
getUserID_v2orparse-HTML-entityconvert cleanly into any target case without losing words. - 11 case formats. Covers every naming convention used in code and prose: UPPER, lower, Title, Sentence, camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, dot.case, and alternating — no add-ons needed.
- Lowercase and uppercase converter. The classic all-caps converter and lowercase converter are one click away. Useful for shouting in Slack, normalizing database fields, or prepping text for a
text.toUpperCase()comparison in JavaScript. - Title case and sentence case. Title Case capitalizes each principal word following standard editorial conventions. Sentence case capitalizes only the first word, matching the style recommended by many modern style guides including AP and MDN Web Docs.
- Programming case formats. camelCase and PascalCase for JS/Java/Swift, snake_case for Python, CONSTANT_CASE for environment variables, kebab-case for CSS and URL slugs. Pairs naturally with the [URL slug generator](/en/slugify/) when building route names.
- One-click copy. Hit Copy after any conversion and the result lands on your clipboard instantly. Clear resets both input and output so you can start a new batch without a page reload.
How to use the case converter
Paste your text, pick a target case, and the output updates immediately. No button to submit.
- Paste your text. Drop any string into the input field — a sentence, a variable name, a headline, or multi-line content. The tool accepts camelCase, snake_case, plain prose, and everything in between.
- Choose a case format. Select the target from the dropdown. For Python-to-JavaScript ports, switch from
snake_casetocamelCase. For environment variables, pickCONSTANT_CASE— equivalent totext.upper().replace(' ', '_')in Python. - Copy the result. Click Copy to send the converted text to your clipboard, then paste it directly into your editor, CMS, or terminal. Use Clear to reset for the next string.
Common use cases
- Porting code between languages. Python uses
snake_caseby convention; JavaScript usescamelCase. When porting a module, paste your Python identifiers and switch to camelCase in one pass instead of renaming each variable by hand. - Generating URL slugs. Turn an article title like 'Getting Started With Astro' into
getting-started-with-astrousing kebab-case. For more slug-specific options, the [URL slug generator](/en/slugify/) handles Unicode normalization and stop-word removal. - Creating environment variable names. Config keys written in plain English become CONSTANT_CASE environment variable names instantly.
database connection timeoutbecomesDATABASE_CONNECTION_TIMEOUTwithout manual editing. - Fixing headline capitalization. Paste a draft headline and apply Title Case to match your publication's style guide, or switch to Sentence case for a more conversational tone — common in technical documentation from teams in Austin to London.
- Normalizing user input. Before storing or comparing strings, developers often need a consistent case. Use the lowercase converter to preview how
text.toLowerCase()will behave on a real sample before wiring it into your validation logic.
Frequently asked questions
Is my text sent to any server?
No. The entire conversion runs in your browser using JavaScript. Nothing is transmitted, stored, or logged. You can disconnect from the internet after the page loads and the tool still works.
What's the difference between camelCase and PascalCase?
Both join words without spaces, but PascalCase (also called UpperCamelCase) capitalizes the first letter of every word including the first one — GetUserById. camelCase starts with a lowercase letter — getUserById. PascalCase is standard for class names in most languages; camelCase for methods and variables.
Why does Title Case sometimes look wrong for proper nouns?
Algorithmic Title Case applies rules mechanically and can't know that 'McDonald' should stay 'McDonald' rather than become 'Mcdonald'. For publication-ready headlines, always review proper nouns, brand names, and trademarks after conversion. Strunk & White: The Elements of Style is a useful reference for editorial capitalization decisions.
Does this handle accented characters and non-ASCII text?
Yes for common Latin extended characters. Be aware of locale-specific edge cases: German ß uppercases to 'SS' (or to ẞ in Unicode since 2017), and Turkish has separate dotted and dotless 'i' forms that can produce unexpected results when the browser locale is not set to Turkish. The tool follows JavaScript's default Unicode rules, which match English expectations.
What's CONSTANT_CASE and when should I use it?
CONSTANT_CASE (also called SCREAMING_SNAKE_CASE) is all-uppercase with underscores between words. It is the conventional format for environment variables, compile-time constants, and configuration keys in most languages and frameworks — for example MAX_RETRY_COUNT or API_BASE_URL.
Can I use this to remove duplicate lines or compare two texts?
Case conversion is this tool's focus. For deduplication, the [duplicate remover](/en/remove-duplicates/) handles that, and if you need to spot differences between two text versions, the [text diff](/en/text-diff/) tool shows changes line by line.