How to use this tool
- Paste the text you want to convert, or load the example.
- Choose one of the seven letter-case styles.
- Choose Transform text, review names and abbreviations, then copy or download the result.
Convert a label to snake_case: example
Input
HTTPResponse Label
Result
http_response_label
Quick reference
| Setting | Value / behavior |
|---|---|
| Ordinary cases | UPPER · lower · Title · Sentence |
| Identifier styles | camelCase · snake_case · kebab-case |
| Word characters | Unicode letters, numbers and combining marks |
| Locale | JavaScript locale-independent casing |
| Limit / download | 200,000 UTF-16 characters · UTF-8 .txt |
Choose a case for the destination
Paste a heading, sentence or label, select a letter case and choose Transform text. Uppercase and lowercase keep punctuation and whitespace while changing the case of letters. Title Case capitalizes the beginning of each recognized word and lowercases the rest. Sentence case lowercases the text, then capitalizes the first letter at the beginning and after a period, question mark or exclamation mark followed by whitespace. These are mechanical transformations for drafts and labels. They do not interpret meaning, enforce a publication style guide or reliably preserve proper names and abbreviations. Check the result before using it in a title or finished document.
How identifier-style output is built
camelCase, snake_case and kebab-case first split the input into letter-and-number groups. Spaces and punctuation become boundaries; existing underscores and hyphens are replaced by the chosen output style. Lowercase-to-uppercase transitions split words, while an uppercase acronym followed by a mixed-case word gets its own boundary. For example, HTTPResponse becomes httpResponse, http_response or http-response. Numbers are retained, and a lowercase-or-number to uppercase transition creates a boundary, so request2D becomes request2_d in snake case. Identifier styles remove punctuation and emoji rather than encoding them. They can produce an empty result when the input contains no letters or numbers.
Unicode support and language limits
The implementation recognizes Unicode letter, number and combining-mark categories. Romanian letters such as ș and ț, accented words such as café and many non-Latin scripts are retained. Ordinary case conversion uses JavaScript’s locale-independent Unicode mappings. This is not Turkish-specific casing, transliteration or accent removal, and a case change can expand one character into several. Combining marks stay with their word, but the tool does not normalize composed and decomposed spellings. Word boundaries are based on character groups rather than a language dictionary: text without spaces is not segmented into linguistic words. Title Case keeps interior apostrophes within a word, so DON’T becomes Don’t.
Review, copy and reuse the result
Title Case capitalizes all recognized words rather than applying editorial exceptions for articles, conjunctions or prepositions. Sentence case uses punctuation as a heuristic, so abbreviations, initials, names and code can require manual corrections. Identifier output may start with a digit or contain non-ASCII letters; it is not a validator for any programming language, database identifier, URL slug or filename policy. Input is limited to 200,000 UTF-16 characters. A new selection or edit clears the old result, and the source remains in its field until you clear it. Copy result uses the clipboard on request; Download result creates a UTF-8 text file. No account, API call or text upload is needed.
Frequently asked questions
Does Title Case follow a specific style guide?
No. It capitalizes every recognized word. Publication rules for small words, names and acronyms require review.
Will camelCase output be a valid variable name?
Not necessarily. Output may begin with a number, include non-ASCII characters or match a reserved word. Validate it for your target language.
Does it support Romanian accents?
Yes. Unicode letters and combining marks are recognized, including Romanian ș, ț, ă, â and î. It does not transliterate them to ASCII.
Can uppercase change the character count?
Yes. Unicode casing can expand a letter into multiple characters. The output count reports Unicode code points, while the input limit uses UTF-16 units.
About this tool
Built and maintained by Mihai at Void Fabric. This page documents the behavior of the current implementation. Found an error or an unclear assumption? Send a reproducible example with sensitive values removed.
Reference: Void Fabric field notes · Testing and editorial policy