Text Case Converter
camelCase, snake_case & More
Convert text to camelCase, PascalCase, snake_case, kebab-case, Title Case, and more. Live browser conversion with one-click copy—free online, no signup.
This conversion runs only in your browser — nothing is uploaded.
- Characters0
- Words0
Input
camelCase
PascalCase
snake_case
kebab-case
UPPER CASE
lower case
Title Case
Sentence case
What is this tool?
This text case converter turns a phrase, label, or identifier into eight naming styles at once: camelCase, PascalCase, snake_case, kebab-case, UPPER CASE, lower case, Title Case, and Sentence case.
It splits on whitespace, hyphens, underscores, and capital-letter boundaries, then strips non-alphanumeric characters from each token. That is handy for moving between human labels and code identifiers, but it can split acronyms (API → a, p, i) more aggressively than a human editor would.
Use it during refactors, schema design, CSS naming, file naming, API field mapping, and documentation cleanup.
Common use cases
- Rename a variable or JSON field across camelCase / snake_case / kebab-case in one paste
- Normalize a heading into Title Case or Sentence case for docs
- Preview how a mixed identifier (
getUserAPI) will expand before committing a rename
How to use
- Paste a phrase, heading, or identifier. Results update as you type.
- Use Sample to see space/underscore splits and consecutive-capital boundaries.
- Copy one case row, or Copy all labeled lines from the toolbar.
- Manually fix acronyms and non-ASCII letters—automated casing is not locale-aware.
Examples
| Input | camelCase | snake_case | kebab-case | Notes |
|---|---|---|---|---|
hello world | helloWorld | hello_world | hello-world | Common developer naming set. |
api response id | apiResponseId | api_response_id | api-response-id | Spaced words keep acronyms together. |
getUserAPI Response — hello_world | getUserAPIResponseHelloWorld | get_user_a_p_i_response_hello_world | get-user-a-p-i-response-hello-world | Sample: API splits to a/p/i. |
İstanbul | stanbul | stanbul | stanbul | Non A–Z letters can be stripped; not Turkish locale casing. |
Also generated for the same input: PascalCase, UPPER CASE, lower case, Title Case, and Sentence case.
Practical pitfalls
- Locale lower/upper is not applied. Default JS casing plus an A–Z/a–z/0–9 filter means Turkish
İ/ı, Germanß, and many non-Latin letters are dropped or mishandled—use ASCII for code identifiers. - Consecutive capitals (
HTTP,API) become single-letter tokens; prefer spaced input when you care about acronyms. - Punctuation and em dashes are removed during tokenization, so
Hello—Worldmay collapse differently thanHello World.
References
Last reviewed: 2026-07-27
Frequently asked questions
- Which case styles are generated?
- Eight at once: camelCase, PascalCase, snake_case, kebab-case, UPPER CASE, lower case, Title Case, and Sentence case. Copy one row or all labeled lines.
- How are words detected?
- Input is split on spaces, hyphens, underscores, and boundaries before capital letters (A–Z). Non-alphanumeric characters are stripped from each token.
- Why does API become a_p_i in snake_case?
- Consecutive capitals are treated as separate word boundaries, so API splits into a, p, and i. Paste spaced words (api response) when you need to keep acronyms intact.
- Are lower/upper locale-aware (Turkish İ, German ß)?
- No. The tool uses default JavaScript casing and keeps only A–Z/a–z/0–9 tokens, so locale-specific letters may be stripped or mapped incorrectly. Prefer ASCII identifiers for code naming.
- Is text uploaded?
- No. Conversion runs only in your browser.