How to Convert Text Case Online — UPPERCASE, lowercase, camelCase, snake_case
Convert text between UPPERCASE, lowercase, Title Case, camelCase, snake_case, kebab-case, and more — instant, free, no signup. Perfect for code, headlines, and filenames.
The cases explained in one table
| Name | Example | Where you see it |
|---|---|---|
| UPPERCASE | HELLO WORLD | Headlines, acronyms, environment variables |
| lowercase | hello world | Tags, URLs, most file paths |
| Title Case | Hello World | Book titles, page titles, headings |
| Sentence case | Hello world | UI copy, body text |
| camelCase | helloWorld | JavaScript, Java, C# variable names |
| PascalCase | HelloWorld | Class names, React components, C# types |
| snake_case | hello_world | Python, Ruby, SQL column names |
| kebab-case | hello-world | CSS classes, URLs, HTML attributes |
| CONSTANT_CASE | HELLO_WORLD | Config constants, env vars |
Title Case is harder than it looks
"Capitalize every word" is wrong. English style guides (AP, Chicago, MLA) agree that short prepositions (of, in, for, on, at), articles (a, an, the), and conjunctions (and, but, or, nor) stay lowercase unless they're the first or last word. The case converter implements AP-style Title Case by default — you'll see it produce "The Lord of the Rings" rather than "The Lord Of The Rings".
Converting between naming conventions in code
The hardest part is going between word-separated ones (snake_case, kebab-case) and concatenated ones (camelCase, PascalCase). The converter handles this cleanly: it tokenizes the input by any separator or case boundary, then re-emits in the target style. my_variable_name → myVariableName → MyVariableName round-trips without data loss.
Slug generation
For URL slugs specifically, you also need to strip non-ASCII characters, collapse multiple spaces, and remove special punctuation. The text-to-slug tool adds these steps: "Tomorrow's 15% Sale!" → tomorrows-15-sale.
Locale quirks
Case conversion isn't always reversible across languages. Turkish has two i's (dotted and dotless) that uppercase differently. German's ß has historically had no uppercase form (though ẞ now exists). The converter uses the JavaScript Intl.toLocaleUpperCase / toLocaleLowerCase for English by default — for other locales, specify one explicitly.
Related text tools
Need to remove duplicate lines after case-normalizing? Remove duplicate lines. Need to count words in the output? Word counter. Reversing the string entirely? Text reverser.
Featured Tools
Try these free tools directly in your browser — no sign-up required.
Case Converter
Convert text to UPPERCASE, lowercase, Title Case, camelCase, snake_case, and more. Transform any text case instantly with one click.
Text to Slug
Convert any text or title into a clean, SEO-friendly URL slug instantly. Strips special characters, spaces, and accents automatically.
Text Reverser
Reverse any text, words, or sentences instantly online. Mirror your string character by character or reverse word order with a single click.
Character Counter
Count characters with and without spaces in any text instantly. Perfect for Twitter, SMS, meta descriptions, and platforms with strict character limits.