Any ASCII punctuation character may be backslash-escaped:
\!\"\#\$\%\&\'\(\)\*\+\,\-\.\/\:\;\<\=\>\?\@\[\\\]\^\_\`\{\|\}\~
<p>!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~</p>
Backslashes before other characters are treated as literal backslashes:
Escaped characters are treated as regular characters and do not have their usual Markdown meanings:
\*not emphasized*
\<br/> not a tag
\[not a link](/foo)
\`not code`
1\. not a list
\* not a list
\# not a heading
\[foo]: /url "not a reference"
\ö not a character entity
<p>*not emphasized*
<br/> not a tag
[not a link](/foo)
`not code`
1. not a list
* not a list
# not a heading
[foo]: /url "not a reference"
&ouml; not a character entity</p>
If a backslash is itself escaped, the following character is not:
A backslash at the end of the line is a hard line break:
Backslash escapes do not work in code blocks, code spans, autolinks, or raw HTML:
<https://example.com?find=\*>
<p><a href="https://example.com?find=%5C*">https://example.com?find=\*</a></p>
But they work in all other contexts, including URLs and link titles, link references, and info strings in fenced code blocks: