Bullet Point FormatterFix Mixed Markers & Indentation

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.

Your input is never sent anywhere.

Details
Input (messy list)
Cleaned list
Your cleaned list will appear here

Bullet style

Indent size

What was found

List items

0

Levels

0

Marker types

0

Numbered items: 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

  1. Paste your list into the input box, or load the sample to see how it works.
  2. Pick a bullet style: one marker for every level, or a different marker for each level.
  3. Choose an indent size of 2 spaces, 4 spaces or a tab.
  4. 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.

TypeRecognized patternOutput
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 parenthesis1. item / 1) item / (1) item1. item (numbering option on), original marker kept (off)
Circled numbers① item / ② item1. item (numbering option on), original marker kept (off)
Numbers of up to three digits are recognized. A line such as "3.14 is pi" is not treated as a list item, because the number must be followed by a space.

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▼
Paste the merged text here and choose one bullet style. All markers are rewritten in a single pass.

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▼
This tool only changes a marker at the start of a line that is followed by a space, so asterisks inside a sentence are left alone.

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▼
Choose an indent size. The whole list is rewritten with that one indent, whatever mix of tabs and spaces it started with.

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▼
Leave the numbering option on to write every numbered item as "N." with its original number.

FAQ: Markers, Indentation and Numbered Items

Q.Which list markers does it recognize?

Q.

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?

Q.

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?

Q.

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?

Q.

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?

Q.

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?

Q.

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?

Q.

A. No. The list is processed by JavaScript in your browser, and the tool has no step that uploads your text.

User Feedback & Request

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.

Send feedback