A link creates a navigable reference to a URL, an email address, or an anchor within the same document. The standard inline form wraps the visible text in square brackets followed by the URL in parentheses. A reference-style form separates the URL into a definition placed elsewhere in the document.
[Visit the site](https://example.com)
[Contact us](mailto:hello@example.com)
Best Practice
- Write descriptive link text — 'read the full guide' is more useful to readers than 'click here'.
- Use reference-style links when the same URL appears multiple times, or when a long URL would clutter the prose.
Notes
Link Titles
An optional title can be added in double quotes after the URL. It appears as a tooltip on hover in most browsers:
[About us](https://example.com/about "Learn more about the team")
Reference-Style Links
A reference-style link separates the URL into a labelled definition, placed anywhere in the document (typically at the bottom). This serves two distinct purposes.
Making a URL reusable — define one URL under a label and point to it from multiple places in the document, each with its own display text:
The [guesthouse][bruges-stay] was wonderful, and I have already recommended it to [a friend][bruges-stay].
[bruges-stay]: https://example.com/guesthouse "The Old Lace House, Bruges"
Only the URL definition needs updating if the link ever changes — all references update automatically.
Making a label reusable as link text — when the display text matches the label exactly, you can use the implicit shortcut form [Label][] or simply [Label]. The label becomes both the display text and the reference:
For baking advice I rely on [Lemon Drizzle Kitchen][] — their guides are clear and well-tested.
I have recommended [Lemon Drizzle Kitchen][] to everyone I know.
[Lemon Drizzle Kitchen]: https://example.com/lemon-drizzle-kitchen
The definition can appear anywhere in the document — typically collected at the bottom.
URI Schemes
Markdown passes the URL portion of a link through to the output unchanged, so any valid URI scheme works — not just https://. Common schemes authors use:
| Scheme | Example | Effect |
|---|---|---|
mailto: |
[Email us](mailto:hello@example.com) |
Opens the reader's mail client with the address pre-filled. |
tel: |
[Call us](tel:+441234567890) |
Opens the phone dialler on mobile devices. |
sms: |
[Text us](sms:+441234567890) |
Opens the SMS app on mobile devices. |
The important caveat is that the browser or operating system — not Markdown — decides what to do with a scheme. mailto: is well supported across all platforms. tel: and sms: work reliably on phones and tablets but typically do nothing useful on a desktop browser, so they are most appropriate for pages aimed at mobile readers.
Anchor Links
A link whose URL begins with # scrolls to a specific point on the same page rather than navigating away. The target is a heading or other element with a matching id attribute.
Most Markdown renderers automatically generate an id for every heading by lowercasing the text and replacing spaces with hyphens:
## Getting Started
Becomes an anchor with the id getting-started, which you can link to from anywhere on the same page:
[Jump to Getting Started](#getting-started)
For headings with punctuation, the generated id typically strips the punctuation. The exact rules vary slightly by renderer, so check the output in your target platform if a link does not scroll as expected.
Anchor links can also point to a heading on a different page by combining a relative path with the anchor:
[See the notes on emphasis](../02.emphasis/doc.md#combining-with-strong)
Autolinks
For bare URLs that should become clickable links without separate link text, see the Autolink page.
Markdown Flavour Support
Supported by all major flavours.
Flavour Support Detail
| Flavour | Support | Notes |
|---|---|---|
| Original Markdown | Yes | Inline and reference-style forms both defined in the original spec. |
| CommonMark | Yes | Precisely specifies link parsing rules including nested brackets and title forms. |
| GitHub Flavored Markdown | Yes | Inherits CommonMark; bare URLs are also auto-linked in many contexts. |
| Pandoc Markdown | Yes | Full support; also supports span attributes on links. |
Practical Examples
- Linking to a source in a book review: Add a link to an author's page or publisher so readers can follow up without having to search.
I picked this up after reading [an interview with the author](https://example.com/interview) — her perspective on the writing process is fascinating.
I picked this up after reading an interview with the author — her perspective on the writing process is fascinating.
- Cross-referencing in a personal wiki: Link between note pages to connect related ideas and avoid repeating yourself.
See my notes on [meal prep](meal-prep.md) for the full list of batch-cooking ideas.
See my notes on meal prep for the full list of batch-cooking ideas.
- Travel post with multiple references: Use reference-style links so long booking URLs do not interrupt the narrative.
We stayed at a lovely guesthouse in Bruges — [highly recommended][guesthouse] — and had the best waffles at [this little café][café].
[guesthouse]: https://example.com/guesthouse
[café]: https://example.com/cafe
We stayed at a lovely guesthouse in Bruges — highly recommended — and had the best waffles at this little café.
- Contact page with a clickable phone number: A
tel:link turns a phone number into a one-tap dialler on mobile — useful on a simple contact page or a guesthouse listing aimed at visitors browsing on their phone.
To make a reservation, [call us on 01234 567 890](tel:+441234567890) — we are available every day from 9am to 6pm.
To make a reservation, call us on 01234 567 890 — we are available every day from 9am to 6pm.
- Personal contact address book: Combine
mailto:,tel:, andsms:to turn a simple Markdown note into a tappable contact sheet — each piece of information becomes a one-tap action on a phone.
## Contacts
### Mum
[07700 900123](tel:+447700900123) · [Text](sms:+447700900123) · [mum@example.com](mailto:mum@example.com)
### Plumber — Dave
[07700 900456](tel:+447700900456) · [Text](sms:+447700900456)
### GP Surgery
[01234 567890](tel:+441234567890) · [reception@example-surgery.nhs.uk](mailto:reception@example-surgery.nhs.uk)
- Long recipe page with a jump link: A long recipe page with separate sections for ingredients and method benefits from an anchor link at the top so readers can skip straight to the part they need.
[Jump straight to the method](#method)
## Ingredients
...
## Method
...