DevTools Hub

Case Converter

Convert text or an identifier between UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case and kebab-case, all at once.

Text or identifier

0 characters

UPPERCASE

lowercase

Title Case

Sentence case

camelCase

PascalCase

snake_case

kebab-case

How to use the Case Converter

Paste text or an identifier into the input panel. Every case appears below it at once — there is no mode to pick first.

Structural cases (Title, Sentence, camelCase, PascalCase, snake_case, kebab-case) split the input into words first, so a snake_case or camelCase identifier converts cleanly into any other case, not just plain prose with spaces.

UPPERCASE and lowercase are a direct character map instead, so they preserve your original spacing and line breaks exactly rather than collapsing them into a single word stream.

Copy any single result with the button on its card — there is no need to select text by hand.

Examples

snake_case to everything elseA database column name converted to seven other conventions.
Input
user_first_name
Output
userFirstName · UserFirstName · User First Name · user-first-name
camelCase to snake_caseThe common JavaScript-to-Python identifier conversion.
Input
userFirstName
Output
user_first_name
An acronym stays togetherXML is kept as one word instead of splitting into X, M, L.
Input
XMLHttpRequest
Output
xml_http_request

Frequently asked questions

Is my text uploaded anywhere?
No. Every conversion runs in your browser with plain string operations. Nothing you paste is transmitted, logged or stored, so it is safe to paste real variable names, database columns or config keys from a private codebase.
How does the tool know where one word ends and the next begins?
It looks for spaces, underscores and hyphens first, then also splits at case-boundaries inside a word — a lower-case or digit followed by an upper-case letter, as in helloWorld. Consecutive capitals are treated as an acronym and kept together, so XMLHttpRequest splits into XML, Http and Request rather than X, M, L, Http, Request.
What is the difference between Title Case and Sentence case?
Title Case capitalizes the first letter of every word: User First Name. Sentence case capitalizes only the very first letter and lower-cases the rest, the way a normal sentence is written: User first name.
Why did converting to UPPERCASE keep my original line breaks, but converting to snake_case did not?
UPPERCASE and lowercase are character maps applied to the input exactly as typed, spacing included. Every other case rebuilds the output from individual words joined by its own convention — a space, an underscore, a hyphen, or nothing — which is why those results are always a single line.

Related tools