Case Converter
Convert text between UPPERCASE, lowercase, Title Case, camelCase, snake_case, and more. Free and instant.
Paste your text and click any case button to convert instantly. Supports 10 different case styles.
Conversions happen in your browser, nothing is uploaded.
0 characters
Why Text Case Matters More Than You Think
Text case isn't just about aesthetics, it's about conventions, readability, and consistency. In programming, the wrong case breaks your code: a variable named "userName" is completely different from "username" in case-sensitive languages. In writing, case signals intent: ALL CAPS reads as shouting, Title Case looks professional, and sentence case feels natural.
Naming conventions exist for a reason. JavaScript uses camelCase for variables and PascalCase for classes. Python uses snake_case for functions and SCREAMING_SNAKE_CASE for constants. CSS uses kebab-case for properties. Mixing conventions makes code harder to read and maintain.
This converter handles all the common cases instantly. Paste your text, pick the target case, and copy the result. It handles edge cases like acronyms, numbers, and punctuation that trip up manual conversion.
Case Types Explained
| Case | Example | Used In |
|---|---|---|
| camelCase | myVariableName | JavaScript/TypeScript variables, Java methods |
| PascalCase | MyVariableName | React components, C# classes, TypeScript types |
| snake_case | my_variable_name | Python, Ruby, Rust, database columns |
| SCREAMING_SNAKE | MY_VARIABLE_NAME | Constants in most languages, environment variables |
| kebab-case | my-variable-name | CSS properties, HTML attributes, URL slugs |
| Title Case | My Variable Name | Headings, titles, UI labels |
| Sentence case | My variable name | Paragraphs, descriptions, normal text |
| UPPERCASE | MY VARIABLE NAME | Emphasis, headers, abbreviations |
| lowercase | my variable name | Normalisation, search, comparison |
| Toggle Case | mY vARIABLE nAME | Stylistic effect, inverting existing case |
What this means for you: When converting between cases, the tool splits your text into words first, then reassembles with the target convention. This means "myVariableName" correctly converts to "my_variable_name", it recognises word boundaries in any source format.
Naming Convention Best Practices
Be consistent within a project
Pick one convention per context and stick to it. If your API returns snake_case, use snake_case for those fields throughout. Mixing conventions in the same file is a code smell.
Follow language conventions
Every language has established norms. Python's PEP 8 says snake_case. JavaScript's community prefers camelCase. Fighting these conventions makes your code harder for other developers to read.
Handle acronyms carefully
Is it "XMLParser" or "XmlParser"? "getHTTPResponse" or "getHttpResponse"? Most style guides prefer treating acronyms as words: XmlParser, getHttpResponse. It's more readable and converts between cases more predictably.
Use case to signal intent
SCREAMING_SNAKE signals "don't change this" (constants). PascalCase signals "this is a class/component." camelCase signals "this is a variable/function." The case itself communicates meaning to other developers.
Case Conversion in Code
Most languages have built-in methods for basic case changes, but converting between naming conventions (camelCase → snake_case) usually requires a library or custom function:
| Language | Basic Case | Naming Convention |
|---|---|---|
| JavaScript | str.toLowerCase() | lodash: _.camelCase(str) |
| Python | str.upper() / str.title() | inflection.underscore(str) |
| Ruby | str.downcase / str.upcase | str.underscore / str.camelize |
| PHP | strtolower($str) | Str::camel($str) (Laravel) |
| SQL | UPPER(col) / LOWER(col) | No built-in support |
What this means for you: For a one-off conversion, paste your text above and copy the result. For bulk transformations in a codebase, use your editor's search and replace with regex, or a dedicated rename refactoring tool.
The Same Phrase in Every Case
Seeing one phrase run through every style makes the differences obvious. Here is "User Profile Settings" in each of the ten conversions this tool offers.
| Style | Result |
|---|---|
| UPPERCASE | USER PROFILE SETTINGS |
| lowercase | user profile settings |
| Title Case | User Profile Settings |
| Sentence case | User profile settings |
| camelCase | userProfileSettings |
| PascalCase | UserProfileSettings |
| snake_case | user_profile_settings |
| kebab-case | user-profile-settings |
| CONSTANT_CASE | USER_PROFILE_SETTINGS |
| tOGGLE cASE | uSER pROFILE sETTINGS |
Acronyms, Numbers, and Symbols
Conversions between naming conventions split your text into words first, and a few rules decide where those word boundaries fall. Knowing them helps you predict the output.
| Input | snake_case result | What happened |
|---|---|---|
| XMLParser | x_m_l_parser | A run of capitals splits letter by letter |
| XmlParser | xml_parser | Acronym written as one capitalised word |
| user2name | user2name | Digits stay attached, no new word |
| hello-world_test | hello_world_test | Mixed separators collapse to one |
The practical takeaway: write acronyms as a single capitalised word (Xml, Http, Api) and the conversions stay clean and predictable across every style.
Title Case vs Sentence Case
These two trip people up most. This tool's Title Case capitalises the first letter of every word, which is ideal for UI labels, button text, and short headings where a clean, even look matters.
Editorial title case in the AP and Chicago styles is stricter: it keeps short words such as "a", "an", "the", "of", "in", and "and" lowercase unless they begin or end the title. So "the lord of the rings" becomes "The Lord of the Rings", not "The Lord Of The Rings". If you are following a house style guide, expect to lowercase those small words by hand after converting.
Sentence case capitalises only the first word of the text and the first word after each full stop, question mark, or exclamation mark. It is the most natural choice for body copy, descriptions, and notifications, and it reads far more calmly than Title Case in a long sentence.
Case Sensitivity Gotchas
Getting the case right is not just style. In several places, the wrong case quietly breaks things, so it pays to know where case actually matters.
- JSON keys are case-sensitive:
nameandNameare two different keys. - URLs: the domain is never case-sensitive, but the path usually is on Linux servers, so /About and /about can be two different pages.
- Filesystems: Linux is case-sensitive, while macOS and Windows are usually case-insensitive but preserve the case you typed. Code that works on a laptop can fail on a Linux server over a single capital.
- SQL: whether identifiers and text comparisons are case-sensitive depends on the database and its collation, so never assume "Smith" and "smith" match.
- CSS and HTML: tag names are case-insensitive, but class names and IDs are case-sensitive, so
.Cardwill not match.card.
Choosing the Right Case
- Variables and functions: camelCase in JavaScript, Java, and Swift; snake_case in Python, Ruby, and Rust.
- Classes, components, and types: PascalCase almost everywhere, including React components and C# classes.
- Constants and environment variables: CONSTANT_CASE to signal a value that should not change.
- URLs, CSS, and file names: kebab-case, which reads well in a web address and avoids case-sensitivity surprises.
- Headings and body text: Title Case for short headings, Sentence case for anything longer than a few words.
Related Tools
How to use this tool
Paste or type your text into the input box
Click the desired case style button
Copy the converted text to your clipboard
Common uses
- Converting headings to Title Case for blog posts
- Generating UPPER CASE text for design mockups
- Creating camelCase or snake_case variable names
- Cleaning up ALL CAPS text from legacy data
Share this tool
Frequently Asked Questions
What case conversions are supported?
Is my text stored or sent anywhere?
What's the difference between camelCase and PascalCase?
When should I use snake_case vs kebab-case?
What is CONSTANT_CASE?
How does the tool handle acronyms?
Can I convert between programming naming conventions?
What is Toggle Case used for?
Does Title Case handle articles and prepositions?
Can I convert entire paragraphs?
How does Sentence case work?
Is there a keyboard shortcut?
Results are for general informational purposes only and should be checked before use. They are not professional advice. See our Disclaimer and Terms of Service.