strips trailing whitespace and extra blank lines

Minify Markdown documents

Strip redundant blank lines and trailing whitespace from Markdown — keeping code blocks intact and preserving render-significant formatting.

Markdown Minifier
Input
72 B
17 lines
Output
67 B
12 lines
Status
ready
live
Ratio
0.93×
out/in
input · markdown
output · minified
# Title

Some text

- one
- two

More text.

```js
const x = 1;
```
Quick Start

How to minify Markdown

Removes trailing spaces, collapses 3+ consecutive blank lines to a single blank, and trims the document while leaving code fences untouched.

  1. 01

    Paste Markdown

    Any Markdown — verbose drafts, generated docs.

    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
    # Title
    
    
    Text
    loaded · GFMGFM · ready
  2. 02

    Skip fences

    Code blocks pass through verbatim — whitespace inside is meaningful.

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

    fencesoft-breaksoptionsconfiglive
    skip · options``` · live
    code intact
    options applied · livelive
  3. 03

    Collapse

    Trailing spaces removed, blank-line runs collapsed.

    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.

    collapsepreviewscoped CSSrenderstable
    out · renderedmin · ready
    # Title
    
    Text
    rendered · liverendered
  4. 04

    Ship it

    Smaller diffs, cleaner docs.

    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
    ✓ minified
    exported · 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 minify Markdown

Cleaner diffs, smaller files, consistent style.

Smaller diffs

Reduce noise in PR diffs from inconsistent whitespace. 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

Build artifacts

Smaller artifacts in static site builds. 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

Lint prep

Pre-process before markdownlint MD009/MD012 checks. 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

Storage

Reduce DB size for blog/docs storage. 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

Email digests

Cleaner Markdown sources for email newsletter generators. 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

Consistency

Enforce one canonical whitespace style across a repo. 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

Two-space hard breaks at end of line are kept by intent, but our trailing-space strip removes them. Use the Formatter tool if you need hard breaks preserved.
Yes — only render-insignificant whitespace is changed. Code blocks (where whitespace matters) are skipped entirely.
Front matter is treated as plain text and may be trimmed; for sensitive YAML/TOML strip front matter first.
Varies by document. Drafts with many blank-line runs can shrink 20–40%; tight docs change very little.
No. Minification 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!