Text Case Converter
Convert text to camelCase, snake_case, kebab-case, PascalCase, CONSTANT_CASE, Title Case, and 7 more. Free, instant, in-browser.
What this does
Converts your input text into 13 different case styles, all at once. Click “Copy” next to any one to grab just that variant.
The tool understands word boundaries from any input format. It splits on:
- Whitespace
- Underscores, hyphens, dots
- camelCase / PascalCase boundaries (lowercase→uppercase transitions)
- Number/letter transitions
So helloWorldFOO_bar-baz123 parses as 6 words: hello, World, FOO, bar, baz, 123. Every output style works from the same word split.
All 13 case formats
| Format | Example | When to use |
|---|---|---|
| lower case | hello world | Plain prose, lowercase tags |
| UPPER CASE | HELLO WORLD | Emphatic shouting, headings in old print, SQL keywords |
| Title Case | Hello World | Article and book titles, headings |
| Sentence case | Hello world | Body text, the default for English prose |
| camelCase | helloWorld | JavaScript, Java variable names, JSON keys (sometimes) |
| PascalCase | HelloWorld | Class names in most languages, React components |
| snake_case | hello_world | Python variables, Ruby methods, database columns, JSON sometimes |
| kebab-case | hello-world | URLs, CSS classes, HTML IDs, Lisp identifiers |
| CONSTANT_CASE | HELLO_WORLD | Constants, environment variables, SQL constants |
| dot.case | hello.world | Property paths, namespaces, log keys |
| path/case | hello/world | URL paths, file paths |
| iNVERSE cASE | hELLO wORLD | Toggling individual character case (programmer humor) |
| aLtErNaTiNg | hElLo WoRlD | “Mocking spongebob” formatting |
Common engineering uses
- Renaming a variable consistently across files. You change
userIdtouser_idin your Python backend; convert and search-replace. - Generating a CSS class from a component name.
MyButton→my-button. The kebab-case row. - Generating an env var from a config key.
databaseUrl→DATABASE_URL. The CONSTANT_CASE row. - Slugifying a title for a URL. Better handled by a dedicated slugifier for full URL-safe output, but kebab-case is usually 90% of the way.
- Migrating a JSON API between snake_case and camelCase conventions. Paste each key, swap, re-emit.
Edge cases handled correctly
- Acronyms in input.
HTTPRequestparses asHTTP+Request, notH+TTPRequest. SoHTTPRequest→ snake →http_request. PascalCase output preserves clean reading. - Numbers between letters.
version2Setup→version_2_setup(snake),version2Setup(camel preserved if you input camel). - Repeat punctuation.
hello___worldreduces tohello worldbefore re-styling. Same for--and multiple spaces. - Mixed input.
Hello-WorldFOO_barworks.
What this is NOT
- Not a Unicode normalizer. Accented characters (é, ñ) pass through unchanged. Use a proper slugifier if you need ASCII output.
- Not a translator. Case conversion is structural, not semantic. “Hello World” in title case stays “Hello World” — it doesn’t know that small words should sometimes be lowercase (“Of”, “The”, “And”) in journalistic title case.
- Not for HTML. The output is plain text. If you need to escape HTML entities, see HTML Entity Encoder .
Privacy
Runs entirely in your browser. Your text stays local.