escapes * _ [ ` # > and every other special char

Escape Markdown special characters

Insert literal text safely inside Markdown — backslash-escape every character that would otherwise be interpreted as formatting.

Markdown Escape
Input
110 B
5 lines
Output
123 B
5 lines
Status
ready
live
Ratio
1.12×
out/in
input · text
output · escaped
Filename: report\_v2\.md
List: \[a\] \(b\) \*c\*
Heading: \# Not a heading
Code: \`inline\`
Path: docs/getting\-started\.md
Quick Start

How to escape Markdown

Prefixes every CommonMark/GFM punctuation character with a backslash so it renders literally instead of as syntax.

  1. 01

    Paste raw text

    Filenames, code, prose — anything with * _ [ ] etc.

    Parsing runs through marked with GFM extensions enabled — tables, task lists, strikethrough, and fenced code blocks all match GitHub’s rendering.

    inputGFMmarkedCommonMarklive
    input · markdownraw · GFM
    *hi*
    loaded · GFMGFM · ready
  2. 02

    Live escape

    Each special character gets a leading backslash.

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

    regexsoft-breaksoptionsconfiglive
    out · optionsesc · live
    \*hi\*
    options applied · livelive
  3. 03

    Drop into Markdown

    The text now renders literally — no accidental bold/italic.

    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.

    safepreviewscoped CSSrenderstable
    check · renderedok · ready
    safe
    rendered · liverendered
  4. 04

    Copy or download

    Drop into your README, comment, or template.

    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
    ✓ copied
    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 escape Markdown

Prevent formatting accidents in user-supplied text.

Filenames in prose

Stop report_v2.md becoming italic on underscore. 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

API responses

Render API strings inside Markdown without surprises. 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

Comment templates

Embed user input in PR/issue comment templates safely. 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

Code samples in prose

When inline backticks aren't enough, escape every special char. 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

Generated docs

Sanitize generated tables and lists for Markdown rendering. 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

Email to Markdown

Pipe email subjects/bodies to Markdown without rendering bugs. 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

\\, \`, *, _, {, }, [, ], (, ), #, +, -, ., !, >, |, ~ — the full CommonMark/GFM punctuation set.
Yes — that's the point. Use this for literal text you want to render as-is, not for Markdown documents you want to preserve.
They're escaped too — single \\ becomes double \\\\ — so the round-trip via the Unescape tool is lossless.
Both. The escape set is identical between the two specs.
Entirely locally in your browser — escaping never touches a server.
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!