Ten list actions
Ascending and descending sort, case-insensitive deduplication, Fisher–Yates shuffle, blank-line removal, HTML stripping, <li> wrapping, numbering, custom prefixes or suffixes, and separator switching.
$ sort | dedupe | format
Sort, deduplicate and format lists.
Main actions
Names, guest lists and client lists stay on this device. Nothing is uploaded or saved.
Actions can be chained: remove duplicates, sort, then add numbering. Undo goes back one step.
Ascending and descending sort, case-insensitive deduplication, Fisher–Yates shuffle, blank-line removal, HTML stripping, <li> wrapping, numbering, custom prefixes or suffixes, and separator switching.
Sorting uses localeCompare with an explicit locale: Chinese by pinyin, German ä→a, Swedish å/ä/ö after z, and Spanish ñ as its own letter.
Ignore leading A / An / The, sort people by surname, skip words such as “von”, or keep groups independent by marking headings with #.
Spreadsheets are overkill for a short bibliography, a guest list or a set of tags. Copying that data into a random website is also a bad idea when the list contains names or client details.
Actions are independent so you can chain them: remove duplicates, sort, then add numbering. One level of undo is always available.
banana Apple the Apple apple => Apple banana
With “Ignore leading A / An / The” enabled and duplicates removed, “the Apple” merges into “Apple” and the article never changes the visible text.
No. “Banana bread” and “banana bread” are the same item, and the first occurrence is kept.
A line starting with # is a heading. Items below each heading are sorted among themselves and never moved past the heading.
Yes. Choose the target separator under Advanced options and click Switch list format.
Never. Sorting, deduplication and formatting are pure JavaScript functions running in this tab.