Result
This page has no server side at all. The table you paste is parsed by JavaScript inside your own browser, the chart is drawn on a canvas element on your machine, and the export file is assembled locally. Nothing is uploaded, stored or written to any log. You can disconnect from the network after the page has loaded and everything will still work — which is the simplest way to verify the claim yourself.
Facts and limits of this method
| Sort direction | Descending, Z→A (use String Sorter for the regular A→Z direction) |
|---|---|
| Comparison | Unicode code-point order by default, or locale-aware natural order with the option on |
| Case handling | Case-insensitive by default: "apple" and "Apple" compare equal |
| Empty lines | Sorted along with the rest — they typically land at the very bottom |
| Not the same as | Simply reversing input order — use List Order Reverser for that |
| Stability | Equal lines (after case folding) keep their relative input order |
When it misleads you
- This sorts by alphabet, not by typing order — a list that's already alphabetical A→Z becomes Z→A here, but a list in random order is rebuilt completely, not just flipped. If you only want to mirror your typed order, use List Order Reverser instead.
- Without natural sort, "10" is considered to come after "2" in this reversed order for the wrong reason: character by character, "1" sorts before "2", so in descending order "2" outranks "10". Turn on natural sort for correct descending numeric order (10, 9, 8… 2, 1).
- Case-insensitive comparison folds letters only for the comparison itself — the output keeps each line's original capitalization untouched.
- Sorting is locale-independent (plain code-point order) unless natural sort is on, which switches to your browser's locale-aware comparison — accented letters may then sort differently than expected.
How it is calculated
The text is split into lines, then run through JavaScript's Array.sort with a comparator that inverts the usual result — whichever line would normally come first now comes last.
With case-insensitive on, both lines being compared are lowercased before comparing, so visible capitalization plays no role — only the letters and their sequence, read in reverse order, matter.
Natural sort compares with localeCompare in numeric mode and then inverts the outcome, so digit runs are treated as whole numbers and ordered highest to lowest instead of comparing them character by character.
The result is the sorted array joined back with line breaks — one line in, one line out, just rearranged from Z to A instead of A to Z.
Questions and answers
Is this the same as reversing my list top to bottom?
No. This tool re-sorts by the alphabet, so the result depends only on the letters in each line, not on the order you typed them. To just flip your typed order, use List Order Reverser.
Does it sort lines or words?
Lines. Each line of the input is one item being sorted. For sorting individual words, use the Alphabetical Word Sorter.
Why does "10" come after "2" without natural sort?
Because comparison is character by character: "1" is smaller than "2", so in descending order "2" ranks above "10". Turn on natural sort for real descending numeric order.
How do I get the regular A→Z order instead?
Use the String Sorter tool — same logic, ascending direction, with its own case and natural sort options (plus an optional duplicate remover).
Is my list uploaded anywhere?
No. Sorting happens entirely in your browser; nothing is sent to a server.