HTML Link Checker

Paste a chunk of HTML and audit every <a> tag. Detects missing href, empty link text, target="_blank" without rel="noopener", javascript: / data: schemes, malformed mailto: / tel:, duplicate hrefs, and long URLs. Live, in your browser — nothing is uploaded.

Anchors
Errors
Warnings
Duplicates

Findings

ok info warn error
Ln Sev Kind href Text Issues
Paste HTML above to begin.
How this works
  • Paste any HTML fragment with <a> tags in the box above. The auditor scans the raw text — there is no DOM round-trip and no fetch — so it works on partial HTML, Astro template fragments, MDX-in-JS strings, and the source of any framework.
  • Each row reports the line number of the anchor's opening tag, the resolved kind (internal, external, mailto, tel, anchor, javascript, data, file, protocol-relative), the link's href and visible text, and any issues found.
  • The most common issue is target="_blank" without rel="noopener": an error, because the linked page can read window.opener and redirect the originating tab. Adding noreferrer is shown as an info-level nudge (privacy, optional).
  • javascript: hrefs are flagged as errors because they execute on click; data: hrefs are warnings because some mime types are safe but most are not.
  • mailto: with no address and tel: with no number are errors (they look like valid schemes but go nowhere).
  • The Duplicates section lists every href that appears two or more times. Duplicates are not always wrong (a footer link to / shows up on every page) but they are worth noticing.
  • Counts at the top are live: paste, edit, paste again — the table updates without a button click. Everything runs locally. No server, no upload, no analytics. Once the page is loaded, it works offline.