A strict numeric-counter regex
Exactly one regex runs per line: `/^\s*\d+[.)\]:\-]?\s+/`. In plain English: optional leading whitespace, digits, optional single separator character (pick one of `.`, `)`, `]`, `:`, `-`), then required whitespace. If the line does not match this shape, it passes through unchanged.
The separator is optional, so `1 Task` (digit + space, no punctuation) also strips correctly. Multi-digit counters work: `10. Task`, `100. Task`. A line like `1.5 Task` does NOT match because the regex requires whitespace *after* the separator (`\s+` is mandatory) - `1.5 Task` has `5` after the `.`, so the whole match fails and the line passes through unchanged.
Roman numeral counters (`I. `, `II. `) and letter counters (`A. `, `B. `) are NOT stripped by this regex. The reverse link points to Add counters which supports all three styles - but only numeric counters are round-trip-reversible through this tool. For Roman/letter cleanup, use Remove prefixes or Replace with a regex.
How to use remove list item counters
- 1Paste your numbered list into the input panel
- 2Output strips any leading numeric counter pattern
- 3No options - the regex is fixed
- 4Non-numeric counters (Roman, letters) pass through unchanged
- 5For Roman / letter styles, use Replace with a regex like `^[IVXLCDM]+\.\s*`
Keyboard shortcuts
Drive ListShift without touching the mouse.
What this tool actually does
One hard-coded regex, no options.
Handles `1.`, `1)`, `1]`, `1:`, `1-`
The separator character class is `[.)\]:\-]?` - any one of those (or none). So `1.`, `1)`, `1]`, `1:`, `1-`, and bare `1` (with following space) all strip correctly.
Multi-digit counters
`\d+` is greedy - `10. Task`, `100. Task`, `1000. Task` all work.
Leading whitespace tolerated
` 1. Task` (indented) strips to `Task`. Leading whitespace before the digits is eaten as part of the match.
Numeric only
Roman `I. Task` and letter `A. Task` are NOT matched. Use Remove prefixes or Replace for those.
Non-matching lines pass through
Lines without a numeric counter are emitted verbatim. No accidental stripping of content that happens to start with a letter or punctuation.
Worked example
Standard `N. Task` numeric list - counter pattern stripped per line.
1. Task one 2. Task two 3. Task three
Task one Task two Task three
Behaviour reference
No options. The regex pattern is fixed.
| Input line shape | What happens | Example |
|---|---|---|
| `N. text` / `N) text` / `N] text` / `N: text` / `N- text` | Counter + separator + space stripped | `1. Task` → `Task` |
| ` N. text` (indented) | Leading whitespace + counter stripped together | ` 1. Task` → `Task` |
| `N text` (no punctuation) | Digits + space stripped | `1 Task` → `Task` |
| `I. text` / `A. text` (Roman / letters) | Not matched - passes through unchanged | `I. Task` stays `I. Task` |
| `N.M text` (decimal, no space after `.`) | No match - the trailing `\s+` requires whitespace *after* the separator | `1.5 Task` stays `1.5 Task` |