Paste a list with mixed -, *, and • markers or uneven indents. Pick a bullet style and an indent size, and get a clean nested list you can copy.
This tool runs entirely in your browser. What you enter is never sent anywhere.Your input is never sent anywhere.
DetailsYour cleaned list will appear here
Bullet style
Indent size
What was found
List items
0
Levels
0
Marker types
0
TIP
Pasting into a Markdown file? Pick a style made of -, * or + markers. For slides and printed handouts, a by-level style like • ◦ ▪ makes each nesting level easy to tell apart. If nested items don't indent in your preview, try 4 spaces or a tab.
Why Bullet Points Look Different After Copy and Paste
A list that several people edited, or that you copied from a document, a chat window or a notes app, usually ends up with a mix of -, *, and • markers. Each editor also indents differently, with two spaces, four spaces or a tab, so nested items no longer line up.
This tool fixes both problems in one pass. It works out the nesting from the indentation you pasted, then rewrites every list item with the marker style and indent size you choose. Text that isn't part of a list is left in place.
Numbered items are handled too. They keep their own numbers, and you can switch on one numbering format (1.) for the whole list.
When You Need a Clean Nested List
Meeting notes from several people
Everyone types lists their own way. Merge the notes, run them through once, and share a single consistent style.
Lists copied from Word, Google Docs, Slack or Notion
Pasting often brings along odd markers and indents. Paste the text here and get plain text with one marker style.
READMEs, specs and requirements documents
Choose a Markdown-style marker, or a different marker for each level, so deeply nested requirements are easy to scan.
Notes copied from a chat, email or exported file
Chat replies, emails and exports often mix hyphens, asterisks and symbols. Normalize them before you paste the text into your final document.
How to Fix List Markers and Indentation in 4 Steps
- Paste your list into the input box, or load the sample to see how it works.
- Pick a bullet style: one marker for every level, or a different marker for each level.
- Choose an indent size of 2 spaces, 4 spaces or a tab.
- Check the cleaned list, then copy it or save it as a .txt file.
Note: Text that isn't part of a list is left as it is. Everything runs in your browser.
What This Formatter Changes and What It Leaves Alone
- Nesting is worked out from the indent sizes in your text. Two items meant to be at the same level but indented by different amounts will be read as two levels.
- A line without a marker, including a wrapped continuation line, is treated as plain text. It ends the current list, so the list above and the list below are leveled separately. Keeping each item on one line gives the best result.
- Numbered items keep their own numbers. The tool does not renumber a list.
- Blank lines inside a list are kept unless you turn on the option to collapse repeated blank lines.
- Your text stays in your browser. Nothing is uploaded.
Recognized List Markers and Numbering Formats
These are the line starts the formatter treats as list items.
| Type | Recognized pattern | Output |
|---|---|---|
| Hyphen, plus, asterisk | - item / + item / * item (a space is required) | Replaced with your chosen marker |
| En dash | – item (a space is required) | Replaced with your chosen marker |
| Symbol markers | • ● ○ ■ □ ▪ ▫ ◦ ‣ (the space is optional) | Replaced with your chosen marker |
| Number with period or parenthesis | 1. item / 1) item / (1) item | 1. item (numbering option on), original marker kept (off) |
| Circled numbers | ① item / ② item | 1. item (numbering option on), original marker kept (off) |
Choosing List Markers for Markdown, Documents and Slides
A few habits that make a nested list easier to read, whichever marker style you pick.
Use the same marker for the same level
A list reads best when every item at a given level uses the same marker. You can use one marker everywhere, or a different marker for each level. Either works as long as it stays consistent through the whole list.
Match the place you are pasting into
Markdown lists use -, * or + as markers, so one of the Markdown-style options is the safe pick for a README or a note app. For a slide or a handout, a by-level style such as • ◦ ▪ makes nesting easier to see.
If nested items don't indent in a preview
Parsers differ in how much indentation they expect for a nested item. If the preview flattens your list, switch the indent size to 4 spaces or a tab and paste again.
Numbered and bulleted lists in the same text
Numbered items and bulleted items are detected separately. You can unify only the bullet markers and keep the original number format, or turn on the numbering option to write every number as "1.".
Common List Formatting Problems and Fixes
Notes merged from several people use three different markers
Each person's notes were pasted into one document, and the combined list switches between hyphens, asterisks and symbols from one section to the next.
💡 See the solution▼
Find and replace changed asterisks that weren't list markers
Replacing every * with - also changes bold text such as **this**, and any math written as 5 * 3.
💡 See the solution▼
Tabs and spaces mixed in the indentation
A list indented with tabs got extra items indented with spaces, so it looks fine in one editor and misaligned in another.
💡 See the solution▼
Numbered items use both 1. and 1)
Lists pasted from different sources keep their own numbering styles, so one list shows both 1. and 1).
💡 See the solution▼
FAQ: Markers, Indentation and Numbered Items
Q.Which list markers does it recognize?
A. At the start of a line it recognizes -, *, +, – (en dash), •, ●, ○, ■, □, ▪, ▫, ◦ and ‣. For -, *, + and –, the marker must be followed by a space or tab, so a line like "-5 degrees" or "**bold text**" is left alone. Numbered items in the forms 1. and 1) and (1), plus circled numbers ① to ⑳, are recognized as well.
Q.How does it decide which items are nested?
A. It reads the leading whitespace of each list item, counting a tab as 4 spaces. Within one list, it ranks the different indent sizes from smallest to largest: the smallest is level 1, the next is level 2, and so on. The exact widths don't matter, so a list indented with 0, 3 and 7 spaces is read the same way as one indented with 0, 2 and 4.
Q.Two items at the same level ended up on different levels. Why?
A. Each different indent size becomes its own level. If two items that should be siblings are indented by different amounts, for example 2 spaces and 3 spaces, they are treated as two levels. Fix the stray indent in the input and the levels will line up.
Q.What happens to lines that aren't list items?
A. They are copied through as they are, except that trailing spaces are removed. A line like that also ends the current list, so the list above it and the list below it get their levels worked out separately. Blank lines do not end a list.
Q.Does it renumber numbered items?
A. No. Each numbered item keeps its own number. With the numbering option on, every item is written as "N." (so 2) becomes 2. and ③ becomes 3.). With it off, the original marker is kept, and only the indentation is changed.
Q.Can I use a different marker for each nesting level?
A. Yes. The three "By level" styles use a different marker for each of the first three levels. If your list goes deeper than three levels, the fourth level uses the first marker again, and so on.
Q.Is my text sent to a server?
A. No. The list is processed by JavaScript in your browser, and the tool has no step that uploads your text.
Your feedback
makes this tool better.
Tell us which features you'd like, what should be fixed, or which new tool you'd like to see. An engineer reads every submission and uses it to guide development.