Understanding line sorting
One column, ordered however you like.
Sorting feels trivial until "10" lands before "2".
Alphabetical isn't quite alphabetical.
The default JavaScript sort compares string code points, which is mostly alphabetical for English but goes wonky fast. Uppercase letters come before lowercase ones (A-Z before a-z), so a case-sensitive sort puts Zebra before apple. Case-insensitive sort treats them equivalently. The tool offers both — pick the one that matches what you see in your spreadsheet.
Numerical sort, the right way.
Lexicographic sort puts "10" before "2" because "1" sorts before "2". That's almost never what you want for numbers. Numerical sort parses each line as a number and orders the parsed values. Lines that don't parse as numbers fall to the end with their lexicographic order preserved.
Sort by length.
Useful for cleaning up enumerations where shorter labels should come first, or when you're hunting for unusually long lines that might be data errors. Length is measured in JavaScript-string units (UTF-16 code units), which differs from "visual characters" for emoji and certain scripts — a flag emoji is two code units, a single visual character.
Reverse — and stability.
Reversing the sort flips the result; sorting then reversing is the same as sorting in descending order. The sort is stable — lines that compare equal keep their relative input order — which matters when the file is already grouped (sorting by length keeps alphabetical order within each length-bucket).