Case Converter — Change Text Case in Your Browser
Convert text to uppercase, lowercase, title case, sentence case, camelCase, snake_case, kebab-case, and more. Runs entirely in your browser.
Case Converter
Convert text between uppercase, lowercase, title case, and sentence case.
Text case is one of those things that looks trivial — just hit the caps lock key — until you need to convert between conventions that no single keystroke handles. The English-writing cases (UPPER, lower, Title, Sentence) are easy because every word processor has a menu for them. The programming cases (camelCase, snake_case, kebab-case, PascalCase, CONSTANT_CASE) are the ones that need a tool, because they are conventions invented by specific programming communities: snake_case for Python and Rust, camelCase for JavaScript and Java, kebab-case for CSS and URLs, CONSTANT_CASE for constants in any language. Each is a different transformation of the same input, and the rules differ on what counts as a word boundary.
The non-obvious thing about case conversion is word boundary detection. English splits on spaces; programming cases need to split on camelCase boundaries (the B in myVariableName is a boundary because it is uppercase), on underscores, on hyphens, and on digit-to-letter transitions. The tool here applies all of these in sequence so a mixed input like myVariable_name becomes a clean snake_case my_variable_name or a clean camelCase myVariableName depending on the chosen style. The default is to normalize input to lowercase first, then re-case per the chosen style, which produces consistent output regardless of the input’s original formatting.
For a final hand-off: if the goal is a URL slug, the kebab-case output here is close to what you need but the URL Slug tool adds the extra step of stripping non-URL-safe characters, collapsing runs of dashes, and removing leading/trailing whitespace. If the goal is a JSON property name, snake_case is the right pick. If the goal is a class name in TypeScript or Java, PascalCase. The tool covers all of these and the right pick depends on the destination, not on the input.
How to use
Paste your text
Drop the text into the input area. Multi-line text is supported and the conversion applies per-line, so mixed-case paragraphs all transform at once.
Pick a case style
Choose from uppercase, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, or dot.case. The preview updates as you switch.
Copy or download the result
Copy the converted text to your clipboard, or download it as a .txt file. For multi-thousand-line inputs, the copy/download is faster than re-selecting the text in the preview.
Frequently asked
Which case is right for a Python variable?
snake_case for variables and functions (my_variable_name), PascalCase for classes (MyClassName), CONSTANT_CASE for module-level constants (MAX_RETRIES). The tool supports all three.
What is the difference between Title Case and Sentence case?
Title Case capitalizes the first letter of every word ('The Quick Brown Fox'). Sentence case capitalizes only the first letter of each sentence and leaves the rest lowercase, matching normal English prose.
Does Title Case handle small words like 'and' and 'the'?
The default Title Case style capitalizes the first letter of every word. Toggle the 'ignore small words' option to keep articles, conjunctions, and prepositions lowercase except at the start of the title.
How does camelCase handle words that are already capitalized?
Input is normalized to lowercase first, then each word boundary is capitalized except the first. Acronyms lose their caps unless you toggle the 'preserve acronyms' option, which detects runs of 2+ uppercase letters.
Will non-ASCII characters be preserved?
Yes — Unicode letters (Cyrillic, Greek, CJK) round-trip through the case operations. The tool uses Unicode-aware case mapping so 'İSTANBUL' lowercases correctly to 'istanbul' with the dotted I.
Limitations
- No locale-specific rulesThe case styles follow English and programming conventions. Locale-specific rules (Turkish dotless I, German sharp S) are not applied. For Turkish text, use a locale-aware tool like ICU's case mapper.
- No acronym detection by defaultAPI, URL, ID become 'api', 'url', 'id' in camelCase/PascalCase. Toggle the 'preserve acronyms' option to keep their capitalization, which is the right pick for technical identifiers.
- Title Case is stylebook-agnosticDifferent stylebooks disagree on which words to capitalize in titles (AP, Chicago, MLA all differ). The default follows AP's short-list of small words. For strict Chicago style, post-process the output.
Platform notes
- macOS
- TextEdit and the macOS text replacement system do not cover camelCase, snake_case, or kebab-case. This tool is the right pick for code-style conversions that no OS shortcut can do.
- Windows
- Microsoft Word's 'Change Case' menu covers the basics (UPPER, lower, Title, Sentence) but not the programming styles. The tool adds the code-friendly case styles that Word does not expose.
- Linux
- For command-line work, `tr '[:lower:]' '[:upper:]'` handles simple uppercase/lowercase. The browser tool is the right pick for the code-style conversions that `tr` cannot do.
- Web
- Runs entirely client-side. Works offline once the page has loaded. Useful for ad-hoc conversions in restricted environments where opening a terminal or installing software is not an option.