Remove list item prefixes

Remove list item prefixes by stripping a character class from each line's start. Default set is `0-9 . ) - space` - tailored for numbered and light-bulleted lists like `1. Task`, `1) Task`, `- Task`. Swap the Chars field for custom prefix characters.

Input
Ready
Output
Live

A character-class stripper, not a string-prefix matcher

Important: this is NOT a literal-string prefix remover. The Chars to trim field is interpreted as a *character class*. The regex `/^[chars]+/` is applied to each line, stripping any run of characters from the set at the start. So Chars `1. ` strips `1`, `.`, and space - not the literal string "1. ".

Default Chars `0123456789.) -` covers the usual numbered-list leaders: `1. `, `12. `, `1) `, `1- `, `1 `. It also happens to strip dashes and spaces, so simple bullet-dashes (`- Task`) work too. Lines that start with letters pass through unchanged.

For literal-string prefix removal (e.g. strip the exact prefix `Task: ` from every line), use Replace with Find `^Task: ` and Regex mode on. For whitespace-only trimming, use trim.

How to use remove list item prefixes

  1. 1Paste your list into the input panel
  2. 2Default strips the character class `0-9 . ) - space` from line starts
  3. 3Edit Chars to trim for custom leaders (e.g. `#` or `▸`)
  4. 4Switch Side to End only or Both if your prefixes trail
  5. 5For literal string removal, use Replace with Regex mode

Keyboard shortcuts

Drive ListShift without touching the mouse.

Shortcut Action
Ctrl ZUndo last input change
Ctrl Shift ZRedo
Ctrl Shift EnterToggle fullscreen focus on the editor
EscExit fullscreen
Ctrl KOpen the command palette to jump to any tool
Ctrl SSave current pipeline draft Plus
Ctrl PRun a saved pipeline Plus

What this tool actually does

Same op as trim, pre-seeded for numbered/bulleted prefixes.

Handles `1.`, `1)`, `1-`, double-digits

`1. Task`, `12. Task`, `1) Task`, `1- Task` all lose their leader. The greedy `+` in the regex handles any run length, so `100. Task` works too.

Character class, not string match

Chars `1. ` is treated as `[1. ]+`. A line starting with `2.` has `2` not in the set, so the match stops immediately and the line is unchanged. Only the first line of a `1. / 2. / 3.` list would strip its prefix under that narrow Chars setting.

Leaves alphabetic content alone

Default Chars is digits + punctuation + space. `Task one` has no digit or punctuation at its start, so no stripping happens. This is the intended behaviour - you want the prefix gone, the content preserved.

Side option for trailing prefixes

Odd but possible: change Side to End to strip trailing prefixes, or Both for both ends. Most lists have prefixes at Start only.

For literal strings, use Replace

Replace with Regex mode + Find `^Task: ` matches the literal `Task: ` prefix exactly. That is the right tool when the prefix is not character-class-shaped.

Worked example

Default Chars handles `1. `, `2. `, `3. ` - numbers, dots, and the separator space are all in the class.

Input
1. Task one
2. Task two
3. Task three
Output
Task one
Task two
Task three

Settings reference

How each option shapes the output using the sample above.

Setting What it does Effect on the sample
Chars: `0123456789.) -` (default), Side: Start Strips digits, `.`, `)`, `-`, space from line start `1. Task one` → `Task one`; same for `2. `, `3. `
Chars: `1. ` Treated as `[1. ]+` - matches only lines starting with those chars Line 1 → `Task one`; lines 2 and 3 unchanged (start with `2` and `3`)
Chars: `#* ` For Markdown-style headers / bullets `## Section` → `Section`; `* Item` → `Item`
Chars blank Fallback to whitespace-only trim Leading spaces gone; prefixes stay
Side: End Strips from line end instead Unusual for prefixes - use for trailing numbers like `item 1`

FAQ

Does Chars to trim match a literal string?
No. It is treated as a character class. Chars `abc` matches any combination of `a`, `b`, `c` at the line start, stopping at the first non-matching character. For literal strings, use Replace with Regex on.
How do I strip prefixes like `Task: ` or `Note: `?
Use Replace with Regex on, Find `^Task: `, Replace empty. This tool only handles character-class prefixes.
Why did my list stay unchanged?
Likely your Chars set does not cover the first character of each line. Check that every leading character is in the set. For mixed-prefix lists, the default `0-9 . ) - space` covers most numbered-list styles.
How is this different from Remove bullets?
Remove bullets uses the same op with Chars `-*+• ` - tuned for bullet markers. This tool is tuned for numbered-list leaders (digits + separators).
Does it strip numbers anywhere in the line?
No - only at the Start (by default). A line like `Order 42 for 2024` stays intact; only leading numeric-run characters are stripped.