Text case converter
Fix accidental caps lock, tidy up headlines, or turn a phrase into a variable name. Paste once and see every case side by side: click any to copy.
Title Case capitalises the important words and leaves small ones - a, an, the, and, of, to, in - lowercase, except at the start. Sentence case only capitalises the first word and names.
Most modern apps and websites (Google, Apple, GOV.UK) use sentence case: it's quicker to read and avoids arguments over which words count as “small”.
Code can't have spaces in names, so each language settled on its own convention. Using the expected one makes code instantly familiar to others.
userProfileImagecamelCaseVariables and functionsUserProfileImagePascalCaseClasses, types and React componentsuser_profile_imagesnake_caseVariables, functions and database columnsMAX_UPLOAD_SIZECONSTANT_CASEConstants and environment variablesuser-profile-imagekebab-caseURLs, CSS classes and file namesuser.profile.imagedot.caseConfig keys and translation IDsUnicode case mapping is not a one-to-one swap. Some characters turn into two, some depend on the language, some depend on their position in a word, and some never come back. Every result below is computed by your browser’s own toUpperCase and toLocaleUpperCase, which follow Unicode’s SpecialCasing rules.
toUpperCase()24 code pointsİSTANBUL’DA IŞIK · IZMIRtoLowerCase()25 code points (+1)i̇stanbul’da ışık · izmirtoLocaleUpperCase('en')24 code pointsİSTANBUL’DA IŞIK · IZMIRtoLocaleLowerCase('en')25 code points (+1)i̇stanbul’da ışık · izmirAP and APA lowercase only short function words. Chicago and MLA lowercase every preposition, however long, but split on “so” and “yet”. Chicago also keeps the second half of a prefixed compound lowercase. Words marked in colour are where a style departs from AP.
Converting XMLHttpRequest to snake_case first means finding where each word ends. A rule that only splits at a lowercase-to-uppercase step leaves XMLHttp stuck together. Three real splitting strategies are run below, then the last column converts back to camelCase to show what can’t be recovered.
XMLHttpRequestXMLHttpRequestxmlhttp_requestXMLHttpRequestxml_http_requestXMLHttpRequestxml_http_requestinfoxmlHttpRequestgetHTTPSUrlgetHTTPSUrlget_httpsurlgetHTTPSUrlget_https_urlgetHTTPSUrlget_https_urlcancelgetHttpsUrlIPv6AddressIPv6Addressipv6addressIPv6Addressip_v_6_addressIPv6Addressip_v6_addressinfoipV6AddressuserIDuserIDuser_iduserIDuser_iduserIDuser_idcanceluserIdiOSAppStoreiOSAppStorei_osapp_storeiOSAppStorei_os_app_storeiOSAppStorei_os_app_storecanceliOsAppStorebase64Encodebase64Encodebase64encodebase64Encodebase_64_encodebase64Encodebase64_encodecheck_circlebase64Encodeuser_2fa_codeuser2facodeuser_2fa_codeuser2facodeuser_2_fa_codeuser2facodeuser_2_fa_codeinfouser2FaCodeparseJSON2CSVparseJSON2CSVparse_json2csvparseJSON2CSVparse_json_2_csvparseJSON2CSVparse_json2_csvcancelparseJson2Csvthe quick guide to converting files in ythequickguidetoconvertingfilesinythe_quick_guide_to_converting_files_in_ythequickguidetoconvertingfilesinythe_quick_guide_to_converting_files_in_ythequickguidetoconvertingfilesinythe_quick_guide_to_converting_files_in_yinfotheQuickGuideToConvertingFilesInYThe acronym column is where guides disagree most, and it decides what the tokenizer above has to cope with.
snake_caseCapWordsUPPER_CASECapitalise all letters of an acronym in CapWords: HTTPServerError.lowerCamelCaseUpperCamelCaseCONSTANT_CASETreat acronyms as words: XmlHttpRequest, loadHttpUrl. The DOM itself is inconsistent (XMLHttpRequest, innerHTML).lowerCamelCaseUpperCamelCaseCONSTANT_CASEDefines a deterministic camel-case algorithm that lowercases acronyms: supportsIpv6OnIos.mixedCapsMixedCapsMixedCapsInitialisms keep one case: URL or url, ServeHTTP, appID. Capital first letter means exported.snake_caseUpperCamelCaseSCREAMING_SNAKE_CASEAcronyms count as one word: Uuid, not UUID; Stdin.camelCasePascalCasePascalCaseTwo-letter acronyms stay upper (IOStream); longer ones are Pascal (XmlReader).lowerCamelCaseUpperCamelCaselowerCamelCaseAcronyms are uniformly up or down: utf8Bytes, URLSession, isRepresentableAsASCII.camelCasePascalCaseSCREAMING_SNAKE_CASETwo letters upper (IOStream); longer, capitalise first only (XmlFormatter).snake_caseCamelCaseSCREAMING_SNAKE_CASEKeep acronyms upper in class names: HTTPClient, XMLParser.camelCase methodsStudlyCapsUPPER_CASENot specified; PSR-1 only fixes the casing of each kind of name.kebab-casen/a--kebab-caseProperty and custom-property names are lowercase with hyphens; custom properties are case-sensitive.snake_case (convention)n/an/aUnquoted identifiers fold to upper case in the standard, to lower case in PostgreSQL.Clean up, count and reshape text.