Text tool
Your files never leave your device
Check your Network tab and see
Work starts the moment you drop a file
No daily limit, no sign-up, no watermark
Locale compare handles most name lists. Numeric sort uses locale numeric collation so item2 sorts before item10. Length sort is useful for prioritising short titles or finding outliers. Pick the mode that matches how humans will scan the result.
Sorting with Math.random comparators skews permutations — some orders are far more likely than others. Shuffle here uses Fisher–Yates with crypto.getRandomValues when available, giving each ordering a fair chance for raffles, test data order, or classroom name picking.
This is not a spreadsheet: no multi-column sort, no stable sort keys, no seeded random for reproducible tests. Numeric mode follows JavaScript locale rules, not natural parsing of values like 10kg versus 10 kg.
That is the promise behind every tool here. Files are read in your browser tab, processed there, and discarded when you close it — never uploaded to our servers.
Remove duplicate lines with optional trim and case-insensitive matching; shows how many lines were removed.
Tabs to spaces, collapse runs of spaces, trim line ends, and optionally collapse extra blank lines.
Instantly count words, characters, sentences, and paragraphs in your text.
UPPERCASE, lowercase, Title Case, sentence case, camelCase, snake_case, kebab-case, and CONSTANT_CASE — in your browser.
Generate placeholder paragraphs, sentences, or words with optional classic “Lorem ipsum” opening.
Compare two texts with live word or line diff, change counts, and copyable +/- output. Inputs are stacked; highlights are unified.