Skip to content

Tool 44 / Format lines

One scratchpad, a clear sequence.

Paste text, choose the cleanup steps, and see the result immediately. No AI, no hidden transformations — just an ordered set of text operations.

  • Free to use
  • Eight steps
  • Runs locally
Live workbench4 steps applied

Order

Replace → clean spacing → remove empty → dedupe → sort → join → number → case. “Clean spacing” also normalizes tabs, non-breaking spaces, and runs of blank lines.

Worked result

A small, ordered pipeline

This is not a chat box or a hidden language model. Every step is a deterministic text operation you can see and undo by turning it off. The fixed order matters: duplicates are removed after spacing is cleaned, sorting happens before numbering, and letter case is applied last.

“Join lines” uses a space and collapses the paragraph structure, so it is usually the last structural step. If it is combined with numbering, the result is one numbered line. Leave numbering off when you want a single paragraph without a prefix.

70 characters9 words3 lines4 stepsPipeline runs locally · never uploaded

What it does

The Text Manipulation Notepad is a single place to combine the ordinary cleanups that otherwise require several pages. Paste a list, turn on the steps you need, and the output updates in the same tab. It is a workbench, not a chat interface: every change comes from a named rule you can inspect and switch off.

The design goal is predictability. Each step has a fixed position in the pipeline, so the same input and the same switches always produce the same output. That is more useful than a magic “clean up” button, because you can see exactly which operation removed a line, changed a space, or moved a row.

The pipeline

The steps run in this order: find and replace, clean spacing, remove empty lines, remove duplicate lines, sort, join lines, number lines, and change letter case. The order is printed in the tool so it is never a mystery. The most important consequences are that duplicates are compared after trimming, sorting happens before numbering, and case is applied to the final text rather than to each intermediate result.

The output is derived, not edited in place. Turning a switch off re-runs the whole pipeline from the original scratch text. That makes experimentation safe, but it also means the page keeps only one input buffer. If you replace the input itself, the earlier input is gone unless you saved it.

What each step does

Find and replace swaps one literal string for another. It does not interpret regular expressions or replacement tokens, so a dollar sign is just a dollar sign. Clean spacing collapses repeated spaces, converts tabs and non-breaking spaces to ordinary spaces, trims each line, and collapses runs of blank lines. It does not remove empty lines entirely; that is the next step.

Remove empty lines drops lines that contain only whitespace. Remove duplicate lines compares trimmed lines without regard to case and keeps the first copy. Sort orders the remaining lines alphabetically with natural number ordering, so “item 2” comes before “item 10.” Join replaces line breaks with spaces and produces one paragraph. Number prefixes each line with 1., 2., 3., and so on. Letter case applies uppercase, lowercase, title, or sentence case as the final step.

Examples

Clean, dedupe, and sort a pasted list
Clean spacing + remove empty + dedupe + sort

Before

  Ada Lovelace, Research
Ada Lovelace, Research
Grace Hopper, Engineering

Alan Turing, Research

After

Ada Lovelace, Research
Alan Turing, Research
Grace Hopper, Engineering

The leading spaces disappear, the duplicate Ada line is removed, the blank line is dropped, and the three people sort by their full line. The names and departments themselves are untouched. If the department were the sort key, this notepad would not be the right tool; use the column extractor or the general line sorter with a column mode.

Join a wrapped paragraph and number it
Join on · number on

Before

A sentence that was
wrapped across lines.

After

1. A sentence that was wrapped across lines.

Joining happens before numbering, so there is one line and one number. This is a useful demonstration of why the order is fixed: numbering first would put a number on each fragment, and joining afterward would leave those numbers buried inside the sentence.

Limits worth knowing

  • It is not syntax-aware. Cleaning spacing will flatten indented code, YAML, and nested lists. The notepad is for prose and line-oriented data, not for reformatting a programming language.
  • Dedupe is line-level and case-insensitive. It does not merge fields, choose the “best” duplicate, or compare records by a key. Two lines that differ by more than case or surrounding spaces both survive.
  • The pipeline is fixed. You cannot reorder the steps. That is a deliberate trade-off for predictability; use the individual tools in a different sequence when you need a custom order.
  • No history and no sync. The input lives in the tab. There is no account, no autosave, and no undo beyond switching a step off. Copy or download anything you need to keep.
  • No AI, no network. The page does not paraphrase, summarize, or send your text anywhere. Every transformation is implemented in local JavaScript and can be verified in the source.

Page updated

Questions, answered

Is this an AI writing tool?

No. It is a deterministic pipeline of text operations: replace, collapse spacing, remove empty lines, dedupe, sort, join, number, and change case. It does not generate new sentences, paraphrase, summarize, or call a remote model. Every output can be explained by the switches you chose.

Why is the order fixed?

A fixed order makes the result predictable and avoids the classic mistake of sorting line numbers as text. Dedupe runs after trimming so “ Apple” and “Apple” are recognized as the same line. Sorting runs before numbering so the numbers follow the final order. Case runs last so it applies to the whole result.

Can I undo a step?

Turn the checkbox off and the pipeline re-runs without it. That is the undo model: the output is derived from the input and the current switches, not from a destructive edit. There is no separate history stack, so if you change the input itself, the previous input is not kept.

Does find and replace support regular expressions?

No. It is a literal string replacement, with an optional ignore-case switch. That is deliberate for a general notepad: a dot or bracket in ordinary prose should stay a dot or bracket. Use the dedicated find and replace tool when you need patterns, capture groups, or a preview of each match.

Can I number lines and join them at the same time?

You can, but the result is one line with a single number at the front, because joining removes the line breaks before numbering. That is usually not what you want. Leave numbering off when joining, or leave joining off when numbering a list.

Is my text uploaded?

No. The entire pipeline runs in your browser with JavaScript. There is no server request, account, analytics event, or stored copy. Closing the tab discards the working text unless you copied or downloaded it.

All tools →