How to use it
This case converter changes the capitalization of any text in one step: UPPER CASE, lower case, Sentence case, Capitalize Each Word or tOGGLE cASE. It also turns phrases into the naming styles programmers use every day, from camelCase and PascalCase to snake_case, kebab-case and CONSTANT_CASE. Paste a shouty email, an exported spreadsheet column or a list of field names, pick a style and copy the clean result.
How to use the case converter
- Paste or type your text into the input box.
- Pick a style from the "Convert to" list.
- Leave "Letter rules" on Standard, the default on this page, for English and most other languages; choose Turkish only when the text itself is Turkish.
- Press "Run tool" or use Ctrl + Enter.
- Take the result with "Copy output" or save it with "Download output"; "Clear" resets the tool for the next piece of text.
Five text styles at a glance
| Style | Input | Output |
|---|---|---|
| UPPER CASE | final notice | FINAL NOTICE |
| lower case | PLEASE READ THIS | please read this |
| Sentence case | THE MEETING MOVED. NEW TIME IS 3 PM! | The meeting moved. New time is 3 pm! |
| Capitalize Each Word | don't forget the keys | Don't Forget The Keys |
| tOGGLE cASE | hELLO wORLD | Hello World |
Sentence case lowercases the whole text first. It then capitalizes the first letter of the text, the first letter of every line, and the first letter after a period, exclamation mark, question mark or ellipsis that is followed by a space. Capitalize Each Word also starts by lowercasing, then raises the first letter of every word. A hyphen counts as a word boundary, so "well-known" becomes "Well-Known", but the letter after an apostrophe is left alone, which is why you get "Don't" rather than "Don'T". Toggle case flips every letter: it is the quickest repair for a line typed while Caps Lock was on and Shift was held for the first letter.
Naming styles for code and data
The five developer styles work line by line, and each line of input becomes one identifier. Anything that is not a letter or a digit separates words, including spaces, hyphens, underscores and dots, and existing camelCase boundaries are detected too. That is how "myHTTPServer url" becomes myHttpServerUrl and getUserID turns into get_user_id in snake_case.
| Style | "user first name" becomes | Where it is common |
|---|---|---|
| camelCase | userFirstName | JavaScript and Java variables and functions, many JSON APIs |
| PascalCase | UserFirstName | Class names, React components, C# types and methods |
| snake_case | user_first_name | Python functions and variables, SQL tables and columns |
| kebab-case | user-first-name | CSS class names, URL paths, file names |
| CONSTANT_CASE | USER_FIRST_NAME | Constants and environment variables |
Python's style guide, PEP 8, recommends snake_case for functions and variables and PascalCase for classes, while most JavaScript code uses camelCase for variables. Within a project, consistency matters more than the choice itself. One practical trick: to tidy spreadsheet headers, paste them one per line, convert them to snake_case and put them back in the header row. Headers pasted as a single comma-separated line would merge into one long name. Once the headers are clean, the CSV to JSON converter produces keys in the same style.
Accented letters such as é or ø are kept exactly as they are, because the converter does not transliterate. Many programming languages accept them in identifiers, yet environment variables, older databases and teams on different keyboard layouts all cope better with plain ASCII. If what you need is an ASCII-only URL slug, the slug generator strips accents and joins lowercase words with hyphens.
Why there is a Turkish letter option
English pairs i with I. Turkish has two separate pairs: dotted i, whose capital is İ, and dotless ı, whose capital is a plain I. Converters that apply the English pairing damage Turkish text: "istanbul" becomes "ISTANBUL" instead of "İSTANBUL", and the word "KIZ" (girl) lowercases to "kiz" instead of "kız". With Turkish rules selected, uppercasing turns i into the dotted capital and lowercasing turns I into the dotless letter, so these words come out right. Turkish rules are the default on the Turkish version of this page.
Standard rules follow English behaviour, swapping i and I, and that is what you want for English text. Running a word like INFO through Turkish rules would give it a dotless i, which looks like a typo in English. In both modes a dotted capital lowercases to a plain i. Some environments, JavaScript among them, add an invisible combining dot after the i in that case; it does not show on screen but makes searches and comparisons fail. This converter never adds it.
Common mistakes and how to avoid them
- Sentence case lowercases proper nouns. The converter has no dictionary, so "MEET ANNA IN PARIS" becomes "Meet anna in paris", and the pronoun I turns into a small i mid-sentence. Fix names, brands, places and acronyms by hand afterwards.
- Abbreviations look like sentence endings. A period followed by a space starts a new sentence, so "fruit, e.g. apples" comes out as "Fruit, e.g. Apples". Scan text that is full of abbreviations.
- Capitalize Each Word is not style-guide title case. Most English style guides keep short words such as "of", "the" and "and" lowercase inside a headline; this mode capitalizes them all, so "the end of the road" becomes "The End Of The Road". Names such as O'Neill also need a manual touch, because the letter after the apostrophe stays small.
- Long passages in ALL CAPS are tiring to read. Capitals remove the varied word shapes readers rely on, and in email or chat they come across as shouting. Keep upper case for short labels, warnings and headings.
- Separators change length.
userFirstNameis 13 characters,user_first_nameis 15. If a column or form field has a limit, check the result with the character counter. - Bulk renames deserve a review. After converting the keys of a config file, compare the old and new versions in the text diff checker to confirm that only the lines you meant to change are different.
Privacy
The conversion runs in JavaScript inside your browser tab. Your text is not sent to the server; the only thing the page records is an anonymous counter showing that the tool was run. The tool sets no length limit of its own, so long documents work as far as your browser's memory allows, and your original stays untouched in the input box. More writing helpers are listed under text tools.