Sentence-per-line casing
The op is `line[0].toUpperCase() + line.slice(1).toLowerCase()` applied per line. First character becomes uppercase (if it is a letter), every other character is explicitly lowercased. This is the opposite of Uppercase First-letter mode, which preserves the rest of the line as-is.
When to pick Proper over Title: each line is a single sentence or caption. Title Case capitalizes every word (`Apple Pie`), which reads as a heading. Proper keeps it sentence-shaped (`Apple pie`).
No options. The tool does one thing - chain with Lowercase first for a clean slate if your input has weird mid-word capitals you want normalized before other case transforms.
How to use proper case list items
- 1Paste your list into the input panel
- 2Output: first character uppercased, rest lowercased, per line
- 3No options
- 4For every-word capitalization use Title Case
- 5For only-first-letter (without touching the rest) use Uppercase in First letter only mode
Keyboard shortcuts
Drive ListShift without touching the mouse.
What this tool actually does
One op, no options, sentence-shaped per line.
First character uppercased
Character 0 of each line goes through `toUpperCase()`. Non-letter first characters (digits, punctuation, emoji) pass through unchanged - they have no uppercase form.
All other characters lowercased
Everything after character 0 is lowercased. `hello WORLD` becomes `Hello world`, `apple PIE` becomes `Apple pie`. This is the key difference from Uppercase First-letter mode.
Blank lines preserved
Empty lines pass through. Line count is preserved.
Not word-aware
Only the first character of the whole line is uppercased. For every-word capitalization (`Apple Pie`), use Title Case.
Unicode default casing
Same JavaScript `toUpperCase()` / `toLowerCase()` used by Uppercase and Lowercase. No locale-specific options.
Worked example
First letter up, everything else down. Mid-line caps get normalized.
hello WORLD apple pie banana SPLIT
Hello world Apple pie Banana split
Settings reference
This tool has no options.
| Setting | What it does | Effect on the sample |
|---|---|---|
| No options | Line[0] uppercased, line[1..] lowercased | `hello WORLD` → `Hello world` |
| Blank-line behaviour (automatic) | Empty lines pass through | Blank stays blank |
| Digits / punctuation as first char (automatic) | Non-letter first character unchanged, rest still lowercased | `1st Place` → `1st place` |