This tool runs in your browser using JavaScript. If it does not appear, please enable JavaScript or reload the page. The description below explains how it works.
List Utilities
List utilities are the text-processing brick-and-mortar: everyone who has ever pasted a CSV export, a config snippet, or a column of IDs into a text editor knows the ritual of sorting it, deduplicating it, or turning it into a comma-separated string. This tool puts the ten most common list transformations one click away, with sensible options for the tricky cases — numeric sorting, case-insensitive comparison, and custom separators.
How to use
- Paste your items into the Items — one per line field. Both
\nand\r\nline endings are handled, so a Windows-made CSV or log export works as-is. - Choose an operation from the ten buttons. The result renders live.
- Use the options row that appears: Ignore case and Numeric appear for the operations where they make sense, and the Join operation shows a separator input instead.
- Copy the output with the Copy button.
| Operation | What it does |
|---|---|
| Sort A→Z / Z→A | alphabetical (or numeric) ordering, stable |
| Reverse | flips the line order |
| Shuffle | random order, cryptographically secure |
| Unique | keeps one item per value, preserving first occurrence |
| Duplicates | lists repeated items with their occurrence count |
| Trim lines | strips surrounding whitespace per line |
| Remove blank | drops empty and whitespace-only lines |
| Count items | number of non-blank lines |
| Join lines | merges the lines with a separator of your choice |
When numeric sorting matters
Plain alphabetical sort puts 10 before 9, because "1" compares lower than "9" as a string. The numeric option parses each line as a number first and compares numerically when both sides parse — port numbers, version numbers, and measurement rows finally sort the way you expect. When a line cannot be parsed, it falls back to case-sensitive or case-insensitive text comparison, so mixed lists still sort sanely.
Case-insensitivity and duplicates
"Unique" and "Duplicates" compare against a lowercase form of each line when Ignore case is toggled on, so Banana and banana count as the same item — the output then keeps the first spelling it encountered. The duplicates view shows a count per line (2× apple), which turns the tool into a fast histogram for repeated values in any export.
Typical uses
- Cleaning CSV exports: trim spaces, remove blank rows, deduplicate, then sort before pasting into a spreadsheet or SQL
INlist. - Building an
INclause: paste a column of IDs into Join lines, set the separator to,, and you have a ready query list. - Normalizing config: a hand-maintained hosts or allowlist string is pasted, reverse/unique applied, and pasted back.
- Randomizing: assign test groups by shuffling a participant list, or draw a random order for a raffle with the cryptographically secure shuffle.
Notes on behavior
Blank lines are preserved in most operations because they often carry meaning (sectioning). The exceptions are Remove blank and Count items, which treat them as noise. Join lines also strips blank lines first, so a trailing newline does not leak a separator into the result — with separator , , the list a\nb\n joins to a, b, not a, b, . Shuffle uses the same operating-system-secure randomness as the site's Password Generator, so randomized results are genuinely unpredictable.
Why it is here
The list tool shares a home with the other developer utilities — Text Case Converter and Text Statistics — because they solve the same class of problem: quick, honest client-side text processing with no upload, no accounts, and no waiting for a server.