Syntax
<a href="url">Link Text</a>Examples
Basic Links
Different types of basic hyperlinks including external, internal, and email links.
<!-- External website -->
<a href="https://www.example.com">Visit Example</a>
<!-- Internal page -->
<a href="/about.html">About Us</a>
<!-- Email link -->
<a href="mailto:info@example.com">Send Email</a>
<!-- Phone link -->
<a href="tel:+1234567890">Call Us</a>Link Targets
Controlling how links open using the target attribute for different behaviors.
<!-- Opens in new tab -->
<a href="https://www.example.com" target="_blank">New Tab</a>
<!-- Opens in same tab (default) -->
<a href="https://www.example.com" target="_self">Same Tab</a>
<!-- With security attributes -->
<a href="https://www.example.com" target="_blank" rel="noopener noreferrer">Secure External Link</a>Anchor Navigation
Creating jump links that navigate to specific sections within the same page.
<!-- Navigation menu -->
<nav>
<a href="#section1">Section 1</a>
<a href="#section2">Section 2</a>
<a href="#section3">Section 3</a>
</nav>
<!-- Target sections -->
<section id="section1">
<h2>Section 1</h2>
<p>Content here...</p>
<a href="#top">Back to Top</a>
</section>Styled Button Links
Transforming links into button-like elements using CSS styling for better visual hierarchy.
<a href="/signup" style="display: inline-block; background: #007bff; color: white; padding: 12px 24px; text-decoration: none; border-radius: 6px; font-weight: bold;">Sign Up Now</a>
<a href="/learn-more" style="display: inline-block; background: transparent; color: #007bff; padding: 12px 24px; text-decoration: none; border: 2px solid #007bff; border-radius: 6px; font-weight: bold;">Learn More</a>Attributes
- href (URL): Specifies the destination URL or anchor
- target (string): Where to open the link (_blank, _self, _parent, _top)
- rel (string): Relationship between current and linked document
- download (string): Prompts download instead of navigation
- title (string): Tooltip text shown on hover
Best practices
- Always use descriptive link text - avoid "click here" or "read more" without context
- Add rel="noopener noreferrer" when using target="_blank" for security
- Use meaningful title attributes to provide additional context for users
- Ensure links have sufficient color contrast and are distinguishable from regular text
- Test keyboard navigation - links should be accessible via Tab key
- Consider adding visual indicators for external links or downloads
Browser compatibility
Support applies to the named feature, not every attribute or behaviour in this article. Versions refer to browsers, not operating systems.
<a>
Desktop
- Chrome
- Supported
From 1 - Firefox
- Supported
From 1 - Safari
- Supported
From 1 - Edge
- Supported
From 12 - Opera
- Supported
From 15
Mobile
- Safari on iOS
- Supported
From 1 - Chrome for Android
- Supported
From 18 - Firefox for Android
- Supported
From 4 - Samsung Internet
- Supported
From 1.0
MDN BCD record for this feature · MDN reference
Support history and limitations
Chrome
- From 1
Firefox
- From 1 · Starting with Firefox 41, <a> without href attribute is no longer classified as interactive content: clicking it inside <label> will activate labelled content (bug 1167816).
Safari
- From 1
Edge
- From 12
Opera
- From 15
Safari on iOS
- From 1
Chrome for Android
- From 18
Firefox for Android
- From 4 · Starting with Firefox for Android 41, <a> without href attribute is no longer classified as interactive content: clicking it inside <label> will activate labelled content (bug 1167816).
Samsung Internet
- From 1.0
<a> href
Desktop
- Chrome
- Supported
From 1 - Firefox
- Supported
From 1 - Safari
- Supported
From 1 - Edge
- Supported
From 12 - Opera
- Supported
From 15
Mobile
- Safari on iOS
- Supported
From 1 - Chrome for Android
- Supported
From 18 - Firefox for Android
- Supported
From 4 - Samsung Internet
- Supported
From 1.0
MDN BCD record for this feature
Support history and limitations
Chrome
- From 1
Firefox
- From 1
Safari
- From 1
Edge
- From 12
Opera
- From 15
Safari on iOS
- From 1
Chrome for Android
- From 18
Firefox for Android
- From 4
Samsung Internet
- From 1.0
<a> target
Desktop
- Chrome
- Supported
From 1 - Firefox
- Supported
From 1 - Safari
- Supported
From 1 - Edge
- Supported
From 12 - Opera
- Supported
From 15
Mobile
- Safari on iOS
- Supported
From 1 - Chrome for Android
- Supported
From 18 - Firefox for Android
- Supported
From 4 - Samsung Internet
- Supported
From 1.0
MDN BCD record for this feature
Support history and limitations
Chrome
- From 1
Firefox
- From 1
Safari
- From 1
Edge
- From 12
Opera
- From 15
Safari on iOS
- From 1
Chrome for Android
- From 18
Firefox for Android
- From 4
Samsung Internet
- From 1.0
<a> rel
Desktop
- Chrome
- Supported
From 1 - Firefox
- Supported
From 1 - Safari
- Supported
From 1 - Edge
- Supported
From 12 - Opera
- Supported
From 15
Mobile
- Safari on iOS
- Supported
From 1 - Chrome for Android
- Supported
From 18 - Firefox for Android
- Supported
From 4 - Samsung Internet
- Supported
From 1.0
MDN BCD record for this feature · MDN reference
Support history and limitations
Chrome
- From 1
Firefox
- From 1
Safari
- From 1
Edge
- From 12
Opera
- From 15
Safari on iOS
- From 1
Chrome for Android
- From 18
Firefox for Android
- From 4
Samsung Internet
- From 1.0
<a> download
Desktop
- Chrome
- Supported
From 14 - Firefox
- Supported
From 20 - Safari
- Supported
From 10.1 - Edge
- Supported
From 18 - Opera
- Supported
From 15
Mobile
- Safari on iOS
- Supported
From 13 - Chrome for Android
- Supported
From 18 - Firefox for Android
- Supported
From 20 - Samsung Internet
- Supported
From 1.0
MDN BCD record for this feature
Support history and limitations
Chrome
- From 14 · Starting in Chrome 65, cross-origin downloads are not supported on the <a> element.
Firefox
- From 20
Safari
- From 10.1
Edge
- From 18 · Starting in Edge 79, cross-origin downloads are not supported on the <a> element.
- From 13 · Removed in 18 · Last supported version: 17 · Partial implementation · Until Edge 14 (build 14357), attempting to download data URIs caused Edge to crash (bug 7160092). · Edge 17 or older didn't follow the attributes' value to determine filename (bug 7260192).
Opera
- From 15 · Starting in Opera 52, cross-origin downloads are not supported on the <a> element.
Safari on iOS
- From 13
Chrome for Android
- From 18 · Starting in Chrome Android 65, cross-origin downloads are not supported on the <a> element.
Firefox for Android
- From 20 · The attribute's filename value only affects the suggested file name for the blob: and data: URI schemes. Other schemes ignore the suggested filename. See bug 1845642.
Samsung Internet
- From 1.0 · Starting in Samsung Browser 9.0, cross-origin downloads are not supported on the <a> element.
title
Desktop
- Chrome
- Supported
From 1 - Firefox
- Supported
From 1 - Safari
- Supported
By 4 (possibly earlier) - Edge
- Supported
From 12 - Opera
- Supported
From 15
Mobile
- Safari on iOS
- Supported
By 3.2 (possibly earlier) - Chrome for Android
- Supported
From 18 - Firefox for Android
- Supported
From 4 - Samsung Internet
- Supported
From 1.0
MDN BCD record for this feature · MDN reference
Support history and limitations
Chrome
- From 1
Firefox
- From 1
Safari
- By 4 (possibly earlier)
Edge
- From 12
Opera
- From 15
Safari on iOS
- By 3.2 (possibly earlier)
Chrome for Android
- From 18
Firefox for Android
- From 4
Samsung Internet
- From 1.0
<a> rel · noopener
Desktop
- Chrome
- Supported
From 49 - Firefox
- Supported
From 52 - Safari
- Supported
From 10.1 - Edge
- Supported
From 79 - Opera
- Supported
From 36
Mobile
- Safari on iOS
- Supported
From 10.3 - Chrome for Android
- Supported
From 49 - Firefox for Android
- Supported
From 52 - Samsung Internet
- Supported
From 5.0
MDN BCD record for this feature · MDN reference
Support history and limitations
Chrome
- From 49
Firefox
- From 52 · Before Firefox 63, rel="noopener" created windows with all features disabled by default. Starting with Firefox 63, these windows have the same features enabled by default as any other window.
Safari
- From 10.1
Edge
- From 79
Opera
- From 36
Safari on iOS
- From 10.3
Chrome for Android
- From 49
Firefox for Android
- From 52 · Before Firefox for Android 63, rel="noopener" created windows with all features disabled by default. Starting with Firefox for Android 63, these windows have the same features enabled by default as any other window.
Samsung Internet
- From 5.0
<a> rel · noreferrer
Desktop
- Chrome
- Supported
From 16 - Firefox
- Supported
From 33 - Safari
- Supported
From 5 - Edge
- Supported
From 13 - Opera
- Supported
From 15
Mobile
- Safari on iOS
- Supported
From 4.2 - Chrome for Android
- Supported
From 18 - Firefox for Android
- Supported
From 33 - Samsung Internet
- Supported
From 1.5
MDN BCD record for this feature · MDN reference
Support history and limitations
Chrome
- From 16
Firefox
- From 33
Safari
- From 5
Edge
- From 13
Opera
- From 15
Safari on iOS
- From 4.2
Chrome for Android
- From 18
Firefox for Android
- From 33
Samsung Internet
- From 1.5
<a> implicit noopener
Desktop
- Chrome
- Supported
From 88 - Firefox
- Supported
From 79 - Safari
- Supported
From 12.1 - Edge
- Supported
From 88 - Opera
- Supported
From 74
Mobile
- Safari on iOS
- Supported
From 12.2 - Chrome for Android
- Supported
From 88 - Firefox for Android
- Supported
From 79 - Samsung Internet
- Supported
From 15.0
MDN BCD record for this feature
Support history and limitations
Chrome
- From 88
Firefox
- From 79
Safari
- From 12.1
Edge
- From 88
Opera
- From 74
Safari on iOS
- From 12.2
Chrome for Android
- From 88
Firefox for Android
- From 79
Samsung Internet
- From 15.0
MDN BCD 8.1.5 · Dataset built 2026-10-08 · Mapping reviewed 2026-10-21. These dates are not individual browser-test or claim-verification dates. Unknown means the data does not establish support.