A broken hyperlink is a link whose URL no longer leads to the page it was meant to. The server says nothing is there, answers with an error, cannot be reached, or sends the request in circles. People also call these broken links or dead links. Most people use the words interchangeably. This page is about links on the web pages you publish, not in Excel or Word files.
What counts as broken, and what doesn’t
A link check has three kinds of outcome. Some links are broken. Some failed only this time. And some look fine to a checker but are broken for the reader.
The table shows each case, what LinkScan v2.1 shows for it, and a live case on a test page full of known broken links. The results there are the expected ones.
| What happened | Broken? | LinkScan shows | Try it |
|---|---|---|---|
| Nothing at the URL (404), or removed (410) | Yes | Broken, “Page not found” | 404, 410 |
| The domain does not exist, or the certificate is invalid | Yes | Broken, “Can’t connect” | No domain, expired certificate |
| Redirects that end at a missing page, or go in circles | Yes | Broken, with the final status, or “Redirect loop” after 10 hops | Redirect to 404, loop |
| Rate-limited (429), down for now (503), or no answer in 10 seconds | Not yet known | Unknown | 429, 503, slow |
| Blocked for checkers, fine when you click | No, for readers | Unknown for a recognised challenge; plain 403 stays Broken. Open it before changing it | Bot wall |
| A “not found” page sent with status 200 | Yes, for readers | OK: the page body is not read | Soft 404 |
| A redirect to a login page | Depends on the reader | Unknown, “Needs login” for a recognised login redirect | Login gate |
A 404 does not say whether the page is gone for good. A 410 says the page is gone, likely for good (RFC 9110, §§ 15.5.5 and 15.5.11, June 2022). A 429 means the server got too many requests in a short time (RFC 6585, April 2012). That is “not now”, not “gone”.
The last three rows are the hard ones. A checker is not a reader. LinkScan sends requests without your login, and it reads the status code, not the page. For every result and what to do with it, see what each result means and what to do.
Why links break
Most links break for one of a few reasons. Each one looks different to a checker.
- A typo in the URL. A wrong letter in the path gives a 404. A wrong letter in the domain gives “Can’t connect”.
- The page moved, or was renamed, without a redirect. The old URL now returns 404.
- The page was deleted. 404, or 410 if the site says it was removed on purpose.
- The site was rebuilt or moved to a new platform. Whole groups of URLs change at once. Old links return 404, or redirect to the home page. LinkScan flags a deep-path redirect home as Redirect, even with one hop.
- The domain lapsed. Nobody renewed it, so it no longer resolves: “Can’t connect”. Sometimes someone else buys it, and the link works but leads to a different site.
- Access is restricted. The page needs a login, is blocked in some regions, or sits behind bot protection. A checker gets 401, 403 or a redirect to a sign-in page.
- The server is down. A 5xx error, a 503 or a timeout. It may work again later.
Where the link points decides what you can do. A link to your own site can be fixed at the source: restore the page or redirect the old URL. A link to someone else’s site can only be updated or removed. See internal and external broken links.
Is a URL the same as a link?
No. The link is the element on your page: <a href="…">link text</a>. The HTML Standard says an <a> with an href creates a hyperlink (HTML Standard, § the a element, last updated 2026-10-09). The URL is the address inside the href. Its rules come from RFC 3986 (January 2005), which splits it into five parts.
A link breaks when one of those parts is wrong, or when the page behind them changes.
| Part (RFC 3986 name) | Example | What breaks here | Try it |
|---|---|---|---|
| Scheme | https: | Left out, linkscan.app/about becomes a path on the current site, and returns 404 | Scheme-less |
| Host (authority) | linkscan.app | A misspelt or lapsed domain: “Can’t connect” | No domain |
| Path | /contact/ | A renamed page. Wrong letter case on a server that treats /Contact/ and /contact/ as different pages (this site redirects it; a case-sensitive server would return 404): the path is case-sensitive (RFC 3986, § 6.2.2.1). A missing trailing slash usually costs one redirect | Uppercase, no slash, 404 |
| Query | ?utm_source=… | A different query is a different URL to a checker. A page that needs a parameter you dropped can fail | Tracking |
| Fragment | #pricing | The section is gone but the page loads. LinkScan shows OK: the fragment is never sent to the server (RFC 3986, § 3.5), and LinkScan does not look for the section | Missing anchor |
Four more points follow from the split:
- A link can have no URL. An
<a>withouthrefis a placeholder, not a hyperlink (§ the a element);href=""just reloads the page. LinkScan reports it as “Missing destination” (empty href, no href). That is one check, not an accessibility audit. - One URL can sit behind many links. A URL used in three links breaks in three places. LinkScan shows it as one row with a count of 3 (repeated link).
- Relative URLs depend on the page. The HTML Standard resolves an
hrefagainst the page it sits on (§ links). Copy../contact/to a page in another folder and it points somewhere else (path-relative). - The link text says nothing about the URL. A link can read “Pricing” and point to a 404. In the Lab’s image link, the text comes from the image’s alt.
For every part of a URL in depth, see MDN’s “What is a URL?”.
Kinds of broken links
Broken links are sorted two ways.
By where the URL points:
- Internal: to another page on your own site. You control both ends.
- External: to someone else’s site. You control only the link.
- A file behind a link: a PDF, a download or an image that a link opens. It breaks like a page does.
By what the server answered:
- Page not found: 404 or 410. Nothing is at the URL.
- Needs login: 401 or a recognised login redirect is Unknown. Access denied: a plain 403 without a login or bot-challenge signal stays Broken. Open the page before changing it.
- Server error: a 5xx code. The server failed. A 503 is “down for now”, so LinkScan shows it as Unknown.
- Can’t connect: no domain, an invalid certificate, or no route to the server.
- Redirect loop: each redirect leads back to an earlier one, so the page never arrives.
What each status code means is a topic of its own. This page stops at the groups.
How common broken links are
Pages affectedAt least one broken link or reference
- News sites
- 23%
- Government sites
- 21%
- English Wikipedia
- 54%
Links brokenShare of examined links or references
- News sites
- 5%
- Government sites
- 6%
- English Wikipedia
- 11%
Pew Research Center’s study “When Online Content Disappears” was published on 2024-05-17. It examined links on news and government pages from Common Crawl’s March/April 2023 snapshot, and in the References section of 50,000 English Wikipedia pages, as of spring 2023:
- News sites: of about 500,000 pages from 2,063 sites, 23% had at least one broken link, and 5% of all links were broken.
- Government sites: of about 500,000 pages, 21% had at least one broken link, and 6% of all links were broken.
- English Wikipedia: of 50,000 pages, 54% had at least one broken reference link, and 11% of all references could not be reached.
Pew counted a link as broken when its page no longer existed. A page whose content had changed did not count.
This decay over time is called link rot.
What to do about a broken link
This page explains broken links. These guides deal with them:
- The page you are editing: check it in your browser with LinkScan – Broken Link Checker, our extension for Chrome. It checks every link on the open page. Select text and click Check Selected Links to check only the links inside it. It reads the
<a href>links in the page itself, not in embedded frames, and it is not a crawler. - A whole site: use a crawler. See how to find broken links on a website.
- Your own URLs that return 404 to visitors and Google: see your own URLs that return 404.
- A WordPress site: see the guide for a WordPress site.
Then decide link by link: update, remove or redirect. The find guide covers how to fix what you find.
A link that works for you but answers “Access denied” to a checker is not broken for you. In LinkScan, click Mark as known: it moves to the Known issues group and leaves the counts and the badge.
Add to Chrome — free. Check every link on the page you are editing, or only the ones you select.
FAQ
Is a dead link the same as a broken link?
In practice, yes. Both mean a link whose target no longer works. Some writers keep “dead” for a link that once worked, and others use the words the other way round. There is no standard difference. Wikipedia’s Link rot article uses them as one: a link that no longer resolves “may be called broken or dead”.
Is a 404 always a broken link?
To the reader, yes: a 404 means nothing is at the URL. But a checker can get a 404 or a 403 that your browser does not. And a “not found” page can come with status 200, which a checker reports as OK (soft 404). Open the link before you change it.
Do broken links hurt SEO?
Google says 404s for URLs that should not exist do not hurt the rest of your site (Google Search Central blog, 2011; Search Console Help). The cost is elsewhere. A broken internal link stops readers, and crawlers, from reaching a page you want found. See why broken links matter.
How do I know if a link is broken?
Click it. To check every link on a page at once, use a link checker. Read its results with care. Unknown means try again later. “Access denied” is listed as Broken, but the page often works for a reader. Open both before you change anything. Then fix what you find.
Can a link work for me and be broken for others?
Yes. A page behind your login works for you and not for a logged-out reader. A page blocked in some regions works only where you are. LinkScan sends its checks logged out, so such a link shows “Access denied”, or OK with the sign-in page’s URL under the row (login gate). If the link is meant for signed-in readers, click Mark as known.
Add to Chrome — free. Check every link on the page you are editing, or only the ones you select.