Install Bookmend free — no account, works on your existing Chrome bookmarks
Your browser’s bookmarks folder has no quality control built in. A link you saved three years ago looks identical to one saved last week — same icon, same title, same URL. Chrome stores it without checking whether the underlying page still works. The browser trusts you to notice when something breaks.
For a small collection, that is manageable. For anything past a few dozen bookmarks, it stops being practical. A bookmark checker solves this by testing every URL automatically, reading the server’s response, and reporting which links are live and which are not. The better ones go further: they catch pages that technically respond but no longer deliver the content you saved.
This guide covers what good bookmark checking actually involves, where simple checkers fall short, and how Bookmend handles the full process. If you want to run a scan right now, install Bookmend free — setup takes about two minutes.
Why Manual Checking Does Not Scale
Opening bookmarks one by one is the obvious fallback. For 20 or 30 links, it works. You click through, note what is dead, clean up. The problem is that most people do not have 20 or 30 bookmarks. They have hundreds — accumulated over years of saving articles, documentation, tools, and reference pages — and many of those were saved with the intention of coming back to them someday rather than right away.
At that scale, manual checking stops being practical on multiple fronts. Testing 400 bookmarks at even 15 seconds per link is close to two hours of mechanical clicking. There is no natural way to track what you have checked without building a separate system. And you bring your own judgment errors to the process: a slow-loading page might seem broken when it is fine; a page that has changed substantially since you saved it might seem live when the content you wanted is gone.
The subtler problem is that manual checking gives you no reliable way to distinguish a temporary failure from a permanent one. A server that is down right now might be back in an hour after a restart or deployment. If you click it once, decide it is dead, and delete the bookmark, you may have just removed a link to a page that was temporarily unavailable. There is no built-in mechanism for checking twice before making that decision.
Automation solves all of these problems. A bookmark checker sends requests to all your URLs systematically, applies consistent rules, and returns a structured list of what is broken. The criteria do not change based on your mood or the network conditions at the moment you happen to be clicking. Every link gets the same treatment.
What a Bookmark Checker Actually Needs to Do
The minimal version of a bookmark checker sends an HTTP request to each URL and reads the response code. A 404 gets flagged dead. A 200 gets marked live. That catches a large and important category of broken links, but it leaves out several failure modes that matter in practice.
A checker that is worth relying on needs to handle the full set:
Follow redirect chains completely. A URL that sends you through a 301 redirect and lands on a live homepage is not the same as a URL that delivers the article you saved. A checker needs to follow the entire chain to its final destination and evaluate where it ends up, not just whether the initial request got a response.
Handle DNS failures as a distinct category. A domain that has expired or been dropped will not produce any HTTP response at all — the DNS lookup fails before a TCP connection is established. These failures are worth separating from HTTP errors because they almost always indicate a permanently dead link rather than a temporary problem.
Detect soft-404s. A page that returns HTTP 200 but displays a parked-domain page, a generic error message, or a redirect to an unrelated site is broken, regardless of what the status code says. Catching these requires reading the page content, not just the response header.
Separate temporary failures from permanent ones. A single failed request is not enough evidence to confirm a link is dead. Servers go down briefly, DNS propagates slowly after changes, and network conditions vary. A reliable checker needs a mechanism for confirming failures over time before drawing a conclusion.
Work at the scale of a real collection. A tool that handles 50 links cleanly but becomes slow or unreliable at 500 is not useful for maintaining bookmarks accumulated over years.
Miss any of these and the checker either generates false positives that waste your time or misses a category of dead links that leaves your collection still broken.
HTTP Status Codes: What They Tell You and What They Miss
HTTP status codes are a standardized signal embedded in every server response. Each response includes a three-digit code indicating what happened. The codes that come up most often in bookmark checking:
200 OK. The server returned a page. This is the expected code for a working URL. It confirms the server responded — it does not say whether the returned page contains the content you originally saved.
301 Moved Permanently / 302 Found. The URL has been redirected to a new location. Most checkers follow these automatically. A 301 redirect that terminates at a completely different domain is often a sign that the original content is gone and the domain has been sold or acquired.
404 Not Found. The server is running but the specific page does not exist at that path. This is the classic broken bookmark. The server is reachable but has nothing at that URL.
410 Gone. The server is explicitly reporting the resource has been permanently removed. Less common than 404, but more definitive — the server is indicating the content will not return rather than simply saying the path is currently empty.
5xx errors. Server-side errors. A single 500 is often transient. A pattern of 503 responses across multiple checks over several days is a stronger signal that the site has a persistent problem.
Connection refused, timeout, or DNS failure. No response at all, or the domain name does not resolve to any IP address. DNS failures are a particularly clear signal: they typically mean the domain itself has expired or been dropped, which is almost always a permanent condition rather than a temporary one.
Status codes handle the unambiguous cases cleanly. The harder problem is the category where the server responds successfully but the content is not actually there.
Soft-404s, Parked Domains, and the 200 That Isn’t
A soft-404 is a page the server reports as successful — HTTP 200 — but which does not contain the content you saved. A simple HTTP checker sees the 200 and marks the link as live. You click it later and find something completely different from the page you bookmarked.
Several situations produce this pattern:
Parked domains. When a domain expires or is purchased without being put to use, the registrar or new owner typically serves a page of generic advertising links. These pages load quickly, return a 200 status, and pass a status-code check with no flags raised. But the original content is gone — the domain is being used for something entirely different.
Generic error pages with 200 status. Some websites — particularly older ones built before consistent HTTP practices were standard — render their “page not found” message with a 200 status code rather than a proper 404. The HTTP layer says success; the page content says the path does not exist. A checker that stops at the status code misses these entirely.
Mass-migration artifacts. A site moves to a new platform or restructures its URL scheme. Rather than returning a 404 for every old path, it sets up a catch-all redirect from all unknown URLs to the new homepage. Your checker follows the redirect, receives a 200 from the homepage, and marks the link as live. The specific content you saved is not accessible at any URL, but the check passed.
Acquired domain redirects. A startup shuts down, its domain is purchased by a competitor or domain squatter, and all old URLs redirect to the acquirer’s site. The response is 200, but none of the original content exists at the destination.
Detecting these cases requires reading and analyzing the page content, not just counting on the response code. A checker that parses the returned HTML for parked-domain patterns, thin advertising content, or generic error templates will catch these cases; a status-code-only checker will not.
For more on how these failure modes build up in a real bookmark collection over time, the bookmark rot guide covers the broader picture. The rot-check tool is also useful for a fast overview of your collection’s size and age before running a full dead-link check.
The Two-Check Rule: Why 48 Hours Between Checks Matters
The most consequential design decision in any bookmark checker is what it takes to declare a link dead. Getting this wrong in either direction creates problems. Mark too aggressively and you spend time chasing links that were temporarily unavailable and came back on their own. Mark too conservatively and genuinely dead links accumulate without being flagged.
The approach that avoids most false positives is requiring two independent failures, separated by at least 48 hours, before marking a link as confirmed dead.
Why two failures? A server that is unreachable at a given moment may be in a scheduled maintenance window, handling a surge in traffic, or recovering from a brief hardware issue. These situations typically resolve within a few hours. A second independent check two days later, if it also fails, is substantially more reliable evidence of a real problem than a single snapshot in time.
Why 48 hours specifically? DNS propagation — the time it takes for changes to a domain’s DNS records to spread across all resolvers globally — can take up to 48 hours to complete. A domain that recently moved hosting providers or changed its DNS configuration may appear unreachable from certain locations while resolving fine from others during that window. Waiting 48 hours allows propagation to settle before any conclusion is drawn.
What the tradeoff looks like in practice. The cost is that you do not get instant verdicts. A link that fails today shows up as uncertain. If it fails again two days later, it becomes confirmed dead. For the use case of periodic bookmark maintenance — not real-time monitoring — this delay is not a practical problem. You run the check, wait for the two-check window to close, and then work through the confirmed dead list. The benefit is that the list you act on contains almost no false positives, which makes it genuinely useful rather than a pile of noise to sort through.
How Bookmend Checks Your Bookmarks
Bookmend is a free Chrome extension that applies the full process described above to your existing Chrome bookmark collection. Install it from the Chrome Web Store — no account required, no migration of your bookmarks, and no upload of your data to an external server. The checks run as direct HTTP requests from your browser, on the same network path as if you had clicked each link yourself.
What happens during a check:
Bookmend sends a request to each bookmarked URL and reads the full response — status code, response headers, and page content. It follows redirect chains to their final destination. It checks DNS resolution independently of the HTTP layer so that DNS failures are identified as a distinct category. It parses the returned HTML for soft-404 signals: parked-domain content, generic error templates, and pages that have been redirected to a completely unrelated domain.
Any link that fails its first check is queued for a second check at least 48 hours later before being marked as confirmed dead. Links that fail once appear in an uncertain state. Links that fail on both checks move to confirmed dead.
There is no limit on collection size. Bookmend works through your full Chrome bookmark tree — every folder and subfolder — whether you have 200 bookmarks or several thousand. Once a check cycle is complete, results are organized by status: live, confirmed dead, and uncertain. You can filter by folder if you want to work through a specific part of your collection first.
Recovery After the Check
Identifying dead links is only half the work. Bookmend offers two options for handling confirmed dead bookmarks.
Wayback Machine recovery. The Internet Archive has been crawling and saving public web pages since the mid-1990s. For many dead links — particularly from pages that were publicly accessible when you saved them — an archived snapshot exists. Bookmend queries the archive to find the snapshot closest to the date you originally saved the bookmark, not simply the most recent snapshot available. This matters because the most recent snapshot might predate the version you used by years, or it might be a later version that changed substantially after you saved it. One click opens the archived version in your browser.
Deletion. Some dead links are simply no longer needed. A product page for a discontinued service, an article from a publication that closed, documentation for a tool you stopped using — these can be removed. The check provides the list; the decision about what is still worth keeping is yours.
Beyond the dead-link list itself, a check session is a natural time to address the other maintenance work that accumulates in any bookmark collection over years: duplicate URLs saved under different titles, bookmarks filed under the wrong folder, and links that landed in the root folder because they were saved quickly and never organized. Bookmend surfaces duplicates alongside dead links so that both can be addressed in a single session without running separate processes.
Keeping Your Collection in Shape Over Time
Bookmark rot is gradual by nature. A collection does not go from healthy to largely broken overnight — it happens over months and years as the web changes under the links you saved. Pages are deleted. Domains lapse and are not renewed. Sites restructure their URLs without redirecting old paths. Each change breaks a handful of links, and without a periodic check, those failures build up invisibly.
Running a full check once gives you the current state of your collection. Running checks on a regular schedule catches accumulation before it makes the collection too unreliable to be useful as a reference.
A reasonable cadence for most people is once or twice a year. More frequent checks make sense if you maintain a large collection that you rely on actively for research or work. Less frequent is fine if your bookmarks are more of an archive you return to occasionally. The important thing is having a repeatable process rather than a one-time cleanup that gradually becomes outdated.
If you want to get a quick sense of your collection’s size and age first, the bookmark rot guide and the rot-check tool are good starting points — the rot-check tool works from a bookmarks.html export without any installation. For the full dead-link detection process — 404s, DNS failures, soft-404s, and parked domains with the two-check confirmation — the Bookmend extension is the tool that handles it end to end.
Install Bookmend free — Chrome Web Store.
Frequently asked questions
A bookmark checker is a tool that sends HTTP requests to every URL in your browser's bookmarks folder and reports which ones are still reachable. A thorough checker also detects soft-404s, DNS failures, and parked domains — not only standard 404 errors — and requires multiple failed checks before marking a link as dead.
Pages are deleted, domains expire, sites restructure their URL schemes, or companies shut down without redirecting old links. The web has no mechanism for permanent URLs. A link that worked when you saved it may return a 404, redirect to a homepage, or DNS-fail entirely if the domain was not renewed.
A soft-404 is a page that returns a 200 HTTP status but does not contain the expected content — for example, a parked domain page, a generic site-wide error message, or a redirect to an unrelated homepage. Simple HTTP checkers miss soft-404s because they see a 200 response and assume the link is live.
The two-check rule means a link is only marked as dead after failing two independent checks at least 48 hours apart. A single failure could be a maintenance window, a brief server outage, or DNS propagation in progress. Requiring a second failure two days later filters out those temporary conditions and significantly reduces false positives.
Yes. Bookmend is a free Chrome extension with no paid tier. There is no account required, no bookmark limit, and no trial period — the full feature set is available from the first install.
No. Bookmend checks links by sending HTTP requests directly from your browser, the same way clicking a link would. Your bookmark data stays in Chrome and is not transmitted to any external server. The checking is entirely local and on-device.
There is no limit. Bookmend works through your full Chrome bookmark tree — all folders and subfolders — regardless of collection size, whether that is 200 bookmarks or several thousand.
Bookmend detects four categories of failure: HTTP 404 errors (the page does not exist at that path), DNS failures (the domain no longer resolves to any IP address), parked domains (expired or squatted domains showing generic advertising content), and soft-404 redirects (pages returning 200 but delivering unrelated or error content instead of the original page).
Confirmed dead bookmarks are shown with their failure type. For each one, Bookmend offers one-click recovery to the closest Wayback Machine snapshot to the date you originally saved the bookmark — not just the most recent snapshot available. If no archived snapshot exists, Bookmend tells you directly rather than substituting an unrelated page.
When you choose to recover a dead bookmark, Bookmend queries the Internet Archive for snapshots of that URL. It identifies the snapshot nearest to your original save date, which is more likely to match the version of the page you actually used. One click opens that archived version in your browser.
A parked domain is one that has been registered or acquired but not used for real content — the owner instead serves a page of generic advertising links. These pages return a 200 HTTP status and load quickly, so a status-code checker marks them as live. Detecting them requires analyzing the returned page content for patterns associated with parking pages.
A website link checker scans the outgoing links on a page or site to find broken ones — it is a tool for webmasters. A bookmark checker scans the URLs saved in your browser's bookmarks folder — it is a tool for individuals managing a personal collection.
Once or twice a year is a practical cadence for most people. Link decay is gradual — collections do not go from healthy to mostly broken overnight. Regular checks catch the steady accumulation of dead links before they make the collection unreliable.
Yes. In addition to dead-link detection, Bookmend identifies duplicate bookmarks — URLs that appear more than once in your collection, sometimes under different titles. Duplicates and dead links can both be addressed in the same session.
No. Bookmend installs from the Chrome Web Store and works immediately with your existing Chrome bookmarks. There is no sign-up, no account creation, and no data migration required. The only permission it requests is access to your Chrome bookmarks folder.

