Identifiers are not titles, and Turkish i is not English i
Lowercase and uppercase call JavaScript’s default case mapping. That mapping is not a locale. Turkish has dotted İ/i and dotless I/ı. Default toLowerCase() on a capital I becomes i (dotted), which is the wrong letter in Turkish. If you ship UI strings through this box for a tr-TR build, you will create bugs that only show up in Istanbul. Title case here uses a \w-style word grab that is ASCII-ish. “müller” and Devanagari will not follow a Chicago Manual of Style chapter I did not implement.
camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, and dot.case are identifier games. Pasting a paragraph into kebab-case is how you get a 400-character slug with “the” in it. Acronyms are not magical: getHTTPResponse split on capitals becomes a ransom of extra underscores. This is not a refactor across files. It will not rename imports. Paste a chunk, copy the result, move on.
Worked example: hello world
hello world → Title Hello World, camel helloWorld, snake hello_world, kebab hello-world, constant HELLO_WORLD. Use the one your linter already agreed on. Mixing snake in Python and camel in the JSON keys is a team choice; this box will not save you from that meeting.
Worked example: İstanbul / Turkish i
Type İSTANBUL and lowercase it. English brains expect istanbul. A Turkish locale expects dotted and dotless i to stay in their families. If the output looks “almost right,” it is still wrong for a tr-TR database column. Same class of bug: German ß vs SS in uppercase. I do not ship a CLDR database in this file. For product copy, case in the target locale’s own tools. For code identifiers, stick to ASCII.
Worked example: getHTTPResponse as snake_case
Naive capital splits turn HTTP into get_h_t_t_p_response or similar debris. The fix is to paste get Http Response or getHTTP Response with spaces you control, then convert. Identifier conversion is not a parser. If you needed a real codemod, use your language’s rename in the IDE. Pair with the regex tester when the job is “replace this pattern in a dump,” not “make it look like a constant.”
What else goes sideways
Scripts with no case (Han, many symbols). Emoji. hyphenated-compounds in title case that a publisher would leave small (“and”, “of”). Alternating and inverse case are toys; they exist because people ask. Sentence case capitalizes the first character of the whole paste, not each sentence. Bulk files: paste chunks. This is not a folder walk. Secrets in the box are on your screen; they are not uploaded, and they are still on your screen.
Constant case is for MAX_RETRY, not for a tweet. Dot.case shows up in Java package folklore and in some config keys; it will happily emit hello.world from a two-word paste. If you needed a URL slug, kebab-case is closer, but you still owe yourself punctuation stripping and a length cap this page will not enforce. Pair with the word counter when the slug has to fit a CMS field. Do not run customer names through camelCase and commit them as variable names.
Questions
Is the text uploaded?
No. The boxes stay in this tab. Shared screens and screenshots still exist.
Does this handle Turkish i?
It uses default JavaScript case mapping, not a tr locale. Dotted/dotless i will not follow Turkish rules. Do not case tr-TR UI copy here.
Why did getHTTPResponse become a mess in snake_case?
Capital-letter splits are naive. Put spaces where you want word boundaries, then convert. This is not an identifier parser.
Is title case a style guide?
No. It capitalizes word-like tokens. Publishing-house lists of small words are not implemented.
Can I rename a whole repo?
No. Paste chunks. Use your IDE’s rename for real symbols.
Unicode without case?
Han and many symbols will not change. That is correct, not a bug.