How to Audit PDFs for Broken Links

Most teams check their web pages for broken links. Almost none check their PDFs.

That's a significant blind spot. PDFs sit outside the reach of standard crawlers, accumulate outbound links over years and rarely get updated after publish. The result: dead links hiding in plain sight, inside white papers, compliance documents, annual reports and published policy files while your web audit tools report everything as clean.

This guide covers how to audit PDFs for broken links: the manual method, where it breaks down at scale and how to automate the process so broken links in PDF documents get caught before they cause real damage.


Accessibility

Broken links directly undermine document accessibility. Under WCAG 2.1 Success Criterion 2.4.4, links should serve a clear purpose and a link that returns a 404 serves none. For screen reader users navigating a PDF by link list, a broken URL is a dead end with no recourse. Organizations subject to the ADA, EN 301 549 or the UK Equality Act 2010 face legal exposure when published documents contain non-functional links that block access to referenced content.

Compliance

In regulated sectors (legal, financial services, government, healthcare), PDFs are often the official record. A statutory report, regulatory submission or published policy document with a broken citation URL doesn't just look careless; it calls the document's integrity into question. Auditors and regulators notice. So do opposing counsel.

Trust

A broken link in a proposal, white paper or published research tells the reader, immediately and silently, that the document hasn't been maintained. It signals that nobody checked. In competitive situations or high-stakes communications, that's credibility you won't get back.

PDF annual-report-2025.pdf
https://example.com/policy 200 OK
https://example.com/guidelines 200 OK
https://old-site.com/resource 404
https://example.com/contact 200 OK
https://deprecated.org/standard 410

Unlike web pages, PDFs are static artifacts. Once published, they sit on a server and age. The URLs inside them do not age as gracefully.

  • Restructured destinations. The page a link points to gets moved, renamed or absorbed into a new site architecture without a redirect.
  • Domain deaths. External sites go offline entirely or change ownership and URL structure.
  • No update cycle. Web pages get edited. PDFs almost never do. A link that worked at publication may have rotted quietly for years by the time anyone notices.
  • Volume and velocity of link rot. Research published by Harvard Law School's Perma.cc project found that a significant proportion of URLs cited in legal scholarship and court opinions are no longer accessible at their original addresses, a pattern that generalizes across professional publishing.

The longer a PDF has been live, the more likely it contains at least one broken link. For organizations with large document libraries, this is a certainty.


How to Audit PDFs for Broken Links Manually

This method works. It's tedious, but it's thorough and understanding it makes clear exactly why automation matters at scale.

1

Find all PDFs on your site

Use a crawler such as Screaming Frog, Sitebulb or similar, filtered to .pdf file extensions. Alternatively, use a Google search operator: site:yourdomain.com filetype:pdf. Export the list as a spreadsheet. Don't forget subdirectories, microsites and any CDN-hosted document libraries.

2

Extract links from each PDF

Open each PDF in Adobe Acrobat and navigate to Edit > Links to view embedded hyperlinks. For a faster approach, use the command-line tool pdftotext (part of Poppler) to extract document text, then grep for URL patterns. Dedicated tools like PDF Link Extractor can also pull all hyperlinks in bulk. This step is where manual effort starts to compound: a 60-page policy document may contain dozens of embedded URLs, some of which are not visible as underlined text.

3

Test each URL

Paste URLs individually into a browser or run the full list through a bulk URL checker (Ahrefs Broken Link Checker, Dead Link Checker or a simple Python script using the requests library). Record the HTTP status code for each: 200 means live, 301/302 means redirected (check the destination), 404 means not found, 410 means permanently gone.

4

Log results

Maintain a spreadsheet with these columns at minimum: PDF filename, page number, URL found, HTTP status code, action required. Being specific about page number matters. Going back to page 47 of a 90-page report to fix a single link without a precise reference wastes significant time.

5

Fix or redirect

For URLs you control, set up 301 redirects at the destination so existing PDF links resolve correctly without requiring a new PDF publish. For external links, the only options are to update the PDF, add an archived version link (e.g. via the Wayback Machine) or annotate the document to flag the reference as historical.

PDF Name Page URL Status Action
annual-report-2025.pdf 4 https://example.com/policy 200 None
annual-report-2025.pdf 12 https://old-partner.org/resources 404 Update link
compliance-handbook.pdf 7 https://regulator.gov/standards/v2 200 None
compliance-handbook.pdf 23 https://deprecated-api.com/docs 410 Remove or archive

