Case Converter
Convert text between UPPERCASE, lowercase, Title Case, camelCase, snake_case, kebab-case and more — instantly in your browser.
Runs in your browser — files never leave your device
How it works
Pick one of nine styles and the result box converts as you type: UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case, and CONSTANT_CASE. The first two are plain transforms — every letter shifted up or down, with punctuation and spacing untouched. The other seven first break your text into words, then rebuild it in the target style.
The word splitter is what makes the programmer styles work. Text is split at spaces, underscores, hyphens, dots, and slashes, and also at every boundary where a lowercase letter or digit is followed by an uppercase one. That means the tool doesn’t just convert plain sentences — it converts between identifier styles: paste myVariableName and click kebab-case to get my-variable-name, or turn user_id into UserId with PascalCase.
A concrete example: annual sales report becomes annualSalesReport in camelCase, annual_sales_report in snake_case, and ANNUAL_SALES_REPORT in CONSTANT_CASE. Repeated separators collapse, so stray double spaces never produce double underscores.
Typical uses: keeping variable, function, and class names consistent across a codebase; converting JSON keys or database columns between snake_case and camelCase; generating CSS class names and file names in kebab-case; writing environment-variable names in CONSTANT_CASE; fixing a headline with Title Case; and rescuing text typed with Caps Lock on via Sentence case, which lowercases everything and re-capitalizes the first letter of each sentence.
Two gotchas worth knowing. Title Case capitalizes every word — the lord of the rings becomes The Lord Of The Rings — rather than applying AP or Chicago rules for small words. And runs of capitals are treated as one word, because splits only happen where lowercase meets uppercase: APIResponse converts to apiresponse in snake_case, so write it as ApiResponse if you want api_response.
Frequently asked questions
- What is the difference between camelCase and PascalCase?
- Both remove separators and capitalize each word after the first; the difference is the first word. camelCase leaves it lowercase (myVariable) and is the convention for variables and functions in JavaScript and Java, while PascalCase capitalizes it too (MyVariable) and is used for class and component names.
- How does the converter decide where words begin and end?
- Text is split at spaces, underscores, hyphens, dots, and slashes, plus at every boundary where a lowercase letter or digit is followed by an uppercase letter. That is why user_id becomes UserId in PascalCase and foo.bar/baz becomes foo_bar_baz in snake_case. Empty tokens from repeated separators are dropped, so double spaces never produce double underscores.
- Why does APIResponse become apiresponse instead of api_response?
- The boundary rule only fires where a lowercase letter or digit meets an uppercase letter, so a run of capitals like API is read as part of one word. If you need api_response, write the input as ApiResponse or api response before converting — the same reason many style guides prefer ApiResponse over APIResponse in identifiers.
- Does Title Case follow AP or Chicago style?
- No. Title Case here capitalizes the first letter of every word and lowercases the rest, so the lord of the rings becomes The Lord Of The Rings. Editorial title case (AP, Chicago, MLA) keeps short words like of and the lowercase, which requires a dictionary of exceptions — apply those by hand after converting.
- What is CONSTANT_CASE used for?
- CONSTANT_CASE (also called SCREAMING_SNAKE_CASE) uppercases every word and joins them with underscores: max retries becomes MAX_RETRIES. It is the standard style for environment variables and for constants in languages like JavaScript, Python, and Java.
- What is the difference between Sentence case and lowercase?
- lowercase converts every letter down and leaves it there. Sentence case first lowercases everything, then re-capitalizes the first letter of the text and the first letter after each period, exclamation mark, or question mark — SHIPPING address. next STEP becomes Shipping address. Next step. It is the quickest fix for text typed with Caps Lock on.
- Is my text uploaded?
- No — the conversion runs in your browser on every keystroke and nothing is sent to a server. The same logic is validated against shared test vectors used by the ZoolTools mobile app.
Related tools
- Word & Character CounterCount words, characters, sentences, paragraphs and lines instantly. Runs entirely in your browser — your text never leaves your device.
- Slug GeneratorTurn any title into a clean, URL-friendly slug. Removes accents and punctuation; runs in your browser.
- Text ReverserReverse any string character by character. Handles Unicode correctly; runs locally.
- Remove Duplicate LinesStrip duplicate lines from a list, keeping the first occurrence. Optional case-insensitive and trim modes.
- Sort LinesSort lines alphabetically, ascending or descending, with optional case-insensitive comparison.
- Number Base ConverterConvert numbers between binary, octal, decimal and hexadecimal (or any base 2–36).