Input
All conversions
Preview of the first 80 characters in every style. Click a style above the output to convert the full text.
Output
| Characters | 0 |
| Words detected | 0 |
Switch text between UPPER, lower, Title, Sentence, camelCase, snake_case, kebab-case, and more.
Preview of the first 80 characters in every style. Click a style above the output to convert the full text.
| Characters | 0 |
| Words detected | 0 |
This case converter changes the capitalization or word-joining style of any text in one click. It handles the everyday cases writers need, such as UPPERCASE, lowercase, Title Case, and Sentence case, and the identifier styles programmers need, such as camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, and dot.case, plus aLtErNaTiNg and iNVERSE case for informal use. It is useful for fixing a headline typed in caps lock, renaming variables when moving between languages or style guides, turning a title into a filename or CSS class, and normalizing lists. All twelve conversions are shown at once so you can compare them.
Simple cases use the Unicode-aware toUpperCase and toLowerCase functions. Title Case lowercases the text and capitalizes each word except short words such as a, an, the, of, and, in, on, for, and to, which stay lowercase unless they are the first or last word or follow a colon or sentence end. Sentence case lowercases everything, then capitalizes the first letter of the text and the first letter after a period, exclamation mark, question mark, or line break, and restores the pronoun I. The programming cases first split the text into words at spaces, punctuation, hyphens, and underscores, and at lowercase-to-uppercase and acronym boundaries (so XMLParser becomes XML and Parser), then join the lowercased words with the style's separator or capitalization rule. Apostrophes are dropped so that it's becomes its rather than two words.
Articles, short conjunctions, and short prepositions: a, an, the, and, but, or, nor, for, so, yet, as, at, by, in, of, on, per, to, up, via, and vs. This follows the common AP and Chicago practice. The first and last words are always capitalized, as is any word after a colon, period, question mark, or exclamation mark.
The splitter inserts a boundary between a lowercase letter or digit and an uppercase letter, and between a run of capitals and a following capital plus lowercase, so getHTTPResponse splits into get, HTTP, Response and comes back as getHttpResponse, get_http_response, or GET_HTTP_RESPONSE depending on the target style.
Numbers are kept as words in identifier cases (version 2 beta becomes version2Beta or version_2_beta). Punctuation other than apostrophes acts as a word separator and is removed from identifier cases but left alone in UPPER, lower, Title, Sentence, alternating, and inverse cases. Accented letters convert case correctly because JavaScript's case mapping is Unicode-aware.
Yes. It lowercases the whole text first, then capitalizes the start of each sentence, so THIS IS LOUD. VERY LOUD becomes This is loud. Very loud. Proper nouns are not recognized, so names such as paris or nasa will need manual capitalization afterwards.
Word Counter · Text Diff · Lorem Ipsum Generator · Slug Generator · Line Tools · Find and Replace · Markdown Preview · Text Cleaner
Browse all Text Tools, or go back to every free tool on HeroYears.