Adding links is one of the most fundamental Markdown skills. There are several ways to do it — inline, reference-style, automatic, and image links. This guide covers all of them.
Basic Inline Link
The standard link syntax wraps the display text in square brackets and the URL in parentheses:
[Visit Markdown Monk](https://markdownmonk.com)
Output: Visit Markdown Monk
The text inside [] is what the reader sees and clicks. The URL inside () is the destination. Simple.
Link with a Title (Tooltip)
Add a quoted string after the URL for a title that appears on hover:
[Markdown Guide](https://markdownmonk.com "Free online Markdown editor")
The title shows as a tooltip when the cursor hovers over the link. It’s optional but useful for accessibility and context.
Reference-Style Links
For long URLs or links used multiple times, reference-style keeps your text readable:
The [Markdown Monk][mm] editor supports all common syntax.
For syntax help, see the [Markdown cheat sheet][cheatsheet].
[mm]: https://markdownmonk.com
[cheatsheet]: https://markdownmonk.com/blog/markdown-cheat-sheet
The references at the bottom can go anywhere in the document — end of section, end of file. The identifier in [] is case-insensitive.
Shortened reference links also work when the reference label matches the link text:
[Markdown Monk][]
[Markdown Monk]: https://markdownmonk.com
Automatic Links
Wrap a URL or email in angle brackets to auto-link it:
<https://markdownmonk.com>
<hello@example.com>
Output: https://markdownmonk.com — displayed as the raw URL but clickable.
Many Markdown parsers also auto-link bare URLs without the angle brackets. GitHub, for example, linkifies https://example.com in plain text. This behavior is parser-dependent, so use angle brackets when you need reliability.
Email Links
[Email us](mailto:hello@example.com)
Or with the auto-link syntax:
<hello@example.com>
The mailto: prefix tells the browser to open an email client instead of navigating to a URL.
Relative Links
Links don’t have to be full URLs. Relative links work for navigation within a site or document set:
[Go to the cheat sheet](/blog/markdown-cheat-sheet)
[Back to homepage](/)
[See the image](../images/diagram.png)
Relative links are resolved from the location of the current document.
Image Links
Wrap an image in a link by combining both syntaxes — the image is the clickable element:
[](https://markdownmonk.com)
The ![]() image syntax sits inside the [] of the link syntax. Click the image → navigate to the URL.
Anchor Links (Jump to Section)
Link to a heading on the same page using a fragment identifier. Most Markdown renderers automatically create IDs from heading text:
[Jump to Tables section](#tables)
[Back to the top](#)
The heading ## Tables generates the ID tables. Rules for automatic IDs:
- Convert to lowercase
- Replace spaces with hyphens
- Remove most punctuation
So ## How to Add Links in Markdown becomes #how-to-add-links-in-markdown.
Links Inside Tables
| Tool | URL |
|---|---|
| Markdown Monk | [markdownmonk.com](https://markdownmonk.com) |
| GitHub | [github.com](https://github.com) |
Full inline link syntax works inside table cells.
Links Inside Blockquotes
> For more information, see [the full syntax guide](/blog/markdown-cheat-sheet).
All inline formatting — links included — works inside blockquotes.
Common Mistakes
Spaces in URLs — URLs with spaces must be percent-encoded: my%20file.pdf instead of my file.pdf. Some parsers handle this; many don’t.
Missing square brackets — (https://example.com) without [] is not a link. The brackets are required.
Broken relative paths — Relative links only work when the document is rendered in the right context. A ./images/photo.jpg link that works locally may break when published.
Try Link Syntax
Paste any of these examples into the Markdown Monk editor to see them rendered and export to your preferred format.