GALAXY OF TOOLS

DEV SECTOR

Markdown Formatter

Tidy Markdown with Prettier: list markers, emphasis, headings, prose wrap and aligned tables.

Prettier’s Markdown engine loads on first use (about 120 KB).
Result
Before
After

Runs entirely in your browser. Nothing you enter or upload is sent to a server.

Format Markdown consistently, without touching your code

The Markdown Formatter tidies README files, documentation and notes so they follow one consistent style. It is built on Prettier 3.9’s Markdown engine (MIT) — the formatter many open-source projects already run on their docs — and adds the style choices people most often ask for: the bullet character, _italic_ or *italic*, **bold** or __bold__, ATX or underlined headings, aligned or compact tables, and prose wrapped at a fixed width or kept on one line per paragraph.

Code blocks are treated as untouchable: their contents come out byte for byte as they went in, and the tool proves it with a check after every run. YAML or TOML front matter is kept exactly, too. A before-and-after preview renders both versions so you can see that the document still looks the same.

Everything runs locally in your browser, so private notes and internal docs stay on your device.

How to use the Markdown Formatter

  1. Paste Markdown into the Markdown box, drop a .md file on it, or press Load .md file.
  2. Pick Prose wrap and Width: keep your line breaks, wrap paragraphs at 60–120 characters, or put each paragraph on one line.
  3. Choose the List marker, Emphasis, Bold, Headings and Tables styles.
  4. Press Format Markdown. Results then update as you type or change an option.
  5. Check the badges and the Before and After previews, review Changes, then copy or download the .md file.

Markdown Formatter features

Prettier’s Markdown printer

Consistent spacing between blocks, normalised list indentation, escaped special characters and GitHub Flavored Markdown tables.

Your style choices

Bullet -, * or +; underscore or asterisk emphasis; ** or __ bold; ATX or setext headings; aligned or compact tables.

Wrap prose your way

Preserve existing line breaks (best for clean diffs), hard-wrap at a width, or unwrap so each paragraph is one line.

Code kept byte-exact

Fenced and indented code blocks are never reformatted, and a check confirms every block is unchanged.

CJK and emoji-aware tables

Column alignment counts Chinese, Japanese and Korean characters and emoji as double width, so tables line up in a monospaced editor.

Safety checks

If a chosen style would change the document’s structure in a particular spot, Prettier’s version is kept and a badge tells you why.

Worked example

With Prose wrap set to “Wrap at width” and Width 60, list marker *, emphasis *italic*, bold __bold__, headings underlined and tables compact, this input:

# Title · Some _emphasis_ and **bold** text that is long enough to wrap at sixty columns, so the line breaks here. · - one · | Name | Qty |

becomes Title underlined with =====, the paragraph broken after “long enough to” (56 characters — adding “wrap” would make 61), bullets written as * one, emphasis as *emphasis*, bold as __bold__, and the table delimiter row as | :-- | --: | with no padding. The rendered HTML is identical before and after.

What Prettier changes, and what it never touches

ElementResult
Blank linesExactly one blank line between blocks; trailing whitespace removed
ListsConsistent marker and indentation; 1) becomes 1.; an adjacent separate list alternates - and * so it stays separate
Numbered listsKept as 1. 1. 1. if the list started that way, otherwise numbered 1. 2. 3.
Code fences~~~ fences become ``` (unless the code contains backticks); the contents are never changed
Front matterKept exactly as written
HTML blocks and inline HTMLKept as written
Hard line breaksKept; two trailing spaces are preserved

Tips

  • For files kept in Git, Preserve line breaks gives the smallest diffs; hard-wrapping reflows whole paragraphs when one word changes.
  • Underlined (setext) headings only exist for levels 1 and 2. Deeper headings always use ###.
  • To build a new table from a spreadsheet, use the Markdown Table Generator; to publish the result, convert it with the Markdown to HTML converter.
  • Going the other way, the HTML to Markdown converter turns web pages into Markdown you can then tidy here.

Markdown Formatter FAQ

Is this Markdown formatter free and private?

Yes. It is free, needs no account, and runs in your browser. Your Markdown is never uploaded; only the Prettier and marked libraries are downloaded from a public CDN.

Will it change the code inside my code blocks?

No. Code inside fenced and indented blocks is left byte-for-byte as written, and the “code blocks unchanged” badge confirms it after every run. Only the fence characters may change from ~~~ to ```.

Is it the same as running Prettier on my Markdown?

With the default options (dash bullets, underscore emphasis, double-asterisk bold, headings kept, aligned tables), the output is exactly Prettier 3.9.10’s. Other choices are applied on top of Prettier’s output and checked against the document structure.

How do I align a Markdown table?

Paste the Markdown and keep Tables set to “Align columns”. Every cell is padded so the pipes line up, using double width for Chinese, Japanese, Korean and emoji characters.

Why did it keep a dash or underscore I asked it to change?

In rare cases a different marker would change the meaning — for example emphasis next to an asterisk would become bold. The formatter keeps Prettier’s version there and shows a badge naming the option.

Does it support GitHub Flavored Markdown?

Yes: tables, task lists, strikethrough and autolinks are understood and kept. Front matter in YAML (---) or TOML (+++) is kept exactly.

You might also need