GFM → Slack mrkdwn · single-asterisk bold · <url|text> links

Convert Markdown to Slack mrkdwn

Reformat Markdown for Slack's mrkdwn dialect — single-asterisk bold, underscore italic, bullet glyphs, and <url|text> links. Code fences pass through.

Markdown → Slack
Input
143 B
14 lines
Output
137 B
11 lines
Status
ready
live
Ratio
0.96×
out/in
input · markdown
output · slack mrkdwn
_Heads up_

_Bold text_ and _italic_ text.
• Item one
• Item two

`inline code` and:

```const x = 1;```

See <https://example.com|docs>.
Quick Start

How to convert Markdown for Slack

Slack uses its own mrkdwn flavour — bold is a single asterisk, links use angle brackets, lists need bullet glyphs. This converter rewrites all the differences in one pass.

  1. 01

    Paste Markdown

    From your README, PR description, or notes.

    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
    **bold**
    loaded · GFMGFM · ready
  2. 02

    Map emphasis

    **bold** → *bold*; *italic* / _italic_ → _italic_.

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

    emphsoft-breaksoptionsconfiglive
    fix · optionsmrkdwn · live
    *bold*
    options applied · livelive
  3. 03

    Map links + lists

    Links become <url|text>; bullets become • glyphs.

    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.

    mappreviewscoped CSSrenderstable
    out · renderedslack · ready
    <u|t>
    • item
    rendered · liverendered
  4. 04

    Paste into Slack

    Drop into Slack — it renders natively.

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

    exportclipboard.md.htmlblob
    ✓ · exportedslack · done
    ✓ posted
    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 for Slack

Move structured content from docs into channels.

Release notes

Post README changelog snippets to #releases. 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

Standup notes

Convert daily MD notes for channel posts. 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

Incident updates

Cleanly paste runbooks into incident channels. 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 broadcasts

Tease new docs in an announce channel. 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

Onboarding

Channel-friendly onboarding checklists. 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

Webhook payloads

Pre-format text for Slack webhooks. 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

Slack's mrkdwn is intentionally limited — no heading sizes, no tables. Headings render as bold lines. Code fences and blockquotes work.
Yes — [text](url) becomes <url|text>, which Slack renders as a hyperlinked label.
Image syntax becomes a Slack-style link with the alt text as the label. Slack auto-unfurls URLs when permitted.
No — :smile: is left as-is, which Slack renders natively.
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!