Skip to content
Link

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.

Syntax
MARKDOWN
[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

An optional title can be added in double quotes after the URL. It appears as a tooltip on hover in most browsers:

MARKDOWN
[About us](https://example.com/about "Learn more about the team")

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:

MARKDOWN
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:

MARKDOWN
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.


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:

MARKDOWN
## Getting Started

Becomes an anchor with the id getting-started, which you can link to from anywhere on the same page:

MARKDOWN
[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:

MARKDOWN
[See the notes on emphasis](../02.emphasis/doc.md#combining-with-strong)

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.
Syntax
MARKDOWN
I picked this up after reading [an interview with the author](https://example.com/interview) — her perspective on the writing process is fascinating.
Output

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.
Syntax
MARKDOWN
See my notes on [meal prep](meal-prep.md) for the full list of batch-cooking ideas.
Output

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.
Syntax
MARKDOWN
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
Output

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.
Syntax
MARKDOWN
To make a reservation, [call us on 01234 567 890](tel:+441234567890) — we are available every day from 9am to 6pm.
Output

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:, and sms: to turn a simple Markdown note into a tappable contact sheet — each piece of information becomes a one-tap action on a phone.
Syntax
MARKDOWN
## 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)
Output

Contacts

Mum

07700 900123 · Text · mum@example.com

Plumber — Dave

07700 900456 · Text

GP Surgery

01234 567890 · 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.
Syntax
MARKDOWN
[Jump straight to the method](#method)

## Ingredients

...

## Method

...
Output

Jump straight to the method

Ingredients

...

Method

...

© 2026 Docizr. All rights reserved.