Two reverse modes
Reverse characters (default): each line's characters flip end-to-end. `apple` becomes `elppa`, `banana` becomes `ananab`. The op uses `[...line].reverse()` which splits on Unicode code points - emoji and surrogate pairs don't break apart mid-character.
Reverse order: same as Reverse a list. Last line becomes first, first becomes last. No character-level changes.
Chain reverse-chars with Sort + reverse-chars again to get true last-character sort grouping. That is the workflow Sort by last character documents.
How to use reverse list items
- 1Paste your list into the input panel
- 2Default Mode is Reverse characters (per-item)
- 3Switch Mode to Reverse list order for line-order reversal
- 4Blank lines pass through unchanged
- 5Chain with Sort + reverse-chars again for last-char grouping
Keyboard shortcuts
Drive ListShift without touching the mouse.
What this tool actually does
Two reverse modes via a shared op.
Reverse characters in each item (default)
`[...line].reverse().join('')` per line. Unicode-aware split - emoji and surrogate pairs stay intact. `apple` → `elppa`, `café` → `éfac`.
Reverse list order
Flips the line sequence. First line becomes last, etc. Same op as Reverse a list. Line content untouched.
Blank lines preserved
Empty lines pass through as empty lines in both modes. Line count is preserved.
Unicode-aware character split
Uses spread operator (`[...str]`) which iterates by Unicode code points. Naive `str.split('')` would break surrogate pairs - this op avoids that.
Composable with Sort
Reverse chars → Sort → Reverse chars again produces last-character sort. Documented on Sort by last character.
Worked example
Default Mode: Reverse characters. Each line's chars flip end-to-end.
apple banana carrot date
elppa ananab torrac etad
Settings reference
How each mode shapes the output using the sample above.
| Setting | What it does | Effect on the sample |
|---|---|---|
| Mode: Reverse characters (default) | Per-line character flip | `elppa` / `ananab` / `torrac` / `etad` |
| Mode: Reverse list order | Line order flipped; line content untouched | `date` / `carrot` / `banana` / `apple` |
| Unicode surrogate pairs (automatic) | Preserved intact | Emoji lines reverse as expected, not mangled |
| Blank lines (automatic) | Pass through unchanged | Empty line stays empty |