A case converter that works on a two-word sample tells you nothing. What matters is what it does to a contraction, to an accented word, and to a list with hundreds of near-duplicate lines. Our text tools page runs eight transforms and six live counters, and this article documents where each one behaves in ways the button label does not predict.
Eight transforms, six counters
Paste text and the page recomputes six counters on every keystroke: characters including spaces, characters excluding all whitespace, words, sentences, paragraphs, and read time. Words come from a trim followed by a split on whitespace runs, so an input of only blank lines counts as zero words.
The eight transforms are UPPERCASE, lowercase, Title Case, Slug / URL, Trim Spaces, Trim Lines, Remove Duplicates, and Reverse. Each renders as a row with its own copy button, and all eight update live as you edit.
Title Case and the apostrophe trap
Title Case capitalizes through a replacement that matches a word boundary followed by a word character. An apostrophe is not a word character, so the letter after it sits at a boundary and gets capitalized too. Type a contraction and the output reads Don'T. Type a domain like webrecast.com and you get Webrecast.Com.
Apply three rules when you use it:
1. Expect capital letters after every apostrophe and every dot.
2. Convert to lowercase first if you want a clean baseline before title casing.
3. Fix the broken words manually. In normal prose the count is small.
The slug pipeline
The slug transform lowercases, then transliterates exactly six Turkish letters: g with breve to g, u with diaeresis to u, s with cedilla to s, dotless i to i, o with diaeresis to o, and c with cedilla to c. It then deletes every character outside lowercase letters, digits, spaces, and hyphens, converts space runs into single hyphens, and collapses repeated hyphens.
Two consequences follow from that character class. Accented Latin letters beyond the six have no transliteration, so they are deleted rather than converted, and the word for a coffee shop with an accent becomes caf with the final letter gone. Punctuation is removed before hyphenation, so a heading ending in a colon or an exclamation mark does not produce a trailing or doubled hyphen.
Cleaning operations that eat structure
Trim Spaces replaces every whitespace run, including newlines, with a single space and trims the ends. It merges a multi-paragraph document onto one line. Use it when a single paragraph needs normalizing, and avoid it when line breaks carry meaning.
Trim Lines is line-oriented. It trims each line, then filters out empty lines entirely, so a stanza with intentional blank lines loses them. If blank lines matter, clean the text another way.
Remove Duplicates runs a Set over the input split by lines and rejoins the survivors. It is case-sensitive, so the same city name with different capitalization survives twice, and it keeps the first occurrence in original order. To collapse a keyword list case-insensitively, lowercase first, then dedupe.
Reverse splits on code units and joins in reverse order. Any character outside the basic multilingual plane, which includes every emoji, is stored as two units and comes back as two broken halves. Plain Latin text reverses correctly.
Counters and their blind spots
The sentence counter splits on runs of periods, question marks, and exclamation points, then discards empty fragments. Abbreviations inflate the count, so a line with a title like Dr. in it counts as two sentences. A decimal number does the same, because the digits around the dot form two non-empty fragments.
Read time is the word count divided by 200 with the result rounded up. One word reads as one full minute, and 201 words read as two. Treat the figure as a ceiling, not an average.
Paragraphs require a blank line, defined as a newline, optional whitespace, and another newline. Single line breaks never start a new paragraph, so text pasted from a PDF with hard-wrapped lines counts as one block.
Checklist before you trust the output
- Contractions or domains in Title Case? Check for capitals after apostrophes and dots.
- Accented words in slugs? Check for silently deleted letters beyond the six mapped ones.
- Multi-paragraph text? Skip Trim Spaces or the structure collapses to one line.
- Blank lines with meaning? Skip Trim Lines, it removes them.
- Deduplicating a list? Lowercase first, the Set comparison is case-sensitive.
- Emoji in Reverse? Expect broken glyphs, the operation reverses code units.
- Sentence count looks high? Count abbreviations and decimal numbers as the usual suspects.
Reproduce every behavior above at /en/text-tools. Paste one paragraph containing a contraction, an accented word, and a decimal number, and watch three edge cases fire at once across the counters and the transform rows. If your language maps differently than the six letters the slug step covers, send the word that fails and it earns a place in this list.