Markdown Formatter

Tidy up messy Markdown: consistent heading spacing, blank lines, list markers, and aligned tables. Press Format and the text in the box is rewritten in place.

More ways to experience Recasely:

Md

Clean Up Messy Markdown

Markdown is forgiving, which is exactly why a file edited by several people drifts: headings with no space after the hash, three different bullet characters, tables whose pipes no longer line up, stray blank lines everywhere. This formatter normalises all of that without changing how the document renders. It runs entirely in your browser.

What exactly gets changed?

BeforeAfter
##  Heading## Heading
Several blank linesExactly one
***, ___, - - ----
>quoted> quoted
__bold__**bold**
[a]( url )[a](url)
* item- item
Ragged table pipesPadded and aligned

Will it change how my document renders?

No. Every change above is cosmetic as far as a Markdown renderer is concerned — table padding, blank line counts, and the choice between - and * for bullets are all invisible in the output. What you get is source that is easier to read and to review in a diff.

Why was my "#Heading" left alone?

Because it is not a heading. CommonMark requires a space after the hashes, so #Heading renders as literal text with a hash in front of it, not as an <h1>. Silently inserting a space would change what your document says. If you meant it as a heading, add the space yourself and run the formatter again.

What about code blocks?

Fenced code blocks are copied through completely untouched — including their indentation and any Markdown-looking text inside them. A #comment or a row of asterisks inside a code fence is code, not formatting, and reformatting it would corrupt the example you were trying to show.

Why are my mixed bullet markers not normalised?

Because in CommonMark, changing the bullet character starts a new list. A run of * then + then - is three separate lists, not one, and rewriting them all to - would silently merge them. A list that already uses one marker consistently is normalised to -; a mixed run is left as written.

Related tools

To build a table from scratch, use the Markdown Table Generator. To move content between formats, see the HTML to Markdown Converter.

Last reviewed: August 2026