Where Manual Audits Fall Short

The manual method above is genuine and complete. For a small document library, say fewer than 20 PDFs with moderate link counts, it's a reasonable quarterly task.

It stops being reasonable quickly.

  • Time. Twenty PDFs with ten links each is 200 URLs to extract, record and test manually. A hundred PDFs is a full working week.
  • Scale. Large organizations (government departments, law firms, financial publishers) manage hundreds or thousands of PDFs across multiple domains and intranets. No spreadsheet survives contact with that volume.
  • Repeatability. A one-time audit is already stale by the time it's finished. Links break continuously. A URL that returned 200 in January may return 404 in March, with no signal until a user or auditor finds it.
  • No alerting. Manual audits have no early warning system. You find out a link broke when someone complains, via a support ticket, an accessibility report or, in regulated contexts, a formal audit finding.
  • Human error. Links on page 2 are easy to catch. Links embedded in footnotes on page 47 of a dense technical report are not.

This is exactly the gap generic web link checkers don't fill. They crawl HTML pages and follow anchor tags. The content inside PDF files, their embedded hyperlinks, is invisible to them. Check your links inside PDF files and your standard crawler returns nothing useful. That's not a configuration issue; it's a fundamental architectural limitation of tools built for the web, not for documents.


How DocLinkWatch Automates PDF Link Auditing

DocLinkWatch is built specifically for what generic crawlers miss: the links inside PDF documents.

Connect and scan

Point DocLinkWatch at your domain. It discovers all PDF files, extracts every embedded hyperlink from every page and tests each URL, returning status codes, redirect chains and timeout flags.

Actionable reports

Results surface as a structured report: which web page, which PDF, which URL, what status code. No digging through crawler logs or spreadsheet exports.

Automated monitoring

Unlike a one-time audit, DocLinkWatch runs on a weekly schedule. When a link breaks because an external site restructured, a page was deleted or a domain lapsed, you get an alert immediately, not months later when a regulator or user finds it first.

The contrast with the manual method isn't about capability. Manual audits find broken links. It's about whether your team can sustain the process at the scale and frequency the problem actually demands.


FAQ

How do I find broken links inside a PDF?

The manual approach: open the PDF in Adobe Acrobat, use the Links panel to extract URLs, then test each one with a browser or bulk URL checker and log results in a spreadsheet. For larger document libraries, a dedicated broken link checker for PDFs like DocLinkWatch automates extraction and testing across all your files simultaneously.

Does Google crawl links inside PDF files?

Yes. Google can index text and follow hyperlinks inside PDFs that are accessible to Googlebot. However, standard SEO crawlers and link-checking tools do not extract or test links embedded in PDFs. For a complete PDF links audit, you need a tool that specifically handles PDF content, not just HTML pages.

Can broken PDF links affect accessibility compliance?

Yes. Under WCAG 2.1 Success Criterion 2.4.4, links should have a clear, functional purpose. A broken link fails this criterion. For organizations subject to ADA (US), EN 301 549 (EU) or the UK Equality Act, broken links in published PDFs can constitute an accessibility failure and create legal exposure, particularly in documents intended for public access.

What is the best broken link checker for PDFs?

General-purpose web crawlers (Screaming Frog, Ahrefs) do not check links inside PDF content. For dedicated PDF link checking, DocLinkWatch is built specifically for this: it crawls PDFs, extracts embedded hyperlinks, tests each URL and delivers a structured report with page-level detail, with automated weekly monitoring included.


Conclusion

PDFs are a consistent blind spot in link auditing. Standard web crawlers don't reach inside them, link rot accelerates with every year a document stays published and the consequences (accessibility failures, compliance findings, damaged credibility) are real.

The manual audit method above works and for a small document library it's a legitimate place to start.

Start with the manual audit above if you have a small number of PDFs. Work through the five steps, log your results and fix what's broken.

If you manage more than a handful of PDFs, especially across multiple domains or in a regulated sector, the manual approach won't hold. Try DocLinkWatch and check your PDFs for broken links automatically. Run your first scan free.

Start monitoring your PDFs today

Automated weekly scans, email reports, and a dashboard to triage every broken link.

Start Free
Back to Blog