How are words split?
Spaces and symbols such as -, _, . and / separate words and are dropped from the result. A word also breaks before an uppercase letter that follows a lowercase one (userId → user, Id), before the last capital of an acronym followed by lowercase letters (XMLHttpRequest → XML, Http, Request), and before an uppercase letter after a digit (version2Beta → version2, Beta). Digits stay with the preceding word (md5Hash → md5_hash) unless you choose to treat numbers as separate words (version_2_beta). A trailing s after an acronym counts as a plural (userIDs → user, IDs). Emoji are removed. Names that start with a lowercase letter split: iPhone becomes i and Phone, iOS becomes i and OS, so fix those by hand if needed. In the text cases (Title Case, Sentence case), lines containing a dot (U.S.A., file.txt) are treated as prose and not split.
Which case should I use in each language?
Common conventions: camelCase for variables and functions in JavaScript, Java and Swift; PascalCase for classes and types; snake_case for variables and functions in Python, Ruby and Rust; CONSTANT_CASE for constants and environment variables; kebab-case for CSS classes, URLs and file names. Go uses PascalCase for exported names and camelCase for unexported ones. Follow your team's style guide if it says otherwise.
What are the Title Case rules?
English headings usually keep articles (a, an, the), coordinating conjunctions (and, but, or) and short prepositions (of, in, on, to) lowercase unless they are the first or last word. Style guides such as AP, Chicago and APA differ in the details, for example which prepositions count as short. This tool lowercases only the most widely shared short words. Turn the option off to capitalize every word.
userId or userID?
By default you get userId, which treats acronyms like normal words. Google's Java style guide does this for all acronyms; Microsoft's .NET guidelines do it for acronyms of three or more letters and keep two-letter ones uppercase (IOStream). With "Keep acronyms uppercase", words that were all caps in the input (ID, HTTP) stay uppercase: userID, XMLHttpRequest. If the whole input is in capitals, such as HELLO WORLD, no word is treated as an acronym.
What about the Turkish dotted i?
Conversion uses the standard Unicode rules, which do not depend on the language (locale). So the Turkish and Azerbaijani pairs i ↔ İ and ı ↔ I are not applied: i becomes I. The German ß becomes SS in uppercase, and the Greek final sigma (ς) is used correctly when lowercasing.
What happens to full-width or CJK characters?
Characters without case, such as Chinese or Japanese, are left unchanged. Full-width letters (ABC) change case but stay full-width. Choose "Convert full-width letters and digits to half-width first" to turn them into ABC before converting.