How to use the Markdown Formatter
Format your Markdown in three steps:
1
Paste your Markdown
Paste Markdown text into the input box or upload a .md, .markdown, or .txt file. Click 'Load Sample' to see an example of the kinds of issues the formatter can fix.
2
Choose formatting options
Click the Options button to toggle individual fixes on or off: Fix Headings, Fix Inline Spacing, Fix Blank Lines, Fix List Markers, and Align Tables. All options are enabled by default.
3
Format, preview, and copy
Click Format Markdown to apply the selected fixes. Switch to the Preview tab to see the rendered HTML output. Copy the formatted Markdown or download it as a .md file.
When to use this tool
Use the Markdown formatter to clean and standardise Markdown documents:
- →Formatting GitHub README.md files before publishing to ensure consistent heading and list style
- →Cleaning up Markdown exported from Notion, Confluence, or Roam Research that has inconsistent formatting
- →Normalising Markdown documentation contributed by multiple authors with different style preferences
- →Aligning pipe table columns in Markdown before committing to a repository for cleaner diffs
- →Fixing Jekyll, Hugo, or MkDocs site content where inconsistent Markdown causes rendering issues
- →Previewing how Markdown will render before pasting it into a GitHub issue, PR, or wiki
- →Preparing Markdown articles for Ghost, Hashnode, or Dev.to by cleaning formatting before publishing
Frequently asked questions
Q:What specific Markdown issues does the formatter fix?
The formatter addresses five categories of issues: (1) Heading syntax — adds the required space after # characters (e.g. '#Heading' → '# Heading'). (2) List markers — normalises -, *, and + markers to a single consistent style and fixes extra spaces after the marker. (3) Blank lines — collapses three or more consecutive blank lines to a single blank line. (4) Inline spacing — collapses multiple consecutive spaces in inline text to a single space. (5) Tables — aligns pipe table columns to equal width for clean diffs and readability.
Q:Will the formatter change the rendered output of my Markdown?
No — all fixes are whitespace-level changes that do not alter the meaning or rendered output of your Markdown. Normalising list markers (- vs * vs +), fixing heading spaces, and aligning table columns produce semantically identical HTML when rendered by any standard Markdown processor.
Q:Can I format only some fixes without applying all of them?
Yes — click the Options button to reveal five individual toggles, one for each fix category. Enable or disable Fix Headings, Fix Inline Spacing, Fix Blank Lines, Fix List Markers, and Align Tables independently. This is useful when you want to align tables but not touch other aspects of your document.
Q:Does the formatter handle fenced code blocks correctly?
Yes — the formatter identifies fenced code blocks (``` and ~~~) and their indented content. Inline spacing normalisation is not applied inside code blocks, which preserves intentional formatting, indentation, and whitespace that is part of the code.
Q:How does the Markdown table alignment work?
The formatter scans each pipe-delimited table, measures the maximum character width of each column across all rows (including the separator row), and pads every cell to that width with trailing spaces. The separator row (---) is extended to match. The result is a visually aligned table where columns line up vertically in a monospace font — standard in GitHub-flavoured Markdown editors.
Q:What Markdown flavours does the preview support?
The HTML preview renders standard CommonMark-compatible Markdown including ATX headings (#), setext headings, ordered and unordered lists, fenced code blocks, blockquotes, bold (**text**), italic (*text*), strikethrough (~~text~~), inline code, links ([text](url)), and pipe tables. GitHub-specific extensions like task lists (- [ ]) and footnotes are not rendered in the preview but are preserved in the formatted Markdown output.
Q:Is this compatible with Markdown used in GitHub, Notion, and Ghost?
Yes — the formatter applies generic CommonMark-level fixes that improve compatibility across all major Markdown renderers. GitHub READMEs, Notion imports, Ghost articles, Jekyll posts, MkDocs documentation, and Hugo content all benefit from the normalised heading and list syntax. The formatter does not apply renderer-specific extensions that would break in other environments.