bullets · numbers · task lists · checked tasks

Convert between Markdown list styles

Switch any Markdown list between ordered (1.), unordered (-), task list (- [ ]), and checked task list (- [x]) — preserving indentation and content.

List Converter
Input
134 B
13 lines
Output
155 B
13 lines
Status
ready
live
Ratio
1.16×
out/in
input · markdown list
output · converted
- [ ] apple
- [ ] banana
- [ ] cherry

Some prose between lists.

- [ ] first
- [ ] second
- [ ] third

- [ ] write spec
- [ ] review PR
- [ ] ship feature
Quick Start

How to convert list styles

Detects list lines via marker prefix (-, *, +, 1.) including existing task markers, then rewrites each line to the chosen target style. Indentation and content are preserved.

  1. 01

    Paste lists

    Mixed marker styles welcome.

    Parsing runs through marked with GFM extensions enabled — tables, task lists, strikethrough, and fenced code blocks all match GitHub’s rendering.

    inputGFMmarkedCommonMarklive
    input · markdownmd · GFM
    - a
    1. b
    loaded · GFMGFM · ready
  2. 02

    Pick target

    Bullets, numbers, or task list.

    Soft-break behaviour is configurable: by default a single newline becomes a space (CommonMark), toggle on for chat-style <br> insertion.

    targetsoft-breaksoptionsconfiglive
    mode · optionstask · live
    - [ ] a
    options applied · livelive
  3. 03

    Rewrite

    Every list line is transformed; non-list lines reset numbering.

    The preview is scoped under a .mde class so its CSS doesn’t bleed into the rest of the page. Output HTML is whitespace-controlled for clean diffs.

    applypreviewscoped CSSrenderstable
    out · renderedmd · ready
    - [ ] a
    - [ ] b
    rendered · liverendered
  4. 04

    Drop back in

    Paste back into your doc or PR description.

    Export covers both raw Markdown and rendered HTML; downloads stream as text/markdown or text/html via Blob + object URL.

    exportclipboard.md.htmlblob
    ✓ · exportedmd · done
    ✓ shipped
    shipped · ready to shipsuccess
Pro tips

Author Markdown that renders everywhere

GFM is the safe default

GitHub-Flavored Markdown is the de-facto baseline (tables, task lists, strikethrough). CommonMark is stricter but ubiquitous as a fallback.

Soft-break behaviour varies

A single newline is a space in CommonMark, a <br> in GFM. Toggle soft breaks when source matters.

Escape inside code fences

Backticks inside fenced blocks need a longer fence — three becomes four. Use ~~~ if your content has many backticks.

Anchors are slugified

GitHub lowercases, strips punctuation, and joins with hyphens. Duplicate headings get -1, -2 suffixes.

Tables need a header row

The dash row sets alignment (:---, :-:, ---:). Use Table Aligner for diff-friendly columns.

Front matter is YAML

Triple-dash blocks at the top of files are parsed by static-site generators. Use the Front-Matter Validator to catch syntax errors.

Use Cases

When to convert lists

Match the format your tooling and team expects.

PR checklists

Promote a bullet list to a GitHub task list for tracking. Render path uses marked with GFM extensions enabled (tables, task lists, strikethrough, autolinks), so what you preview matches what GitHub publishes bit-for-bit. Soft-break behaviour is configurable for chat-style vs prose Markdown.

GFM-compliant

Style guides

Standardize on one marker across a docs repo. Pairs cleanly with the Markdown Cheatsheet for syntax you can't quite remember — callout blocks, footnotes, definition lists. Output stays diff-friendly so style-only changes don't drown out real edits in PRs.

GitHub-perfect

Numbered steps

Convert bullets to numbered for tutorials. Cross-platform safe: anchors, code fences, and tables behave identically on GitHub, GitLab, Bitbucket, and Gitea. Heading-anchor slugs follow GitHub's lowercase-and-hyphenate rules so deep links survive a docs migration.

diff-friendly

Doc reformats

Rapidly normalize copy-pasted content. No server roundtrip — perfect for proprietary content you can't paste into a public tool. The full marked + GFM bundle ships with the page, so it works offline once loaded.

render-stable

Sprint planning

Wrap items as tasks for retro / planning notes. Front matter (YAML / TOML / JSON) passes through unchanged so static-site pipelines (Jekyll, Hugo, Astro, Eleventy) read it correctly. Pair with the Front-Matter Validator to catch syntax errors before deploy.

cross-platform

Cross-platform

Different platforms render markers differently. Output is reproducible: identical input always produces identical Markdown, so doc-generation scripts can rely on it for snapshot tests and embedded into release workflows.

SEO-friendly
FAQ

Frequently asked questions

Yes — leading whitespace is carried over verbatim so nested lists keep their structure.
They're stripped before re-applying the target — converting to unordered removes the checkbox, converting back adds one.
Any non-list line resets the counter, so multiple logical lists stay independent.
Blank lines between items pass through unchanged.
No. Conversion runs locally in your browser.
Suggest a tool

Something missing?

Tell us what you need. We ship the top requests every two weeks.

Sent straight to the maintainers · no account needed
47 in queue·8 shipped this month
Request queued. Thanks!