Skip to content

Tools · Text

Tidy and sort text without asking a chatbot.

Paste some text, choose one change, see exactly what changed, then copy or save the result. Ordinary code does the work. No model rewrites your words, and the same text always gives the same result.

Why this exists

I kept asking a chatbot to do small jobs to text: sort a list, strip bullets, fix line breaks after copying from a PDF. Each of these jobs has an exact answer, so it does not need a model. Text does them on your computer, tells you what it changed, and says when it cannot decide.

The five changes

Sort lines
A to Z or Z to A, in UK English dictionary order. No line’s characters change, and blank lines go to the end.
Remove bullets and numbering
Bullet symbols, dashes and numbering such as 1., a) or (i) at the start of a line. Things like -5, 3.5 m or A. Smith are left alone.
Change case
lower, UPPER, Title or sentence case. Code cannot know that “london” is a name, so sentence case lists every word it lowered that is not a common English word, for you to check.
Tidy spacing and stray characters
Repeated spaces, spaces at line ends and runs of blank lines. Invisible characters left by PDFs and web pages, such as soft hyphens and zero-width spaces, are removed, and ligatures like “fi” become letters. Letters, digits and punctuation never change.
Fix line breaks
Rejoin lines broken by copying from a PDF, put run-together list items on their own lines, break where a sentence ends with no space, or put one sentence per line. Words joined across a hyphen are listed, because “well-being” should keep its hyphen.

Every change reports a count of what it did, and applying it twice gives the same result as applying it once. Your original stays in place until you choose to replace it, and one replacement can be undone. Grammar, spelling, rewording and summaries are not part of this tool.

Compare two lists

Text can also compare your text with a second list, one item on each line: who was invited and who replied, or what was ordered and what arrived. It shows which items are in both lists, only in the first or only in the second, and how many times each was written. Nothing is changed.

Two lines match only when every character is the same, unless you choose to ignore capitals or spaces at the ends. If some items nearly match, it tells you how many and leaves the choice to you. It never decides that two spellings are the same person.

Models used

None. Text is ordinary code. It downloads nothing and sends nothing anywhere.

What has been checked

Each change has automated tests on invented text. They check that nothing outside the stated change is altered, that applying a change twice matches applying it once, and that a text of 50,000 words finishes promptly.

I also tested my own reason for building it. I expected a chatbot to rewrite the whole text for each of these jobs, costing more model work the longer the text. On ten texts, an AI coding agent wrote a small script instead in 19 of 20 attempts, and kept every word each time. So the case for Text is not that it saves model work. It is that the text stays on your computer, the result is the same every time, and the tool tells you what it will not guess. In one of those runs, for example, the agent silently changed an identifier from “88a” to “88A” in sentence case, where Text would have listed the word for you to check.

I have used Text in my own work since 21 September 2026 and found it useful. That is one person’s use.

Comparing two lists was added on 12 October 2026. It has automated tests on invented lists, and I have not yet used it on lists of my own.

Availability

Not available to download yet. Text runs in the development Kettle app on my Mac. There is no public installer or source download at present.