Case Converter
Paste any identifier or phrase and see it in every case at once — camelCase, snake_case, kebab-case, PascalCase and more — then copy the one you need.
- Free
- No account
- Runs in your browser
- Nothing uploaded
http server errorHTTP SERVER ERRORHttp Server ErrorHttp server errorhttpServerErrorHttpServerErrorhttp_server_errorHTTP_SERVER_ERRORhttp-server-errorHTTP-SERVER-ERRORhttp.server.errorhttp/server/errorRuns entirely in your browser — your input is never uploaded, logged, or stored.Privacy policy
What is Case Converter?
Every programming language and ecosystem picked its own way to spell compound names. JavaScript and Java write variables and functions in camelCase (myVariableName), classes and React components in PascalCase (MyComponent), and constants in SCREAMING_SNAKE_CASE (MAX_RETRY_COUNT). Python and Ruby prefer snake_case (my_variable_name). CSS classes and URL slugs use kebab-case (my-variable-name). When you port code between languages, generate an environment-variable key, or build a URL slug, you end up converting between these by hand — fiddly, and easy to get wrong when a name has many words.
This tool does that conversion for you. You paste an identifier, a phrase, or a whole list of names, and it splits the text into its component words and shows you every common format at once: lowercase, UPPERCASE, Title Case, Sentence case, camelCase, PascalCase, snake_case, SCREAMING_SNAKE_CASE, kebab-case, SCREAMING-KEBAB-CASE, dot.case and path/case. Everything updates live as you type, so you read the format you want off the grid and copy it with one click — no conversion button, no re-running.
Because identifiers cannot contain spaces, converting them means first guessing where the words begin and end. This is genuinely hard: an input like HTTPServerError could read as HTTP Server Error or Http Server Error, and J2SEProjectTypeProfiler only splits correctly if you know J2SE is a single unit. This tool uses a documented heuristic — it recognises camelCase humps and treats consecutive capitals like HTTP as one token — and it is honest that no rule set is perfect for every ambiguous name. All of it runs locally in your browser; nothing you type is uploaded.
Conversion happens in two steps: split the input into word tokens, then rejoin those tokens in the target case.
Splitting: the input is broken into runs of letters and digits, then each run is further split on delimiters (space, underscore, hyphen, dot, slash) and on camelCase boundaries. A hump is a lowercase or digit directly followed by an uppercase (myVariable → my | Variable). Consecutive capitals are treated as an acronym unit when an uppercase is followed by uppercase-then-lowercase (HTTPServerError → HTTP | Server | Error). This mirrors how editors and linters split identifiers; it is a heuristic, not an oracle, and remains ambiguous for inputs with no case transitions or unusual acronyms.
Rejoining: tokens are lowercased or capitalised per target case and joined with the right separator — lowercase/Title/Sentence join with a space, camelCase and PascalCase join with nothing, snake_case with an underscore, kebab-case with a hyphen, dot.case with a dot, path/case with a slash. Uppercased variants (SCREAMING_SNAKE_CASE, SCREAMING-KEBAB-CASE) simply uppercase the joined tokens.
Worked examples
- hello world → camelCase: helloWorld · PascalCase: HelloWorld · snake_case: hello_world · kebab-case: hello-world
- my_variable_name → camelCase: myVariableName · PascalCase: MyVariableName · kebab-case: my-variable-name
- HTTPServerError → snake_case: http_server_error (acronym HTTP stays one token)
- OPEN_FORMATTER_TEXT_CASE_CONVERTER → camelCase: openFormatterTextCaseConverter
- hello-world → camelCase: helloWorld · SCREAMING_SNAKE_CASE: HELLO_WORLD
How to use Case Converter
- Type or paste an identifier or phrase into the input box.
- Read the grid that updates live — every case is shown at once.
- Find the format you need (for example snake_case for a Python variable).
- Click Copy on that row to put the converted value on your clipboard.
- For a list of identifiers, enable Convert each line so every line is converted independently. Start over with the sample by pressing Reset sample.
Common errors
- An acronym split unexpectedly — for example HTTPServerError becoming HTTP Server Error (or a single token). Consecutive capitals are treated as one unit, but there is no universally correct answer for names that concatenate acronyms with words; this is an inherent ambiguity, not a bug. If the split looks wrong, check the format you expect from your project's own convention.
- A name with no separators and no case transitions converts as one word — for example sizeof stays sizeof because there is no boundary to detect. Nothing is wrong with the tool; there is simply no signal in the input to split on.
- Empty input — nothing to convert. Type or paste some text first.
- Digit-only fragments — a name like base64Encode keeps 64 glued to base. Digits are treated as part of the preceding or following word token rather than as separate words.
FAQ
Does this tool send my identifiers anywhere?
No. All splitting and re-joining happens locally in your browser with plain JavaScript. Nothing you type is uploaded to a server, so it is safe to paste private variable names, secrets, or internal API keys.
Which cases does this converter support?
lowercase, UPPERCASE, Title Case, Sentence case, camelCase, PascalCase, snake_case, SCREAMING_SNAKE_CASE, kebab-case, SCREAMING-KEBAB-CASE, dot.case and path/case — twelve formats shown together in a live grid.
Why did HTT...ServerError not split the way I expected?
Splitting an identifier into words is genuinely ambiguous — HTTPServerError could be HTTP Server Error or Http Server Error, and J2SE only stays as one word if the converter recognises it. This tool treats consecutive capitals as a single acronym token and uses lower-to-upper transitions as word boundaries, which matches how most editors and linters split names, but unusual acronyms may still split differently than you'd like. No rule set is perfect for every name.
What is the difference between camelCase and PascalCase?
Both join words without separators and capitalise each new word. The difference is the first letter: camelCase starts lowercase (myVariableName) and is standard for variables and functions in JavaScript and Java, while PascalCase starts uppercase (MyVariableName) and is standard for classes and types in most object-oriented languages, including React/TypeScript components.
When should I use snake_case instead of kebab-case?
snake_case (underscores) is used in Python, Ruby, Rust, and most database column names, and is valid in identifiers. kebab-case (hyphens) is used in URLs, CSS class names, HTML attributes, and command-line flags — but hyphens are not valid in most programming identifiers, which is why URLs use kebab-case and code uses snake_case.
Related tools
Prefer AllUtil on Google
One click adds AllUtil to your Google preferences. You'll see our tools highlighted with a Preferred badge in Search and AI answers.