Switching letter case is the kind of micro-task that interrupts every writer and developer about a dozen times a week. You paste a tweet that came back UPPERCASE FROM A SCREAMING REPLY and need it back to sentence case. You name a CSS file and need my-component-styles.css instead of MyComponentStyles.css. You copy a section heading from a PDF that arrived in InCoNsiStEnT mIxEd CaSe. Word and Google Docs handle the basics (Shift+F3 in Word; Format → Text → Capitalization in Docs), but neither covers the programming cases developers reach for daily.
Our case converter handles 12 case types in one tool, runs entirely in your browser, and gets the edge cases right (locale-aware Turkish dotted-I, ligatures, accented characters, mixed-script content). This guide explains every case, when to use which, the gotchas the obvious tools miss, and the keyboard-shortcut alternatives that fail on programming cases.
All 12 case types and when to use each
| Case | Example | When to use |
|---|---|---|
| UPPERCASE | HELLO WORLD |
Headings in caps style guides, acronyms, SQL keywords |
| lowercase | hello world |
Email addresses, URLs, hashtags, casual UI labels |
| Title Case | Hello World From Mars |
Headings in AP/Chicago style; book and article titles |
| Sentence case | Hello world from mars |
Modern UI copy (Google, GitHub, Apple HIG since 2015) |
| camelCase | helloWorldFromMars |
JavaScript variables, JSON keys, Java methods |
| PascalCase | HelloWorldFromMars |
Class names (TypeScript, C#, Python), React components |
| snake_case | hello_world_from_mars |
Python variables, Ruby methods, PostgreSQL columns |
| CONSTANT_CASE | HELLO_WORLD_FROM_MARS |
Environment variables, language constants, enums |
| kebab-case | hello-world-from-mars |
URLs, CSS class names, npm packages, file names |
| Train-Case | Hello-World-From-Mars |
HTTP headers (Content-Type, X-Forwarded-For) |
| dot.case | hello.world.from.mars |
i18n keys, Java packages, namespaced configs |
| iNVERSE cASE | hELLO wORLD FROM mARS |
Fixing a CapsLock-on paragraph; novelty effect |
Title Case is the most misunderstood case
Title Case looks simple — capitalise the important words — but the major style guides disagree on which words count. AP Style capitalises words of 4+ letters; Chicago Style capitalises 5+ letters and treats is, be, are as significant; APA Style capitalises any word longer than 3 letters; MLA Style capitalises the first and last word regardless of length, plus all major words. The result: the same headline can be valid Title Case under one guide and incorrect under another.
Our converter follows AP Style by default (the most common guide for web headlines and blog posts) and lowercases articles (a, an, the), short prepositions (at, by, in, of, on, to, up), and short conjunctions (and, but, or, nor, for, so, yet). The first and last word are always capitalised regardless. If you need Chicago or APA, use Title Case as a starting point and manually adjust the borderline words — typically 1-2 per headline.
How to convert text case in your browser
- Open the case converter
- Paste or type your text in the input box
- Click any of the 12 case buttons — output appears instantly
- Click Copy to copy to clipboard, or Download .txt for long text
- Optional: tick the AP/Chicago/MLA selector for Title Case style preference
The Turkish dotted-I problem (and other Unicode gotchas)
Naive case conversion (str.toUpperCase() in JavaScript without a locale) breaks for Turkish and Azerbaijani. The Turkish alphabet has two distinct letters: I (uppercase, no dot) and İ (uppercase, with dot). Lowercase i uppercases to İ; lowercase ı (dotless i) uppercases to I. Default JavaScript ignores this and produces I for both, corrupting Turkish text.
Our converter uses toLocaleUpperCase() and toLocaleLowercase() with an auto-detected locale, so istanbul → İSTANBUL in Turkish content (correct) rather than ISTANBUL (wrong). Similar fixes apply to German ß (uppercases to SS in modern Unicode, or to ẞ if you prefer the new capital eszett), Greek final sigma ς (lowercases differently from middle σ), and Lithuanian dotted letters.
Common gotchas
- Acronyms in Title Case. Most converters lowercase acronyms in Title Case (
Nasa Launches Probe). Our tool preserves all-caps tokens of 2-5 letters as acronyms (NASA Launches Probe). - Hyphenated words. Title Case style guides disagree on capitalising the second part of a hyphenated word. AP capitalises both (
State-Of-The-Art); Chicago lowercases the second part for closed compounds (State-of-the-art). Pick one and be consistent. - Programming cases on existing camelCase. Converting
parseHTMLStringto snake_case requires detecting the acronym boundary. Naive splitters produceparse_h_t_m_l_string; our converter outputsparse_html_string. - Numbers in slugs. kebab-case for URLs should preserve digit boundaries.
iPhone16Probecomesi-phone-16-pro, notiphone16pro. Search-engine readability matters. - Sentence case across multiple sentences. Sentence case capitalises the first letter of every sentence, not just the first letter of the whole input. Single-period detection is fragile (abbreviations like
Mr.trip naive converters); our tool uses Intl.Segmenter for proper sentence boundaries.
When NOT to use a case converter
For one-off Microsoft Word edits, the built-in Shift+F3 cycle (Lowercase → UPPERCASE → Title Case) is faster than switching tabs. For programmatic conversion of large datasets, libraries like change-case (npm) or inflection (Python/Ruby) belong in your build pipeline, not a browser tab. And for reformatting text that needs editorial judgment — like fixing a paragraph that mixes proper nouns with sentence-case errors — a human editor will always beat any automated rule.
Frequently asked questions
Is the conversion case-sensitive across languages?
Yes. Our converter uses locale-aware Unicode rules so Turkish dotted-I, German eszett, Greek final sigma, and Lithuanian dotted letters round-trip correctly. For most Latin-script content the default works; for Turkish or Azerbaijani text you can manually pick the locale to force the correct mapping.
Does Title Case follow AP, Chicago, or MLA?
Default is AP Style (lowercase articles, short prepositions, and short conjunctions; capitalise everything else). A dropdown lets you switch to Chicago or APA, which differ on the cutoff length for prepositions. MLA capitalises the first and last word always — our converter applies that rule under all three options.
How do I convert camelCase to snake_case correctly?
Paste the camelCase text and click snake_case. The converter detects boundaries on uppercase letters, preserves runs of acronyms (parseHTMLString → parse_html_string, not parse_h_t_m_l_string), and handles digit boundaries (iPhone16 → i_phone_16).
What’s the difference between Title Case and Capitalized Case?
Capitalized Case (sometimes called “Initial Caps”) capitalises the first letter of every word including articles and prepositions. Title Case follows a style guide and lowercases small words like and, the, of. Capitalized Case is rare in modern publishing; almost every editorial style uses true Title Case or sentence case.
Is my text uploaded?
No. The case converter runs in your browser via JavaScript. Your text is never uploaded, logged, or stored on our servers. You can verify this in your browser’s Network tab — clicking a case button generates zero outbound requests.
Can I batch-convert a file or column of values?
Yes. Paste any size text up to your browser’s memory limit (effectively several MB on a modern device). For each line you can convert independently by checking “Per-line” mode, useful for converting a column of CSV values without merging them into one paragraph.
Related tools and guides
